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








bearophile <bearophileHUGS lycos.com>