On 25.11.19 10:00, Dukc wrote:
On Monday, 25 November 2019 at 03:07:08 UTC, Fanda Vacek wrote:
Is this preferred design pattern?
```
int main()
{
int a = 1;
//ref int b = a; // Error: variable `tst_ref.main.b` only
parameters or `foreach` declarations can be `ref`
ref int b() { return a; }
b = 2;
assert(a == 2);
return 0;
}
```
Fanda
It's okay, but I'd prefer an alias, because your snippet uses the heap
needlessly (it puts variable a into heap to make sure there will be no
stack corruption if you pass a pointer to function b() outside the
main() function)
This is not true. You can annotate main with @nogc.