diff options
author | Hans Bolinder <hasse@erlang.org> | 2011-08-24 12:35:49 +0200 |
---|---|---|
committer | Hans Bolinder <hasse@erlang.org> | 2011-08-31 08:57:38 +0200 |
commit | ca7d2d43a839ab284104edea4663ada52d2c3e23 (patch) | |
tree | e748d3f36173e1054222c1bc3af249a69d13787d /lib/stdlib/src/sofs.erl | |
parent | 45942fb2f521ae7e043987eedc0d6197ba7b55b0 (diff) | |
download | otp-ca7d2d43a839ab284104edea4663ada52d2c3e23.tar.gz otp-ca7d2d43a839ab284104edea4663ada52d2c3e23.tar.bz2 otp-ca7d2d43a839ab284104edea4663ada52d2c3e23.zip |
Improve and correct types and specifications in Kernel and STDLIB
Running Dialyzer on the test suites revealed a few type errors.
Diffstat (limited to 'lib/stdlib/src/sofs.erl')
-rw-r--r-- | lib/stdlib/src/sofs.erl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/stdlib/src/sofs.erl b/lib/stdlib/src/sofs.erl index d38b8ab37a..34eb224647 100644 --- a/lib/stdlib/src/sofs.erl +++ b/lib/stdlib/src/sofs.erl @@ -81,7 +81,8 @@ -define(ORDTAG, 'OrdSet'). -record(?TAG, {data = [] :: list(), type = type :: term()}). --record(?ORDTAG, {orddata = {} :: tuple(), ordtype = type :: term()}). +-record(?ORDTAG, {orddata = {} :: tuple() | atom(), + ordtype = type :: term()}). -define(LIST(S), (S)#?TAG.data). -define(TYPE(S), (S)#?TAG.type). @@ -375,7 +376,7 @@ to_sets(S) when ?IS_ORDSET(S) -> -spec(no_elements(ASet) -> NoElements when ASet :: a_set() | ordset(), - NoElements :: pos_integer()). + NoElements :: non_neg_integer()). no_elements(S) when ?IS_SET(S) -> length(?LIST(S)); no_elements(S) when ?IS_ORDSET(S), is_tuple(?ORDTYPE(S)) -> |