DUAL FEATURE REQUEST: let "with" take a struct pointer and evaluate to its parameter

Simen Kjaeraas simen.kjaras at gmail.com
Sun Dec 23 08:52:23 PST 2007


On Sat, 22 Dec 2007 02:15:27 +0100, Daniel Keep  
<daniel.keep.lists at gmail.com> wrote:

>
>
> 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?

Right. Make that

	static with (auto foo = new myStruct) { bar = 23; baz = 42; ... }

:p



More information about the Digitalmars-d mailing list