aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src/sofs.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2011-09-02 08:40:55 +0200
committerHans Bolinder <[email protected]>2011-09-02 08:40:55 +0200
commitbb94e589c8495caf7c1fa6ebe808f6983ceaf44a (patch)
tree8a8cace285944209a52464eb8a2ecd7384094f8e /lib/stdlib/src/sofs.erl
parent8811898efa3862fbb32f5c7cd7eff3535084bea7 (diff)
parentca7d2d43a839ab284104edea4663ada52d2c3e23 (diff)
downloadotp-bb94e589c8495caf7c1fa6ebe808f6983ceaf44a.tar.gz
otp-bb94e589c8495caf7c1fa6ebe808f6983ceaf44a.tar.bz2
otp-bb94e589c8495caf7c1fa6ebe808f6983ceaf44a.zip
Merge branch 'hb/spec_improvements/OTP-9485' into dev
* hb/spec_improvements/OTP-9485: Improve and correct types and specifications in Kernel and STDLIB
Diffstat (limited to 'lib/stdlib/src/sofs.erl')
-rw-r--r--lib/stdlib/src/sofs.erl5
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)) ->