Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
2311-erts-Make-types-nonempty_-binary-bitstring...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2311-erts-Make-types-nonempty_-binary-bitstring-builtin.patch of Package erlang
From 10a4f5aa9bb2b2e809a5387b86eaa687ff7fd2e3 Mon Sep 17 00:00:00 2001 From: Hans Bolinder <hasse@erlang.org> Date: Fri, 4 Jun 2021 11:41:21 +0200 Subject: [PATCH] erts: Make types nonempty_{binary,bitstring} builtin The types introduced in 00b8373 are now builtin types, which means that redefining any of them results in an error. --- lib/edoc/src/edoc_tags.erl | 1 + lib/edoc/src/edoc_types.erl | 3 --- lib/stdlib/src/erl_lint.erl | 3 --- lib/stdlib/test/erl_lint_SUITE.erl | 9 ++++----- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/edoc/src/edoc_tags.erl b/lib/edoc/src/edoc_tags.erl index 005c062e23..e467b98a00 100644 --- a/lib/edoc/src/edoc_tags.erl +++ b/lib/edoc/src/edoc_tags.erl @@ -340,6 +340,7 @@ parse_contact(Data, Line, _Env, _Where) -> Info end. +-dialyzer({no_match, parse_typedef/4}). parse_typedef(Data, Line, _Env, Where) -> edoc_report:warning(Line, Where, "EDoc @type tags are deprecated. " diff --git a/lib/edoc/src/edoc_types.erl b/lib/edoc/src/edoc_types.erl index 9da447bec5..b7d045cbe7 100644 --- a/lib/edoc/src/edoc_types.erl +++ b/lib/edoc/src/edoc_types.erl @@ -137,9 +137,6 @@ is_predefined(cons, 2) -> true; is_predefined(deep_string, 0) -> true; is_predefined(F, A) -> erl_internal:is_type(F, A). -is_new_predefined(nonempty_binary, 0) -> true; -is_new_predefined(nonempty_bitstring, 0) -> true; -is_new_predefined(map, 0) -> true; is_new_predefined(_, _) -> false. to_ref(#t_typedef{name = N}) -> diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl index 7cafc9ce73..b45113d424 100644 --- a/lib/stdlib/src/erl_lint.erl +++ b/lib/stdlib/src/erl_lint.erl @@ -3094,9 +3094,6 @@ used_type(TypePair, Anno, #lint{usage = Usage, file = File} = St) -> is_default_type({Name, NumberOfTypeVariables}) -> erl_internal:is_type(Name, NumberOfTypeVariables). -%% OTP 24.0 -is_newly_introduced_builtin_type({nonempty_binary, 0}) -> true; -is_newly_introduced_builtin_type({nonempty_bitstring, 0}) -> true; is_newly_introduced_builtin_type({Name, _}) when is_atom(Name) -> false. is_obsolete_builtin_type(TypePair) -> diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl index cf43551692..306b06ce5b 100644 --- a/lib/stdlib/test/erl_lint_SUITE.erl +++ b/lib/stdlib/test/erl_lint_SUITE.erl @@ -958,14 +958,13 @@ binary_types(Config) when is_list(Config) -> Ts = [{binary1, <<"-type nonempty_binary() :: term().">>, [nowarn_unused_type], - {warnings,[{{1,22},erl_lint, - {new_builtin_type,{nonempty_binary,0}}}]}}, - + {errors,[{{1,22},erl_lint, + {builtin_type,{nonempty_binary,0}}}],[]}}, {binary2, <<"-type nonempty_bitstring() :: term().">>, [nowarn_unused_type], - {warnings,[{{1,22},erl_lint, - {new_builtin_type,{nonempty_bitstring,0}}}]}}], + {errors,[{{1,22},erl_lint, + {builtin_type,{nonempty_bitstring,0}}}],[]}}], [] = run(Config, Ts), ok. -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor