aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2014-11-24 17:19:12 +0100
committerHans Bolinder <[email protected]>2014-11-24 17:19:12 +0100
commitd09c774343b78d663143ecc8930743ccded5f1c1 (patch)
tree3c43332e7dd1eb6c83c2f685d8a571d1347a0087 /lib/dialyzer
parentee11116c547c4559ed899ecadef9cf2038b2b336 (diff)
downloadotp-d09c774343b78d663143ecc8930743ccded5f1c1.tar.gz
otp-d09c774343b78d663143ecc8930743ccded5f1c1.tar.bz2
otp-d09c774343b78d663143ecc8930743ccded5f1c1.zip
dialyzer: correct record updates
Correct a bug introduced in commit 8498a3.
Diffstat (limited to 'lib/dialyzer')
-rw-r--r--lib/dialyzer/test/small_SUITE_data/results/record_update2
-rw-r--r--lib/dialyzer/test/small_SUITE_data/src/record_update.erl10
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/dialyzer/test/small_SUITE_data/results/record_update b/lib/dialyzer/test/small_SUITE_data/results/record_update
new file mode 100644
index 0000000000..ea52057adf
--- /dev/null
+++ b/lib/dialyzer/test/small_SUITE_data/results/record_update
@@ -0,0 +1,2 @@
+
+record_update.erl:7: Invalid type specification for function record_update:quux/2. The success typing is (#foo{bar::atom()},atom()) -> #foo{bar::atom()}
diff --git a/lib/dialyzer/test/small_SUITE_data/src/record_update.erl b/lib/dialyzer/test/small_SUITE_data/src/record_update.erl
new file mode 100644
index 0000000000..bad7a0a929
--- /dev/null
+++ b/lib/dialyzer/test/small_SUITE_data/src/record_update.erl
@@ -0,0 +1,10 @@
+-module(record_update).
+
+-export([quux/2]).
+
+-record(foo, {bar :: atom()}).
+
+-spec quux(#foo{}, string()) -> #foo{}.
+
+quux(Foo, NotBar) ->
+ Foo#foo{ bar = NotBar }.