File 5604-erl_expand_records-Handle-map-comprehensions.patch of Package erlang
From e5d48a29bff32c2ce653e91a70a83660199f8a80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Tue, 17 Jan 2023 08:32:05 +0100
Subject: [PATCH 04/12] erl_expand_records: Handle map comprehensions
---
lib/stdlib/src/erl_expand_records.erl | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/lib/stdlib/src/erl_expand_records.erl b/lib/stdlib/src/erl_expand_records.erl
index 31442e5140..60c84286e5 100644
--- a/lib/stdlib/src/erl_expand_records.erl
+++ b/lib/stdlib/src/erl_expand_records.erl
@@ -289,6 +289,10 @@ expr({bc,Anno,E0,Qs0}, St0) ->
{Qs1,St1} = lc_tq(Anno, Qs0, St0),
{E1,St2} = expr(E0, St1),
{{bc,Anno,E1,Qs1},St2};
+expr({mc,Anno,E0,Qs0}, St0) ->
+ {Qs1,St1} = lc_tq(Anno, Qs0, St0),
+ {E1,St2} = expr(E0, St1),
+ {{mc,Anno,E1,Qs1},St2};
expr({tuple,Anno,Es0}, St0) ->
{Es1,St1} = expr_list(Es0, St0),
{{tuple,Anno,Es1},St1};
@@ -515,6 +519,11 @@ lc_tq(Anno, [{b_generate,AnnoG,P0,G0} | Qs0], St0) ->
{P1,St2} = pattern(P0, St1),
{Qs1,St3} = lc_tq(Anno, Qs0, St2),
{[{b_generate,AnnoG,P1,G1} | Qs1],St3};
+lc_tq(Anno, [{m_generate,AnnoG,P0,G0} | Qs0], St0) ->
+ {G1,St1} = expr(G0, St0),
+ {P1,St2} = pattern(P0, St1),
+ {Qs1,St3} = lc_tq(Anno, Qs0, St2),
+ {[{m_generate,AnnoG,P1,G1} | Qs1],St3};
lc_tq(Anno, [F0 | Qs0], #exprec{calltype=Calltype,raw_records=Records}=St0) ->
%% Allow record/2 and expand out as guard test.
IsOverriden = fun(FA) ->
--
2.35.3