diff options
Diffstat (limited to 'lib/dialyzer/test/opaque_tests_SUITE_data/src/int/int_adt.erl')
-rw-r--r-- | lib/dialyzer/test/opaque_tests_SUITE_data/src/int/int_adt.erl | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/dialyzer/test/opaque_tests_SUITE_data/src/int/int_adt.erl b/lib/dialyzer/test/opaque_tests_SUITE_data/src/int/int_adt.erl deleted file mode 100644 index 99f8cbdc4a..0000000000 --- a/lib/dialyzer/test/opaque_tests_SUITE_data/src/int/int_adt.erl +++ /dev/null @@ -1,33 +0,0 @@ -%%---------------------------------------------------------------------------- -%% Module that tests consistency of spec declarations in the presence of -%% opaque types. Contains both valid and invalid contracts with opaque types. -%%---------------------------------------------------------------------------- - --module(int_adt). - --export([new_i/0, add_i/2, div_i/2, add_f/2, div_f/2]). - --export_type([int/0]). - --opaque int() :: integer(). - -%% the user has declared the return to be an opaque type, but the success -%% typing inference is too strong and finds a subtype as a return: this is OK --spec new_i() -> int(). -new_i() -> 42. - -%% the success typing is more general than the contract: this is OK --spec add_i(int(), int()) -> int(). -add_i(X, Y) -> X + Y. - -%% the success typing coincides with the contract: this is OK, of course --spec div_i(int(), int()) -> int(). -div_i(X, Y) -> X div Y. - -%% the success typing has an incompatible domain element: this is invalid --spec add_f(int(), int()) -> int(). -add_f(X, Y) when is_float(Y) -> X + trunc(Y). - -%% the success typing has an incompatible range: this is invalid --spec div_f(int(), int()) -> int(). -div_f(X, Y) -> X / Y. |