aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
diff options
context:
space:
mode:
authorKostis Sagonas <kostis@cs.ntua.gr>2010-05-28 14:37:20 +0300
committerRaimo Niskanen <raimo@erlang.org>2010-06-07 14:24:46 +0200
commit5a1b230f3ecb6d8b4f88e6df8fd33e3707f80cd8 (patch)
tree6ebb62c5a876855f8061992324bab5c9ce428607 /lib/stdlib
parent707c6510597e5eb6e32b88412edd717e0e3c39ba (diff)
downloadotp-5a1b230f3ecb6d8b4f88e6df8fd33e3707f80cd8.tar.gz
otp-5a1b230f3ecb6d8b4f88e6df8fd33e3707f80cd8.tar.bz2
otp-5a1b230f3ecb6d8b4f88e6df8fd33e3707f80cd8.zip
Remove tid() from the predefined builtin types.
Change erl_lint not to recognize this type as builtin and add a new erl_lint.beam version in bootstrap. Add an -opaque type declaration for this type in ets.erl and also declare this as an exported type. Use this type in file debugger/src/dbg_iload.erl in a spec. While at it, also clean up this later file a bit.
Diffstat (limited to 'lib/stdlib')
-rw-r--r--lib/stdlib/src/erl_lint.erl2
-rw-r--r--lib/stdlib/src/ets.erl9
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl
index 6bbb52ebae..c8bbb04e9a 100644
--- a/lib/stdlib/src/erl_lint.erl
+++ b/lib/stdlib/src/erl_lint.erl
@@ -2672,7 +2672,6 @@ default_types() ->
{set, 0},
{string, 0},
{term, 0},
- {tid, 0},
{timeout, 0},
{var, 1}],
dict:from_list([{T, -1} || T <- DefTypes]).
@@ -2694,7 +2693,6 @@ is_newly_introduced_builtin_type({gb_tree, 0}) -> true; % opaque
is_newly_introduced_builtin_type({iodata, 0}) -> true;
is_newly_introduced_builtin_type({queue, 0}) -> true; % opaque
is_newly_introduced_builtin_type({set, 0}) -> true; % opaque
-is_newly_introduced_builtin_type({tid, 0}) -> true; % opaque
%% R13B01
is_newly_introduced_builtin_type({boolean, 0}) -> true;
is_newly_introduced_builtin_type({Name, _}) when is_atom(Name) -> false.
diff --git a/lib/stdlib/src/ets.erl b/lib/stdlib/src/ets.erl
index b0a197d784..1d033f6f7b 100644
--- a/lib/stdlib/src/ets.erl
+++ b/lib/stdlib/src/ets.erl
@@ -42,12 +42,15 @@
-export([i/0, i/1, i/2, i/3]).
--export_type([tab/0]).
+-export_type([tab/0, tid/0]).
-%%------------------------------------------------------------------------------
+%%-----------------------------------------------------------------------------
-type tab() :: atom() | tid().
+%% a similar definition is also in erl_types
+-opaque tid() :: integer().
+
-type ext_info() :: 'md5sum' | 'object_count'.
-type protection() :: 'private' | 'protected' | 'public'.
-type type() :: 'bag' | 'duplicate_bag' | 'ordered_set' | 'set'.
@@ -65,7 +68,7 @@
-type match_pattern() :: atom() | tuple().
-type match_specs() :: [{match_pattern(), [_], [_]}].
-%%------------------------------------------------------------------------------
+%%-----------------------------------------------------------------------------
%% The following functions used to be found in this module, but
%% are now BIFs (i.e. implemented in C).