DUAL FEATURE REQUEST: let "with" take a struct pointer and evaluate to its parameter
Daniel Keep
daniel.keep.lists at gmail.com
Fri Dec 21 17:15:27 PST 2007
Simen Kjaeraas wrote:
> On Thu, 20 Dec 2007 16:31:56 +0100, downs <default_357-line at yahoo.de>
> wrote:
>
>> The first part of the feature request is to allow "with" to take a
>> pointer to a struct as a parameter.
>>
>> This is for the sake of internal consistency; since you can already call
>> methods on a struct pointer as if it was dereferenced, it makes sense to
>> also be able to use "with" on it.
>>
>> The second one arises from the following really cute idea ge0rg had in
>> #d. Quote
>>
>>> > <Ge0rG> so you want 'auto foo = with(new myStruct) { bar = 23; baz
>>> = 42; ... }'?
>
> Wouldn't it be more logical to use
>
> with (auto foo = new myStruct) { bar = 23; baz = 42; ... }
Consistency demands that 'foo' only exists until the end of the while
block. What, then, would be the point of giving the struct a name for
the duration of a construct whose primary purpose is to allow you to
omit the name?
Being able to use control structures as expressions is a damn cool idea;
I just don't get why more people don't like it.
-- Daniel
More information about the Digitalmars-d
mailing list