|
@@ -1869,10 +1869,8 @@ module Abstract = struct
|
|
|
let t = match follow t with
|
|
|
| TAbstract(a,tl) when not (Meta.has Meta.CoreType a.a_meta) ->
|
|
|
if List.mem a !underlying_type_stack then begin
|
|
|
- (* let s = String.concat " -> " (List.map (fun a -> s_type_path a.a_path) (List.rev (a :: !underlying_type_stack))) in *)
|
|
|
- (* technically this should be done at type declaration level *)
|
|
|
- (* error ("Abstract chain detected: " ^ s) a.a_pos *)
|
|
|
- assert false
|
|
|
+ let s = String.concat " -> " (List.map (fun a -> s_type_path a.a_path) (List.rev (a :: !underlying_type_stack))) in
|
|
|
+ raise (Error("Abstract chain detected: " ^ s,a.a_pos))
|
|
|
end;
|
|
|
get_underlying_type a tl
|
|
|
| _ ->
|