Thread overview
Expand 'with'?
Mar 09, 2006
pragma
Mar 09, 2006
BCS
Mar 09, 2006
pragma
Error message incomplete (with with)
Mar 18, 2006
Georg Wrede
March 09, 2006
Is there any particular reason why the 'with' statement is restricted to work with classes only?  I keep running into situations where using it with (all?) other D constructs, like structs, enums and such, would be quite useful; making it a sort of specialized 'alias' instead of something so limited.

- EricAnderton at yahoo
March 09, 2006
pragma wrote:
> Is there any particular reason why the 'with' statement is restricted to work
> with classes only?  I keep running into situations where using it with (all?)
> other D constructs, like structs, enums and such, would be quite useful; making
> it a sort of specialized 'alias' instead of something so limited.
> 
> - EricAnderton at yahoo

IIRC it does work with structs. I think I have used it.
March 09, 2006
In article <dupphj$qf4$1@digitaldaemon.com>, BCS says...
>
>pragma wrote:
>> Is there any particular reason why the 'with' statement is restricted to work with classes only?  I keep running into situations where using it with (all?) other D constructs, like structs, enums and such, would be quite useful; making it a sort of specialized 'alias' instead of something so limited.
>> 
>> - EricAnderton at yahoo
>
>IIRC it does work with structs. I think I have used it.

Ahh, so it does.  I think what threw me was the error message when you use something that isn't supported, like an enum:

test4.d(8): with expressions must be class objects, not 'Foobar'

- EricAnderton at yahoo
March 18, 2006
Error message at bottom should be:

"with expressions must be class objects or structs"

pragma wrote:
> In article <dupphj$qf4$1@digitaldaemon.com>, BCS says...
> 
>>pragma wrote:
>>
>>>Is there any particular reason why the 'with' statement is restricted to work
>>>with classes only?  I keep running into situations where using it with (all?)
>>>other D constructs, like structs, enums and such, would be quite useful; making
>>>it a sort of specialized 'alias' instead of something so limited.
>>>
>>>- EricAnderton at yahoo
>>
>>IIRC it does work with structs. I think I have used it.
> 
> 
> Ahh, so it does.  I think what threw me was the error message when you use
> something that isn't supported, like an enum:
> 
> test4.d(8): with expressions must be class objects, not 'Foobar'
> 
> - EricAnderton at yahoo