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.