Stroustrup's slides about c++11 and c++14

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 17 09:14:43 PDT 2014


On Monday, 15 September 2014 at 03:10:08 UTC, Timon Gehr wrote:
> On 09/15/2014 04:53 AM, Timon Gehr wrote:
>> On 09/15/2014 12:38 AM, Walter Bright wrote:
>>> On 9/14/2014 2:48 PM, deadalnix wrote:
>>>> If that is really a concern, please consider commenting on
>>>> http://wiki.dlang.org/DIP31
>>>
>>> I haven't thought it through, but the DIP looks like a good 
>>> idea.
>>>
>>> It should add the test case in this thread,
>>>
>>>   static if(!is(typeof(x))) enum y=2;
>>>   static if(!is(typeof(y))) enum x=1;
>>>
>>> as being something that is detected and rejected by the 
>>> compiler.
>>>
>>> Essentially, anything that is order-of-evaluation dependent 
>>> should be
>>> detected and rejected.
>>
>> (It is furthermore also important that most programs that are 
>> not
>> dependent on evaluation order are still accepted.)
>
> To elaborate a little: The following simple test case cannot be 
> accepted using a strategy that alternately analyses AST nodes 
> and poisons symbols that do not occur in certain scopes:
>
> enum x = "enum xx = q{int y = 0;};";
>
> struct SS{
>     mixin(xx);
>     mixin(x);
> }
>
> However, it can be given a unique meaning.

I remember deadlnix telling quite a lot of nice stories about how 
this makes in sort of SDC parallelisation problematic :)


More information about the Digitalmars-d mailing list