www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Regression in getSymbolsByUDA :-(

reply "H. S. Teoh" <hsteoh qfbox.info> writes:
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.
Mar 12 2023
parent reply RazvanN <razvan.nitu1305 gmail.com> writes:
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.
Mar 13 2023
parent reply RazvanN <razvan.nitu1305 gmail.com> writes:
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
Mar 13 2023
parent reply "H. S. Teoh" <hsteoh qfbox.info> writes:
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)
Mar 16 2023
parent RazvanN <razvan.nitu1305 gmail.com> writes:
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!
Mar 17 2023