digitalmars.D.bugs - [Issue 12043] New: opCall does not work as template
- d-bugmail puremagic.com (33/33) Jan 30 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12043
- d-bugmail puremagic.com (13/13) Jan 30 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12043
- d-bugmail puremagic.com (7/28) Jan 30 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12043
- d-bugmail puremagic.com (19/40) Jan 30 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12043
- d-bugmail puremagic.com (8/8) Feb 01 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12043
https://d.puremagic.com/issues/show_bug.cgi?id=12043 Summary: opCall does not work as template Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: rswhite4 googlemail.com This fails with: Error: template instance f!float f is not a template declaration, it is a variable ---- import std.stdio; struct F { T opCall(T = int)(int a, int b, int c) { return cast(T)(a * b * c); } } void main() { F f; int i = f(3,4,5); float f_ = f!float(6, 7, 8); } ---- I don't see why it shouldn't work. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12043 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com Summary|opCall does not work as |opCall can only be used |template |with IFTI and cannot be | |explicitly instantiated 10:00:00 PST --- I've reworded the title a little bit. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12043This fails with: Error: template instance f!float f is not a template declaration, it is a variable ---- import std.stdio; struct F { T opCall(T = int)(int a, int b, int c) { return cast(T)(a * b * c); } } void main() { F f; int i = f(3,4,5); float f_ = f!float(6, 7, 8); } ---- I don't see why it shouldn't work.Thanks, my english is limited... :) -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12043This fails with: Error: template instance f!float f is not a template declaration, it is a variable ---- import std.stdio; struct F { T opCall(T = int)(int a, int b, int c) { return cast(T)(a * b * c); } } void main() { F f; int i = f(3,4,5); float f_ = f!float(6, 7, 8); } ---- I don't see why it shouldn't work.It also applies to opIndex and so probably to all op* methods: ---- struct F { T opIndex(T = int)(int index) { return cast(T) 0; } } void main() { F f; f[42]; f!int[42]; /// fails } ---- -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12043 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 01 2014