|
@@ -695,6 +695,8 @@ and type_switch ctx e cases def need_val p =
|
|
| TMono _ -> lookup_enum (List.map fst cases)
|
|
| TMono _ -> lookup_enum (List.map fst cases)
|
|
| _ -> None
|
|
| _ -> None
|
|
) in
|
|
) in
|
|
|
|
+ (* does not treat Bool as an matchable enum, since it's a native type *)
|
|
|
|
+ let enum = (match enum with None | Some ({ e_path = ([],"Bool") },_) -> None | _ -> enum) in
|
|
let ecases = ref PMap.empty in
|
|
let ecases = ref PMap.empty in
|
|
let cases = List.map (fun (e1,e2) ->
|
|
let cases = List.map (fun (e1,e2) ->
|
|
let locals = save_locals ctx in
|
|
let locals = save_locals ctx in
|