summaryrefslogtreecommitdiff
path: root/lib/stdlib
diff options
context:
space:
mode:
authorBjörn Gustavsson <bgustavsson@gmail.com>2018-04-04 14:10:21 +0200
committerGitHub <noreply@github.com>2018-04-04 14:10:21 +0200
commitdb1447e1423aaaafa02d52ca0b57115631990780 (patch)
treeafa43c1de02f6156535ce991470db9af648bc4d5 /lib/stdlib
parentf99860259ee557851acc865519a315f04d1d4d51 (diff)
parent63e1c58d27ab695a19897423fc75e607f69ff51b (diff)
downloaderlang-db1447e1423aaaafa02d52ca0b57115631990780.tar.gz
Merge pull request #1725 from michalmuskala/fun-literals
Compile external fun expressions to literals OTP-15003
Diffstat (limited to 'lib/stdlib')
-rw-r--r--lib/stdlib/src/erl_parse.yrl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl
index 14ca24362e..0c338b5952 100644
--- a/lib/stdlib/src/erl_parse.yrl
+++ b/lib/stdlib/src/erl_parse.yrl
@@ -1377,6 +1377,8 @@ normalise({map,_,Pairs}=M) ->
({map_field_assoc,_,K,V}) -> {normalise(K),normalise(V)};
(_) -> erlang:error({badarg,M})
end, Pairs));
+normalise({'fun',_,{function,{atom,_,M},{atom,_,F},{integer,_,A}}}) ->
+ fun M:F/A;
%% Special case for unary +/-.
normalise({op,_,'+',{char,_,I}}) -> I;
normalise({op,_,'+',{integer,_,I}}) -> I;