diff options
author | Hans Bolinder <[email protected]> | 2019-05-07 08:25:56 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2019-05-07 08:25:56 +0200 |
commit | 1a2259e01e8f8e000a1d8f93a9446c996c148325 (patch) | |
tree | 57c71e5fb661d26074b5faf0902fc9625323586e /lib/dialyzer/test/indent_SUITE_data/src/abs.erl | |
parent | fb9cd9534b94fe8c24bc5412205dd97577894b59 (diff) | |
parent | c2cd09c3d6807d2e93d117d9c6b47a706a50c763 (diff) | |
download | otp-1a2259e01e8f8e000a1d8f93a9446c996c148325.tar.gz otp-1a2259e01e8f8e000a1d8f93a9446c996c148325.tar.bz2 otp-1a2259e01e8f8e000a1d8f93a9446c996c148325.zip |
Merge branch 'hasse/dialyzer/prettier_warnings/OTP-15135'
* hasse/dialyzer/prettier_warnings/OTP-15135:
dialyzer: Remove quotes around operators
dialyzer: Add test cases with indentation
dialyzer: Add an --no_indentation option
dialyzer: Add parentheses around annotated union elements
dialyzer: Fix dialyzer_dataflow:format_args_1()
Diffstat (limited to 'lib/dialyzer/test/indent_SUITE_data/src/abs.erl')
-rw-r--r-- | lib/dialyzer/test/indent_SUITE_data/src/abs.erl | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/lib/dialyzer/test/indent_SUITE_data/src/abs.erl b/lib/dialyzer/test/indent_SUITE_data/src/abs.erl new file mode 100644 index 0000000000..0e38c3dbb7 --- /dev/null +++ b/lib/dialyzer/test/indent_SUITE_data/src/abs.erl @@ -0,0 +1,78 @@ +-module(abs). + +%% OTP-12948. erlang:abs/1 bug fix. + +-export([t/0]). + +t() -> + Fs = [fun i1/0, fun i2/0, fun i3/0, fun i4/0, fun f1/0, fun erl_551/0], + _ = [catch F() || F <- Fs], + ok. + +i1() -> + A = int(), + I1 = i1(A), + true = I1 < 2, + true = I1 < 1. % can never match + +-spec i1(neg_integer()) -> non_neg_integer(). + +i1(A) when is_integer(A), A < 0 -> + abs(A). + +i2() -> + A = int(), + I2 = i2(A), + true = I2 < 1, + true = I2 < 0. % can never match + +-spec i2(non_neg_integer()) -> non_neg_integer(). + +i2(A) when is_integer(A), A >= 0 -> + abs(A). + +i3() -> + A = int(), + I3 = i3(A), + true = I3 < -1, + true = I3 < 0. % can never match + +-spec i3(integer()) -> non_neg_integer(). + +i3(A) when is_integer(A) -> + abs(A). + +i4() -> + A = int(), + I4 = i4(A), + true = I4 =:= 0 orelse I4 =:= 1, + true = I4 < 0 orelse I4 > 1. % can never match + +-spec i4(integer()) -> number(). + +i4(A) when A =:= -1; A =:= 0; A =:= 1 -> + abs(A). + +f1() -> + F1 = f1(float()), + math:sqrt(F1). + +f1(A) -> + abs(A). + +erl_551() -> + accept(9), + accept(-3). + +accept(Number) when abs(Number) >= 8 -> first; +accept(_Number) -> second. + +-spec int() -> integer(). + +int() -> + foo:bar(). + +-spec float() -> float(). + +float() -> + math:sqrt(1.0). |