must use set_state rather than backtrack in Typecore.type_cases

master
Jacques Garrigue 2020-11-05 11:12:01 +09:00
parent 479ec01e28
commit 9e181ca8f4
1 changed files with 2 additions and 2 deletions

View File

@ -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