class A { uint some; } fn doSome(A a) A { // NOTE: section below won't change `a.some` value // if (a.some < 1) // { // a.some = 1; // return a; // } a.some = 1; return a; } fn doSomeNew() A { if (1 == 1) { return new A; } } A a = new A; a.some = 0; printline(a); a = doSome(a); printline(a); b = doSomeNew(); printline(b);