Disable unused type warnings for type used inside of records #983
1
.gitignore
vendored
1
.gitignore
vendored
@ -24,3 +24,4 @@ current_counterexample.eqc
|
|||||||
test/contracts/test.aes
|
test/contracts/test.aes
|
||||||
__pycache__
|
__pycache__
|
||||||
.docssite/docs/*.md
|
.docssite/docs/*.md
|
||||||
|
.vscode
|
||||||
|
@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
include paths are now always relative to the file containing the `include` statement.
|
include paths are now always relative to the file containing the `include` statement.
|
||||||
### Removed
|
### Removed
|
||||||
### Fixed
|
### Fixed
|
||||||
|
- Disable unused type warnings for types used inside of records.
|
||||||
|
|
||||||
## [7.4.0]
|
## [7.4.0]
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -924,14 +924,14 @@ infer(Contracts, Options) ->
|
|||||||
{Env1, Decls} = infer1(Env, Contracts1, [], Options),
|
{Env1, Decls} = infer1(Env, Contracts1, [], Options),
|
||||||
when_warning(warn_unused_functions, fun() -> destroy_and_report_unused_functions() end),
|
when_warning(warn_unused_functions, fun() -> destroy_and_report_unused_functions() end),
|
||||||
when_option(warn_error, fun() -> destroy_and_report_warnings_as_type_errors() end),
|
when_option(warn_error, fun() -> destroy_and_report_warnings_as_type_errors() end),
|
||||||
WarningsUnsorted = lists:map(fun mk_warning/1, ets_tab2list(warnings)),
|
|
||||||
Warnings = aeso_warnings:sort_warnings(WarningsUnsorted),
|
|
||||||
{Env2, DeclsFolded, DeclsUnfolded} =
|
{Env2, DeclsFolded, DeclsUnfolded} =
|
||||||
case proplists:get_value(dont_unfold, Options, false) of
|
case proplists:get_value(dont_unfold, Options, false) of
|
||||||
true -> {Env1, Decls, Decls};
|
true -> {Env1, Decls, Decls};
|
||||||
false -> E = on_scopes(Env1, fun(Scope) -> unfold_record_types(Env1, Scope) end),
|
false -> E = on_scopes(Env1, fun(Scope) -> unfold_record_types(Env1, Scope) end),
|
||||||
{E, Decls, unfold_record_types(E, Decls)}
|
{E, Decls, unfold_record_types(E, Decls)}
|
||||||
end,
|
end,
|
||||||
|
WarningsUnsorted = lists:map(fun mk_warning/1, ets_tab2list(warnings)),
|
||||||
|
Warnings = aeso_warnings:sort_warnings(WarningsUnsorted),
|
||||||
case proplists:get_value(return_env, Options, false) of
|
case proplists:get_value(return_env, Options, false) of
|
||||||
false -> {DeclsFolded, DeclsUnfolded, Warnings};
|
false -> {DeclsFolded, DeclsUnfolded, Warnings};
|
||||||
true -> {Env2, DeclsFolded, DeclsUnfolded, Warnings}
|
true -> {Env2, DeclsFolded, DeclsUnfolded, Warnings}
|
||||||
|
@ -70,6 +70,7 @@ simple_compile_test_() ->
|
|||||||
fun() ->
|
fun() ->
|
||||||
#{ warnings := Warnings } = compile("warnings", [warn_all]),
|
#{ warnings := Warnings } = compile("warnings", [warn_all]),
|
||||||
#{ warnings := [] } = compile("warning_unused_include_no_include", [warn_all]),
|
#{ warnings := [] } = compile("warning_unused_include_no_include", [warn_all]),
|
||||||
|
#{ warnings := [] } = compile("warning_used_record_typedef", [warn_all]),
|
||||||
check_warnings(warnings(), Warnings)
|
check_warnings(warnings(), Warnings)
|
||||||
end} ] ++
|
end} ] ++
|
||||||
[].
|
[].
|
||||||
|
5
test/contracts/warning_used_record_typedef.aes
Normal file
5
test/contracts/warning_used_record_typedef.aes
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
contract Test =
|
||||||
|
type option_int = option(int)
|
||||||
|
record option_point = {x: int, y: option_int}
|
||||||
|
|
||||||
|
entrypoint test_option_record(a: option_point) = a
|
Loading…
x
Reference in New Issue
Block a user