On 9 April 2012 03:25, Andrei Alexandrescu <seewebsiteforem...@erdani.org>wrote:
> On 4/8/12 7:21 PM, Andrej Mitrovic wrote: > >> On 4/9/12, Andrei >> Alexandrescu<SeeWebsiteForEmai**l...@erdani.org<seewebsiteforem...@erdani.org>> >> wrote: >> >>> and pass-by-alias >>> >> >> Speaking of alias, one killer feature would be to enable using alias >> for expressions. E.g.: >> >> struct Window { struct Point { int x, y; } Point point; } >> void test() { >> Window window; >> alias window.point.x x; >> // use 'x' here which is really window.point.x >> } >> > > Yah, we should add that at some point. Walter and I discussed about it and > it's virtually approved. But to be on the conservative side, it's not for > expressions but for mere pointer-chasing chains. Why use alias, instead of allowing 'ref' on local declarations? The alias approach suffers from complications when referencing a complex expression. Particularly if that expression involves a non-pure function call. A local ref would seem less problematic to me?