April 29, 2013 [Issue 10006] New: Implicit conversion in initializers doesn't work for subtypes | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=10006 Summary: Implicit conversion in initializers doesn't work for subtypes Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: andrej.mitrovich@gmail.com --- Comment #0 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-04-29 03:30:47 PDT --- ----- struct S { float value = 0.0; alias value this; } float f = 250.0; // ok S s = 250.0; // ng void main() { } ----- Error: cannot implicitly convert expression (250.000) of type double to S I think the above should work. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
April 29, 2013 [Issue 10006] Implicit conversion in initializers doesn't work for subtypes | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=10006 --- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-04-29 03:32:28 PDT --- This does give me an idea for a DIP: struct S { float value = 0.0; alias value this; // called only when a *literal* is provided this(enum double val) { } } This would enable creating custom implicit conversions when initializing a struct with a literal of some sort. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation