March 19, 2014 [Issue 12410] New: non-parametrized helper function in eponymous template is not inferred | ||||
---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=12410 Summary: non-parametrized helper function in eponymous template is not inferred Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: monarchdodra@gmail.com --- Comment #0 from monarchdodra@gmail.com 2014-03-19 01:36:26 PDT --- Given: - An eponymous template - A non-parametrized function - That is not eponymous => inference is not triggered //---- template sift1(T) { void sift1() //Infered {} } template sift2(T) { void siftImpl() //*NOT* infered {} void sift2() //Infered { siftImpl(); } } void main() @safe pure nothrow { sift1!int(); //OK! sift2!int(); //FAILS! } //---- -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
March 19, 2014 [Issue 12410] non-parametrized helper function in eponymous template is not inferred | ||||
---|---|---|---|---|
| ||||
Posted in reply to monarchdodra@gmail.com | https://d.puremagic.com/issues/show_bug.cgi?id=12410 --- Comment #1 from monarchdodra@gmail.com 2014-03-19 02:01:14 PDT --- Actually, it's a bit simpler than that. All it takes is being non eponymous: template sift(T) { void impl() //Not infered {} } void main() @safe pure nothrow { sift!int.impl(); //Fails } Not sure if bug or enhancement, but I think this should work: "impl" depends on T. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation