From 4aa359570f2ba59d3efee52cae52053284daf586 Mon Sep 17 00:00:00 2001 From: Stavros Aronis Date: Tue, 12 Feb 2013 14:51:24 +0100 Subject: Support for types with the same name and different arity --- .../test/small_SUITE_data/results/types_arity | 2 ++ .../test/small_SUITE_data/src/types_arity.erl | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 lib/dialyzer/test/small_SUITE_data/results/types_arity create mode 100644 lib/dialyzer/test/small_SUITE_data/src/types_arity.erl (limited to 'lib/dialyzer/test/small_SUITE_data') diff --git a/lib/dialyzer/test/small_SUITE_data/results/types_arity b/lib/dialyzer/test/small_SUITE_data/results/types_arity new file mode 100644 index 0000000000..02641bd167 --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/results/types_arity @@ -0,0 +1,2 @@ + +types_arity.erl:16: Invalid type specification for function types_arity:test2/0. The success typing is () -> {'node','a','nil','nil'} diff --git a/lib/dialyzer/test/small_SUITE_data/src/types_arity.erl b/lib/dialyzer/test/small_SUITE_data/src/types_arity.erl new file mode 100644 index 0000000000..4ddc986ea8 --- /dev/null +++ b/lib/dialyzer/test/small_SUITE_data/src/types_arity.erl @@ -0,0 +1,20 @@ +-module(types_arity). + +-export([ test1/0 + , test2/0 + , test3/0 + ]). + +-export_type([tree/0, tree/1]). + +-type tree(T) :: 'nil' | {'node', T, tree(T), tree(T)}. +-type tree() :: tree(integer()). + +-spec test1() -> tree(). +test1() -> {node, 7, nil, nil}. + +-spec test2() -> tree(). +test2() -> {node, a, nil, nil}. + +-spec test3() -> tree(atom()). +test3() -> {node, a, nil, nil}. -- cgit v1.2.3