aliasing expressions and identifiers

Nick Treleaven via Digitalmars-d digitalmars-d at puremagic.com
Tue May 24 06:59:00 PDT 2016


On Monday, 23 May 2016 at 17:43:49 UTC, deed wrote:
> On Monday, 23 May 2016 at 15:18:51 UTC, Nick Treleaven wrote:
> Recomputation or not, @safe or @system, should be no different 
> from the expanded code. So within a scope, after aliasing 'm', 
> 'm' should be replaced by 'matrix.rawArr'. Everything stays the 
> same as is, even error messages.

I think it's more useful to support local refs than alias 
expressions. In fact apart from the rvalue support, I would 
rather use a local ref than the existing with statement (assuming 
the ref was memory safe). The only exception is when using `with 
(EnumType)`.

Also, compile-time expressions use enum, not alias. It could be 
changed, but I think it's useful when reading meta-programming 
code to clearly see the difference.

Currently aliased symbols are expanded by the compiler in error 
messages, but that's probably not ideal.


More information about the Digitalmars-d mailing list