www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 20744] New: [The D Bug Tracker] UDAs on function parameters

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

          Issue ID: 20744
           Summary: [The D Bug Tracker] UDAs on function parameters
                    confuse std.traits.ParameterDefaults
           Product: D
           Version: D2
          Hardware: All
               URL: http://dlang.org/
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: dlang.org
          Assignee: nobody puremagic.com
          Reporter: jl leroy.nyc

Compiling this:

import std.traits;

struct attr;
void f( attr int);

pragma(msg, ParameterDefaults!f.stringof);

Causes:

dmd -c bug.d
bug.d(4): Error: undefined identifier `attr`, did you mean variable `ptr`?
/home/jll/dlang/dmd-2.090.1/linux/bin64/../../src/phobos/std/traits.d(1526):
Error: template instance `std.traits.ParameterDefaults!(f).Get!0LU` error
instantiating
/home/jll/dlang/dmd-2.090.1/linux/bin64/../../src/phobos/std/traits.d(1529):   
    instantiated from here: `Impl!0LU`
bug.d(6):        instantiated from here: `ParameterDefaults!(f)`
bug.d(6):        while evaluating `pragma(msg, ParameterDefaults!(f).stringof)`

--
Apr 17 2020