digitalmars.D.learn - Trouble with std.Variant
- ddos (14/14) Sep 18 2014 struct Vec2
- ddos (4/18) Sep 18 2014 The following code fails because Vec2.length() does not return
- =?UTF-8?B?QWxpIMOHZWhyZWxp?= (6/26) Sep 18 2014 Compiles and runs without error with dmd git head, after adding the
- Nicolas Sicard (3/33) Sep 19 2014 It shouldn't work in dmd git head. See Andrei's answer in
struct Vec2 { float[2] vec; public float length() { return sqrt(vec[0]*vec[0]+vec[1]*vec[1]); } } int main(string[] argv) { Vec2 test; Variant v = test; return 0; }
Sep 18 2014
The following code fails because Vec2.length() does not return int ... so Variant is only usable with types that do not have a method with name length() ?? i'm confused On Thursday, 18 September 2014 at 21:03:47 UTC, ddos wrote:struct Vec2 { float[2] vec; public float length() { return sqrt(vec[0]*vec[0]+vec[1]*vec[1]); } } int main(string[] argv) { Vec2 test; Variant v = test; return 0; }
Sep 18 2014
On 09/18/2014 02:06 PM, ddos wrote:The following code fails because Vec2.length() does not return int ... so Variant is only usable with types that do not have a method with name length() ?? i'm confused On Thursday, 18 September 2014 at 21:03:47 UTC, ddos wrote:Compiles and runs without error with dmd git head, after adding the following two lines: ;) import std.math; import std.variant; Alistruct Vec2 { float[2] vec; public float length() { return sqrt(vec[0]*vec[0]+vec[1]*vec[1]); } } int main(string[] argv) { Vec2 test; Variant v = test; return 0; }
Sep 18 2014
On Thursday, 18 September 2014 at 21:14:55 UTC, Ali Çehreli wrote:On 09/18/2014 02:06 PM, ddos wrote:It shouldn't work in dmd git head. See Andrei's answer in https://issues.dlang.org/show_bug.cgi?id=5501The following code fails because Vec2.length() does not return int ... so Variant is only usable with types that do not have a method with name length() ?? i'm confused On Thursday, 18 September 2014 at 21:03:47 UTC, ddos wrote:Compiles and runs without error with dmd git head, after adding the following two lines: ;) import std.math; import std.variant; Alistruct Vec2 { float[2] vec; public float length() { return sqrt(vec[0]*vec[0]+vec[1]*vec[1]); } } int main(string[] argv) { Vec2 test; Variant v = test; return 0; }
Sep 19 2014