www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24183] New: getSymbolsByUDA does no longer works on

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

          Issue ID: 24183
           Summary: getSymbolsByUDA does no longer works on templatized
                    functions
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: regression
          Priority: P1
         Component: phobos
          Assignee: nobody puremagic.com
          Reporter: b2.temp gmx.com

The following code

```d
struct operator
{
    string op;
}

 operator("∪") auto un(T,U)(T t, U u)
{
}

string translate(string s)
{
    import std.traits;
    alias funcs = getSymbolsByUDA!(mixin(__MODULE__), operator);
    static assert (funcs.length == 1);
    return "";
}

void main()
{
    mixin(" 1 ∪ 2 ".translate());
} 
```

used to work but now compilation fails with:

 /tmp/temp_7FBF1B293B70.d:14:5: Error: static assert:  `0LU == 1LU` is false
--
Oct 10 2023