digitalmars.D.learn - Const lazy arguments?
- bearophile (13/13) Jan 10 2012 I ask here first before submitting about this to Bugzilla.
- Ben Davis (3/16) Jan 11 2012 If you had a "const lazy SomeClass con" and a "lazy SomeClass mut", you
- bearophile (11/13) Jan 11 2012 You are right, this code compiles:
I ask here first before submitting about this to Bugzilla. If lazy arguments can't be lvalues: void foo(lazy int x) { x = x; } void main() {} ==> test.d(2): Error: lazy variables cannot be lvalues What's the point of accepting const lazy arguments? void foo(const lazy int x) {} void main() {} Bye, bearophile
Jan 10 2012
If you had a "const lazy SomeClass con" and a "lazy SomeClass mut", you could write "mut.x=y" but not "con.x=y". I think. On 11/01/2012 04:46, bearophile wrote:I ask here first before submitting about this to Bugzilla. If lazy arguments can't be lvalues: void foo(lazy int x) { x = x; } void main() {} ==> test.d(2): Error: lazy variables cannot be lvalues What's the point of accepting const lazy arguments? void foo(const lazy int x) {} void main() {} Bye, bearophile
Jan 11 2012
Ben Davis:If you had a "const lazy SomeClass con" and a "lazy SomeClass mut", you could write "mut.x=y" but not "con.x=y". I think.You are right, this code compiles: struct Foo { int i; } void foo(lazy Foo f) { f.i++; } void main() {} Thank you, bearophile
Jan 11 2012