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
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta


_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta


_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta

Reply via email to