aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/test/small_SUITE_data/results/left_assoc
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2018-08-27 13:14:29 +0200
committerHans Bolinder <[email protected]>2018-08-28 08:27:52 +0200
commitfd9b5ae4193fbab66093c88728c0dbeaa3b57312 (patch)
treefd3f8b46afb4b5745f0f9a02b2498cad7826bedc /lib/dialyzer/test/small_SUITE_data/results/left_assoc
parent00401985f1c9227b6e94309ae5526c2ebf341527 (diff)
downloadotp-fd9b5ae4193fbab66093c88728c0dbeaa3b57312.tar.gz
otp-fd9b5ae4193fbab66093c88728c0dbeaa3b57312.tar.bz2
otp-fd9b5ae4193fbab66093c88728c0dbeaa3b57312.zip
dialyzer: Improve handling of complex guards
See also https://bugs.erlang.org/browse/ERL-680. The right associative short circuit expressions 'andalso' and 'orelse' are expanded by the Compiler (see v3_core) into 'case' expressions. If parentheses are used to enforce left associativeness, variables are introduced, and the time needed by Dialyzer increases exponentially. Rather than trying to fix Dialyzer itself, v3_core now rewrites repeated use of 'andalso' ('orelse') into right associative expressions before creating the 'case' expressions.
Diffstat (limited to 'lib/dialyzer/test/small_SUITE_data/results/left_assoc')
-rw-r--r--lib/dialyzer/test/small_SUITE_data/results/left_assoc2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/dialyzer/test/small_SUITE_data/results/left_assoc b/lib/dialyzer/test/small_SUITE_data/results/left_assoc
new file mode 100644
index 0000000000..58cdad29de
--- /dev/null
+++ b/lib/dialyzer/test/small_SUITE_data/results/left_assoc
@@ -0,0 +1,2 @@
+
+left_assoc.erl:93: The variable __@2 can never match since previous clauses completely covered the type binary()