diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/AssociatedTypes.ml | 4 | ||||
-rw-r--r-- | compiler/SymbolicToPure.ml | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/compiler/AssociatedTypes.ml b/compiler/AssociatedTypes.ml index 27425a51..c0c5399f 100644 --- a/compiler/AssociatedTypes.ml +++ b/compiler/AssociatedTypes.ml @@ -95,7 +95,7 @@ let rec trait_instance_id_is_local_clause (id : trait_instance_id) : bool = match id with | Self | Clause _ -> true | TraitImpl _ | BuiltinOrAuto _ | TraitRef _ | UnknownTrait _ | FnPointer _ - | Closure _ -> + | Closure _ | Unsolved _ -> false | ParentClause (id, _, _) | ItemClause (id, _, _, _) -> trait_instance_id_is_local_clause id @@ -443,7 +443,7 @@ and norm_ctx_normalize_trait_instance_id (ctx : norm_ctx) | Closure (fid, generics) -> let generics = norm_ctx_normalize_generic_args ctx generics in (Closure (fid, generics), None) - | UnknownTrait _ -> + | Unsolved _ | UnknownTrait _ -> (* This is actually an error case *) (id, None) diff --git a/compiler/SymbolicToPure.ml b/compiler/SymbolicToPure.ml index 4aa24fcf..3e22d36b 100644 --- a/compiler/SymbolicToPure.ml +++ b/compiler/SymbolicToPure.ml @@ -462,6 +462,7 @@ and translate_trait_instance_id (meta : Meta.meta) (translate_ty : T.ty -> ty) | TraitRef tr -> TraitRef (translate_trait_ref meta translate_ty tr) | FnPointer _ | Closure _ -> craise __FILE__ __LINE__ meta "Closures are not supported yet" + | Unsolved _ -> craise __FILE__ __LINE__ meta "Couldn't solve trait bound" | UnknownTrait s -> craise __FILE__ __LINE__ meta ("Unknown trait found: " ^ s) (** Translate a signature type - TODO: factor out the different translation functions *) |