diff --git a/lib/compiler/src/v3_core.erl b/lib/compiler/src/v3_core.erl index 950e82d1a1d4..ea04ffd1c590 100644 --- a/lib/compiler/src/v3_core.erl +++ b/lib/compiler/src/v3_core.erl @@ -2064,6 +2064,7 @@ get_nomatch_total(NomatchModes) -> end end. +is_generator({match,_,_,_}) -> true; is_generator({generate,_,_,_}) -> true; is_generator({generate_strict,_,_,_}) -> true; is_generator({b_generate,_,_,_}) -> true; @@ -2102,6 +2103,8 @@ get_qual_anno(Abstract) -> element(2, Abstract). %% generator(Line, Generator, Guard, State) -> {Generator',State}. %% Transform a given generator into its #igen{} representation. +generator(Line, {match,L,P,E}, Gs, St0) -> + generator(Line, {generate_strict,L,P,{cons,L,E,{nil,L}}}, Gs, St0); generator(Line, {Generate,Lg,P0,E}, Gs, St0) when Generate =:= generate; Generate =:= generate_strict -> LA = lineno_anno(Line, St0),