Преглед на файлове

Revert "Revert "optimize exhaustive one-case matches (closes #2019)""

This reverts commit b7775a713d52b9127c0e1edc8bafa88b10c733b2.
Simon Krajewski преди 12 години
родител
ревизия
d9fb2e0aff
променени са 1 файла, в които са добавени 2 реда и са изтрити 0 реда
  1. 2 0
      codegen.ml

+ 2 - 0
codegen.ml

@@ -1638,6 +1638,8 @@ module PatternMatchConversion = struct
 		| DTGuard(e,dt1,dt2) ->
 			let ethen = convert_dt cctx dt1 in
 			mk (TIf(e,ethen,match dt2 with None -> None | Some dt -> Some (convert_dt cctx dt))) ethen.etype (punion e.epos ethen.epos)
+		| DTSwitch({eexpr = TMeta((Meta.Exhaustive,_,_),_)},[_,dt],None) ->
+			convert_dt cctx dt
 		| DTSwitch(e_st,cl,dto) ->
 			let def = match dto with None -> None | Some dt -> Some (convert_dt cctx dt) in
 			let cases = group_cases cl in