On Monday, 11 April 2022 at 03:24:11 UTC, Ali Çehreli wrote:
The output: 0 is (about to be) alive! 0 is (already) dead. 1 is (about to be) alive! 1 is (already) dead. 2 is (about to be) alive! 2 is (already) dead.
It worked for me in a different way.
1 is (about to be) alive!
2 is (already) dead. 2 is (already) dead. 2 is (already) dead.
2 is (already) dead.
2 is (already) dead. Hello D! 1 is (already) dead. Because I changed the code like this. ```d struct S { . . . string toString() { return ""; } } //S test(inout S s)/* S test(S s)//*/ { s.i = 2; return s; } void main() { immutable s = S(1); test(s).writeln; "Hello".writefln!"%s D!"; } ``` If the inout is set, it does not allow compilation. Thanks, SDB79