I tried the last few hours to implement something like 'A&' but it's horrible if you haven't complete knowledge and want to implement something that comes after the type... But what's wrong with '@ref'? If I had knowledge how you could implement new properties I could start a trial.

----

After my attempts to implement something like 'A&' I tried to get something like '@A'. And I was successful. After that I tried to implement '@ref', but without declare it as a real property (because I just do not know how).
Thats the reason why all following declarations behave as const:

void bar(@ref A a) {

}

void bar(@ ref A a) {

}

void bar(ref@ A a) {

}

void bar(ref @ A a) {

}

For this I had to create a new storage class (currently it is STCref2).

Disadvantage: because @ref is (currently) not a realy property you could place '@' whereever you want (but before the type). But you get an error if you don't use it in combination with 'ref'. I like it. :D
Even if we should prefer a property this is IMO a nice step.
And maybe we could/should change '@' to '&' so that we have 'ref&'/'&ref' what looks like a (nice) combination of D and C++.

Reply via email to