Thread overview
Regression in getSymbolsByUDA :-(
Mar 13, 2023
H. S. Teoh
Mar 13, 2023
RazvanN
Mar 13, 2023
RazvanN
Mar 16, 2023
H. S. Teoh
Mar 17, 2023
RazvanN
March 12, 2023
So, I upgraded to LDC 1.32.0 / DMD git master (9d2d21f48) today, and discovered to my chagrin that a fairly complex project of mine no longer compiles.  Tracked the problem down to a change in behaviour in std.traits.getSymbolsByUDA: it no longer fetches the list of symbols in an imported module as it used to, returning instead an empty alias list.

	 https://issues.dlang.org/show_bug.cgi?id=23776

This is a pretty major breakage as the returned list is used to construct fundamental building blocks extensively used throughout the program; this regression basically makes the entire project unusable. Git bisect reveals the offending change to be Phobos commit e305dc9f7:

	commit e305dc9f79cc98579257f588308bb2322fd843df (HEAD)
	Author: RazvanN7 <razvan.nitu1305@gmail.com>
	Date:   Fri Nov 25 11:56:38 2022 +0200

	    Fix getSymbolsByUDA by replacing broad __traits(compiles) with a more focused condition

apparently stemming from a recent effort to improve the implementation of getSymbolsByUDA.  Unfortunately, the fix failed to account for introspecting modules (which the docs explicitly say should work).

:-(


T

-- 
Recently, our IT department hired a bug-fix engineer. He used to work for Volkswagen.
March 13, 2023
On Monday, 13 March 2023 at 03:15:42 UTC, H. S. Teoh wrote:
> So, I upgraded to LDC 1.32.0 / DMD git master (9d2d21f48) today, and discovered to my chagrin that a fairly complex project of mine no longer compiles.  Tracked the problem down to a change in behaviour in std.traits.getSymbolsByUDA: it no longer fetches the list of symbols in an imported module as it used to, returning instead an empty alias list.
>
> [...]

Sorry about that, I will look into it 5 hours from now.
March 13, 2023
On Monday, 13 March 2023 at 10:38:30 UTC, RazvanN wrote:
> On Monday, 13 March 2023 at 03:15:42 UTC, H. S. Teoh wrote:
>> So, I upgraded to LDC 1.32.0 / DMD git master (9d2d21f48) today, and discovered to my chagrin that a fairly complex project of mine no longer compiles.  Tracked the problem down to a change in behaviour in std.traits.getSymbolsByUDA: it no longer fetches the list of symbols in an imported module as it used to, returning instead an empty alias list.
>>
>> [...]
>
> Sorry about that, I will look into it 5 hours from now.

PR: https://github.com/dlang/phobos/pull/8716
March 16, 2023
On Mon, Mar 13, 2023 at 01:04:51PM +0000, RazvanN via Digitalmars-d wrote:
> On Monday, 13 March 2023 at 10:38:30 UTC, RazvanN wrote:
> > On Monday, 13 March 2023 at 03:15:42 UTC, H. S. Teoh wrote:
> > > So, I upgraded to LDC 1.32.0 / DMD git master (9d2d21f48) today, and discovered to my chagrin that a fairly complex project of mine no longer compiles.  Tracked the problem down to a change in behaviour in std.traits.getSymbolsByUDA: it no longer fetches the list of symbols in an imported module as it used to, returning instead an empty alias list.
> > > 
> > > [...]
> > 
> > Sorry about that, I will look into it 5 hours from now.
> 
> PR: https://github.com/dlang/phobos/pull/8716

Tested the fix this morning on dmd git master.  Works now!  Thanks for the prompt response!!


T

-- 
People demand freedom of speech to make up for the freedom of thought which they avoid. -- Soren Aabye Kierkegaard (1813-1855)
March 17, 2023
On Thursday, 16 March 2023 at 16:30:13 UTC, H. S. Teoh wrote:
> On Mon, Mar 13, 2023 at 01:04:51PM +0000, RazvanN via Digitalmars-d wrote:
>> On Monday, 13 March 2023 at 10:38:30 UTC, RazvanN wrote:
>> > On Monday, 13 March 2023 at 03:15:42 UTC, H. S. Teoh wrote:
>> > > [...]
>> > 
>> > Sorry about that, I will look into it 5 hours from now.
>> 
>> PR: https://github.com/dlang/phobos/pull/8716
>
> Tested the fix this morning on dmd git master.  Works now!  Thanks for the prompt response!!
>
>
> T

Glad to be of assistance!