map kinds of Ranges

Steven Schveighoffer schveiguy at yahoo.com
Wed May 25 08:06:48 PDT 2011


On Wed, 25 May 2011 10:59:46 -0400, Don <nospam at nospam.com> wrote:

> Robert Clipsham wrote:
>> On 24/05/2011 04:28, Jonathan M Davis wrote:
>>>> Thoughts on this?
>>>
>>> I believe that the best and most likely to be implemented syntax which  
>>> has
>>> been suggested (it was Andrei's idea IIRC) is to simply add optional  
>>> clauses
>>> to attributes. So, instead of pure, you'd do pure(condition). If the  
>>> condition
>>> is true, the templated function it's on is pure. If the condition is  
>>> false,
>>> then the function isn't pure. Don't expect pure to become @pure or  
>>> nothrow to
>>> become @nothrow though. I think that at this point, any attribute  
>>> which is a
>>> keyword is going to stay one, and any attribute that has @ on the  
>>> front of it
>>> is going to stay that way as well.
>>>
>>> - Jonathan M Davis
>>  Wouldn't it make sense to follow the same syntax as auto ref? auto  
>> pure, auto nothrow, auto @safe etc? (Although I guess that doesn't  
>> allow for conditions, nevermind :<)
>
> 'auto ref' is one of worst syntax anomalies in the language. It should  
> be a single keyword -- eg, 'autoref' -- it has nothing in common with  
> the other use of 'auto', and it's not necessarily 'ref'.

The current implementation is incorrect.  In a correct implementation auto  
ref *is* always ref.

-Steve


More information about the Digitalmars-d mailing list