From 9e181ca8f446d238ba279bc22fef9d166d4f38b0 Mon Sep 17 00:00:00 2001 From: Jacques Garrigue Date: Thu, 5 Nov 2020 11:12:01 +0900 Subject: [PATCH] must use set_state rather than backtrack in Typecore.type_cases --- typing/typecore.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/typing/typecore.ml b/typing/typecore.ml index 5cd7fa168..d6f7004a8 100644 --- a/typing/typecore.ml +++ b/typing/typecore.ml @@ -4739,7 +4739,7 @@ and type_cases let cases = let may_backtrack = does_contain_gadt && not !Clflags.principal in if not may_backtrack then mk_cases false else - let snap = Btype.snapshot () in + let state = save_state (ref env) in let has_equation_escape err = match trace_of_error err with Some tr -> @@ -4749,7 +4749,7 @@ and type_cases in try mk_cases false with Error(_,_,err) when has_equation_escape err -> - Btype.backtrack snap; + set_state state (ref env); let cases = mk_cases true in let msg = Format.asprintf