The code is: version (UdaGNUAbiTag) struct gnuAbiTag { string[] tags; this(string[] tags...) { this.tags = tags; } } Note that tags[] is constructed on the stack, so this is creating an expired pointer on the stack, which can result in memory corruption. If the code is marked with @safe, it will not compile.
@RazvanN7 created dlang/dmd pull request #14771 "Fix Issue 23261 - druntime core.std.attribute.Tagged1_2 constructor i…" fixing this issue: - Fix Issue 23261 - druntime core.std.attribute.Tagged1_2 constructor is unsafe https://github.com/dlang/dmd/pull/14771
Yes but the code is only intended to be used as an UDA, so it shouldn't matter.
dlang/dmd pull request #14771 "Fix Issue 23261 - druntime core.std.attribute.Tagged1_2 constructor i…" was merged into master: - bac6a64dfc90820809dff2c5609f03d1bdb532e9 by RazvanN7: Fix Issue 23261 - druntime core.std.attribute.Tagged1_2 constructor is unsafe https://github.com/dlang/dmd/pull/14771