[dmd-beta] dmd 1.074 and 2.059 beta 5

Walter Bright walter at digitalmars.com
Thu Apr 12 19:44:01 PDT 2012


I'm pretty sure it's because BasicVector is calling Expression which calls 
closureOf again.

On 4/12/2012 6:56 PM, David Simcha wrote:
> I'm still confused about why it's not working, but thanks for the error 
> message fix.  I realized that this fix makes it feasible to use Dustmite to 
> reduce this to something I can actually make sense of.
>
> On 4/12/2012 5:06 PM, Walter Bright wrote:
>> You may be able to break the circle by adding a specialization of closureOf 
>> for BasicVector.
>>
>> On 4/11/2012 8:02 PM, David Simcha wrote:
>>> Ok, but I downloaded the new beta and changed closureOf to:
>>>
>>> template closureOf( T ) {
>>>     static if( isScalar!(Unqual!T) ) {
>>>         enum closureOf = Closure.Scalar;
>>>     } else {
>>>         enum closureOf = T.closure;
>>>     }
>>> }
>>>
>>> where isScalar is defined as:
>>>
>>> template isScalar( T ) {
>>>     enum isScalar = !is( T == class ) &&
>>>         is( typeof((){
>>>             T x;// = MinusOne!T;
>>>             T y = x;
>>>             T z;
>>>
>>>             if( x == x || x != x ) {
>>>                 x = x;
>>>                 x += x; x -= x; x /= x; x *= x;
>>>                 x = x + x; x = x - x; x = x / x;
>>>             }
>>>         }()) );
>>> }
>>>
>>>
>>> It still gives a "possible circular dependency" error message.  Any clue why?
>>>
>> _______________________________________________
>> 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