[Issue 2579] New: Template function accepting a delegate with in argument doesn't compile
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Jan 10 19:01:00 PST 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2579
Summary: Template function accepting a delegate with in argument
doesn't compile
Product: D
Version: 2.023
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: rejects-valid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: snake.scaly at gmail.com
The following code:
void foo(T)(T delegate(in Object) dlg)
{
}
void bar()
{
foo( (in Object) { return 15; } );
}
does not compile:
> dmd -c bug_template_in.d
bug_template_in.d(7): template bug_template_in.foo(T) does not match any
function template declaration
bug_template_in.d(7): template bug_template_in.foo(T) cannot deduce template
function from argument types !()(int delegate(const(Object) _param_0))
Replacing both instances of 'in Object' with 'const(Object)' makes the code
compile. I think these two forms are equivalent and should both compile.
--
More information about the Digitalmars-d-bugs
mailing list