digitalmars.D.learn - inout and methods which return "this"
- Vladimir Panteleev (19/19) Sep 11 2011 What's the simplest const-correct way to write a method which returns
- Timon Gehr (2/18) Sep 11 2011 Yes, afaik inout is not functional at the moment.
- Jonathan M Davis (3/4) Sep 12 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3748
- Steven Schveighoffer (4/20) Sep 12 2011 It's not correctly implemented. When it is, the above will be correct.
What's the simplest const-correct way to write a method which returns "this"? I tried the following to no avail: class Test { inout(Test) f() inout { return this; } } Result: test.d(3): Error: inout on return means inout must be on a parameter as well for inout inout(Test)() It seems to me that the compiler could check the method's constness along with that of its parameters, but doesn't (omission / unimplemented feature?) -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Sep 11 2011
On 09/12/2011 03:48 AM, Vladimir Panteleev wrote:What's the simplest const-correct way to write a method which returns "this"? I tried the following to no avail: class Test { inout(Test) f() inout { return this; } } Result: test.d(3): Error: inout on return means inout must be on a parameter as well for inout inout(Test)() It seems to me that the compiler could check the method's constness along with that of its parameters, but doesn't (omission / unimplemented feature?)Yes, afaik inout is not functional at the moment.
Sep 11 2011
On Monday, September 12, 2011 05:38:36 Timon Gehr wrote:Yes, afaik inout is not functional at the moment.http://d.puremagic.com/issues/show_bug.cgi?id=3748 - Jonathan M Davis
Sep 12 2011
On Sun, 11 Sep 2011 21:48:36 -0400, Vladimir Panteleev <vladimir thecybershadow.net> wrote:What's the simplest const-correct way to write a method which returns "this"? I tried the following to no avail: class Test { inout(Test) f() inout { return this; } } Result: test.d(3): Error: inout on return means inout must be on a parameter as well for inout inout(Test)() It seems to me that the compiler could check the method's constness along with that of its parameters, but doesn't (omission / unimplemented feature?)It's not correctly implemented. When it is, the above will be correct. -Steve
Sep 12 2011