[erlang-questions] Type tuple won't compile

Luis Rascão <>
Tue Dec 30 17:52:32 CET 2014


Hi all,
I'm having a hard time figuring out why the following code won't compile:

-module(t).

-export([test/1]).

-record(map, {a, b}).
-type map() :: #map{}.

-record(tuple, {a, b}).
-type tuple() :: #tuple{}.

-record(list, {a, b}).
-type list() :: #list{}.

-spec test(map() | tuple() | list()) -> map | tuple | list.
test(#map{}) -> map;
test(#tuple{}) -> tuple;
test(#list{}) -> list.

erlc t.erl:
   t.erl:9: type tuple() already defined

why should the tuple() type throw an error when the others do not?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20141230/51a304fb/attachment.html>


More information about the erlang-questions mailing list