[dmd-beta] dmd 1.062 and 2.047 beta

Rainer Schuetze r.sagitario at gmx.de
Fri Aug 27 08:21:01 PDT 2010


Hi,

thanks, it compiles now and the test cases seem to work. But trying it 
in the larger context where it happened first, I'm running into more 
problems with the latest phobos. But these are probably unrelated...

Rainer

Steve Schveighoffer wrote:
> I realized that I broke this right away and fixed it, but I forgot to check in.  
> Try again now:
>
> http://www.dsource.org/projects/phobos/changeset/1934
>
> -Steve
>
>
> ----- Original Message ----
>   
>> From: Rainer Schuetze <r.sagitario at gmx.de>
>>
>> Hi Andrei,
>>
>> I think Walter has just committed a fix for this. See  
>> http://d.puremagic.com/issues/show_bug.cgi?id=4302
>>
>> I could not verify  it yet, because the current dmd/phobos combination 
>> causes an error for  me
>>
>> std\xml.d(373): Error: cannot implicitly convert expression 
>> (result.data()) of type string to char[]
>> std\xml.d(1148): Error: template  instance std.xml.encode!(char[]) error 
>> instantiating
>>
>> This seems to  have to crept in with the recent Appender changes.
>>
>> Rainer
>>
>> Andrei  Alexandrescu wrote:
>>     
>>> Hello Rainer,
>>>
>>> Catching up with my  email backlog. Was there a fix on this issue?
>>>
>>>  Andrei
>>>
>>> On 6/11/10 11:30 PDT, Rainer Schuetze wrote:
>>>       
>>>>  Hi,
>>>>
>>>> I've tried to untangle the startsWith code, and  here's the minimal test
>>>> case I could come up with so  far:
>>>>
>>>> ///////////////////////
>>>> template  binaryFunImpl(bool b)
>>>> {
>>>> template Body()
>>>>  {
>>>> static assert(b);
>>>> alias bool BodyType;
>>>>  }
>>>> alias Body!().BodyType ReturnType; // line 9
>>>>  }
>>>>
>>>> uint startsWith(A)(A a) if (is(binaryFunImpl!(true  ).ReturnType)) {
>>>> return 1; }
>>>> uint startsWith(A)(A a) if  (is(binaryFunImpl!(false).ReturnType)) {
>>>> return 0; } // line  13
>>>>
>>>> const uint var = startsWith(1);
>>>>  ///////////////////////
>>>> dmd produces:
>>>>
>>>>  test.d(6): Error: static assert (b) is false
>>>> test.d(9): instantiated  from here: Body!()
>>>> test.d(13): instantiated from here:  binaryFunImpl!(false)
>>>>
>>>> The error does not show up if var  is not const. Also, dmd 2.032 to 2.045
>>>> do not produce this error  (2.046 fails), so it must be some compiler
>>>>  regression.
>>>>
>>>> As it seems, the compile time evaluation of  startsWith uses the wrong
>>>> specialization. Maybe, it is just not  gagging error output?
>>>>
>>>> Any other ideas? I have not yet  dived too deep into the template code of
>>>> the compiler, but if nobody  has a better clue (and time), I can give it
>>>> a  try.
>>>>
>>>> Rainer
>>>>
>>>> Andrei Alexandrescu  wrote:
>>>>         
>>>>> Thanks. It may take a while before I can tend to this.  Could someone
>>>>> else look at it?
>>>>>
>>>>>  Andrei
>>>>>
>>>>> On 06/10/2010 12:53 PM, Rainer Schuetze  wrote:
>>>>>           
>>>>>> Sorry, but it still doesn't work. The error occurs  when the expression
>>>>>> is evaluated at compile time, so the  code added to the unittest 
>>>>>> does not
>>>>>>  cover the issue.
>>>>>>
>>>>>>  Rainer
>>>>>>
>>>>>> Andrei Alexandrescu  wrote:
>>>>>>             
>>>>>>> Apologies. svn up should fix it, and bring some  more goodies too :o).
>>>>>>>
>>>>>>>  Andrei
>>>>>>>
>>>>>>> On 06/10/2010 10:14 AM,  Don Clugston wrote:
>>>>>>>               
>>>>>>>> const bool fails =  startsWith("ab", "a");
>>>>>>>>                 
>>>>>>>  _______________________________________________
>>>>>>> dmd-beta  mailing list
>>>>>>> dmd-beta at puremagic.com
>>>>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>>>>
>>>>>>>               
>>>>>> ; _______________________________________________
>>>>>> dmd-beta  mailing list
>>>>>> dmd-beta at puremagic.com
>>>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>>>             
>>>>  _______________________________________________
>>>> dmd-beta mailing  list
>>>> dmd-beta at puremagic.com
>>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>>         
>>>  _______________________________________________
>>> dmd-beta mailing  list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>>>       
>> _______________________________________________
>> dmd-beta  mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>     
>
>
>       
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>   



More information about the dmd-beta mailing list