168 |
if eq andalso not(eqLitKind k) |
if eq andalso not(eqLitKind k) |
169 |
then raise Unify EQ |
then raise Unify EQ |
170 |
else () |
else () |
171 |
| TV_MARK _ => bug "unify:adjustType:TV_MARK") |
| LBOUND _ => bug "unify:adjustType:LBOUND") |
172 |
| iter eq (ty as CONty(DEFtyc _, args)) = |
| iter eq (ty as CONty(DEFtyc _, args)) = |
173 |
iter eq (TU.headReduceType ty) |
iter eq (TU.headReduceType ty) |
174 |
| iter eq (CONty(tycon,args)) = |
| iter eq (CONty(tycon,args)) = |
349 |
| _ => raise Unify (UBV i)) (* could return the ty for error msg*) |
| _ => raise Unify (UBV i)) (* could return the ty for error msg*) |
350 |
|
|
351 |
| instTyvar (ref(INSTANTIATED _),_,_) = bug "instTyvar: INSTANTIATED" |
| instTyvar (ref(INSTANTIATED _),_,_) = bug "instTyvar: INSTANTIATED" |
352 |
| instTyvar (ref(TV_MARK _),_,_) = bug "instTyvar: TV_MARK" |
| instTyvar (ref(LBOUND _),_,_) = bug "instTyvar: LBOUND" |
353 |
|
|
354 |
(* |
(* |
355 |
* merge_fields(extra1,extra2,fields1,fields2): |
* merge_fields(extra1,extra2,fields1,fields2): |