[Issue 23528] New: moduleName/fullyQualifiedName no longer works in -betterC
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Thu Dec  1 00:04:20 UTC 2022
    
    
  
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 at puremagic.com
          Reporter: alphaglosined at 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))`
```
--
    
    
More information about the Digitalmars-d-bugs
mailing list