diff options
author | Hans Bolinder <[email protected]> | 2016-12-19 15:37:54 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2016-12-21 15:54:24 +0100 |
commit | 6d2380326a67a00eeae31689c00936da6f3526d2 (patch) | |
tree | ae55e912947460d2324a5630f2485e23bedf90eb /lib/stdlib | |
parent | 1715b9284643150da0f3ea43df42df1a4a90e144 (diff) | |
download | otp-6d2380326a67a00eeae31689c00936da6f3526d2.tar.gz otp-6d2380326a67a00eeae31689c00936da6f3526d2.tar.bz2 otp-6d2380326a67a00eeae31689c00936da6f3526d2.zip |
stdlib: Allow characters in types and constant patterns
Characters ($char) can be used in constant pattern expressions. They
can also be used in types and contracts.
Diffstat (limited to 'lib/stdlib')
-rw-r--r-- | lib/stdlib/src/erl_eval.erl | 1 | ||||
-rw-r--r-- | lib/stdlib/src/erl_parse.yrl | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/stdlib/src/erl_eval.erl b/lib/stdlib/src/erl_eval.erl index 40a34aa30f..eafee346eb 100644 --- a/lib/stdlib/src/erl_eval.erl +++ b/lib/stdlib/src/erl_eval.erl @@ -1306,6 +1306,7 @@ partial_eval(Expr) -> ev_expr({op,_,Op,L,R}) -> erlang:Op(ev_expr(L), ev_expr(R)); ev_expr({op,_,Op,A}) -> erlang:Op(ev_expr(A)); ev_expr({integer,_,X}) -> X; +ev_expr({char,_,X}) -> X; ev_expr({float,_,X}) -> X; ev_expr({atom,_,X}) -> X; ev_expr({tuple,_,Es}) -> diff --git a/lib/stdlib/src/erl_parse.yrl b/lib/stdlib/src/erl_parse.yrl index 4f38256e6b..5656155c53 100644 --- a/lib/stdlib/src/erl_parse.yrl +++ b/lib/stdlib/src/erl_parse.yrl @@ -156,6 +156,7 @@ type -> '#' atom '{' field_types '}' : {type, ?anno('$1'), record, ['$2'|'$4']}. type -> binary_type : '$1'. type -> integer : '$1'. +type -> char : '$1'. type -> 'fun' '(' ')' : {type, ?anno('$1'), 'fun', []}. type -> 'fun' '(' fun_type_100 ')' : '$3'. |