Re: reference variables don't exist, but can simulate them

2020-06-28 Thread Stanislav Blinov via Digitalmars-d-learn
On Monday, 29 June 2020 at 02:11:15 UTC, NonNull wrote: Deprecation: Cannot use alias this to partially initialize variable j of type refer. Use j._() This is for the line j=3 What is this about? Where does this hidden rule come from? That one comes from [1]. But there are quite a few more

Re: reference variables don't exist, but can simulate them

2020-06-28 Thread NonNull via Digitalmars-d-learn
On Sunday, 28 June 2020 at 21:01:36 UTC, NonNull wrote: On Sunday, 28 June 2020 at 20:59:59 UTC, NonNull wrote: Using gdc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0 Please criticize: struct refer(T) { T* ptr; this(ref T x) { ptr = } ref T _() { return *ptr; } alias _ this; string

Re: reference variables don't exist, but can simulate them

2020-06-28 Thread NonNull via Digitalmars-d-learn
On Sunday, 28 June 2020 at 20:59:59 UTC, NonNull wrote: Using gdc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0 Please criticize: struct refer(T) { T* ptr; this(ref T x) { ptr = } ref T _() { return *ptr; } alias _ this; string toString() { import std.conv; return to!string(*ptr); } } This

reference variables don't exist, but can simulate them

2020-06-28 Thread NonNull via Digitalmars-d-learn
Using gdc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0 Please criticize: struct refer(T) { T* ptr; this(ref T x) { ptr = } ref T _() { return *ptr; } alias _ this; string toString() { import std.conv; return to!string(*ptr); } } This will make a reference variable (simulation). [ toString()