Subject: Re: typechecker problem
From: Craig Chambers (chambers@cs.washington.edu)
Date: Mon Feb 26 2001 - 22:43:39 PST
The typechecker handles this code just fine, except for the occurrence of
dynamic. Vass's most recent publish fixes the problem with dynamic, so this
error should go away. Completely analogous errors in the builder code went
away. If you don't want to wait for Vass's new executable, you can try my
vortex executable, in ~chambers/gen/gen/vortex.
-- Craig
Keunwoo Lee wrote:
>
> This may be already covered in Vass's most recent changes, but I'm posting
> this just in case. I have the following code:
>
> let slices:i_vector[WindIRGraphSliceKind[dynamic]]
> := [WindCFGKind,WindDFGKind];
>
> The type error is:
>
> lower-ops.cecil:69: type error:
> initializer's type i_vector[(WindCFGKind | WindDFGKind)] is not a
> subtype of i_vector[WindIRGraphSliceKind[dynamic]]
>
> So here it is being very aggressive and deducing the most narrow possible
> type for this immutable vector, and not seeing that all the members of the
> | type are actually subtypes of WindIRGraphSliceKind[dynamic], even though
> vector.cecil contains the following:
>
> i_vector[`T] subtypes i_vector[`S >= T];
>
> ~k.lee
>
> _______________________________________________
> Cecil mailing list
> Cecil@cs.washington.edu
> http://majordomo.cs.washington.edu/mailman/listinfo/cecil
_______________________________________________
Cecil mailing list
Cecil@cs.washington.edu
http://majordomo.cs.washington.edu/mailman/listinfo/cecil
This archive was generated by hypermail 2b25 : Mon Feb 26 2001 - 22:42:03 PST