digitalmars.D.bugs - [Issue 23528] New: moduleName/fullyQualifiedName no longer works in
- d-bugmail puremagic.com (56/56) Nov 30 2022 https://issues.dlang.org/show_bug.cgi?id=23528
https://issues.dlang.org/show_bug.cgi?id=23528 Issue ID: 23528 Summary: moduleName/fullyQualifiedName no longer works in -betterC Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: regression Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: alphaglosined gmail.com Regression in dmd 2.101.0. Example: ```d struct Foo { } import std.traits; pragma(msg, fullyQualifiedName!Foo); ``` Also applies to moduleName. Error message: ``` /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(654): Error: none of the overloads of template `std.algorithm.searching.skipOver` are callable using argument types `!()(string, string)` /dlang/dmd/linux/bin64/../../src/phobos/std/algorithm/searching.d(4239): Candidate is: `skipOver(alias pred = (a, b) => a == b)` /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(654): Error: none of the overloads of template `std.algorithm.searching.skipOver` are callable using argument types `!()(string, string)` /dlang/dmd/linux/bin64/../../src/phobos/std/algorithm/searching.d(4239): Candidate is: `skipOver(alias pred = (a, b) => a == b)` /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(656): Error: none of the overloads of template `std.algorithm.searching.findSplit` are callable using argument types `!()(string, string)` /dlang/dmd/linux/bin64/../../src/phobos/std/algorithm/searching.d(2899): Candidate is: `findSplit(alias pred = "a == b", R1, R2)(R1 haystack, R2 needle)` with `pred = "a == b", R1 = string, R2 = string` must satisfy the following constraint: ` isForwardRange!R1` /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(646): Error: template instance `std.traits.fqnSym!(onlineapp)` error instantiating /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(842): instantiated from here: `fqnSym!(Foo)` /dlang/dmd/linux/bin64/../../src/phobos/std/traits.d(565): instantiated from here: `fqnType!(Foo, false, false, false, false)` onlineapp.d(5): instantiated from here: `fullyQualifiedName!(Foo)` onlineapp.d(5): while evaluating `pragma(msg, fullyQualifiedName!(Foo))` ``` --
Nov 30 2022