Skip to content

Commit 0db1f72

Browse files
yrashkJosé Valim
authored andcommitted
Change function type specification syntax (WIP)
Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
1 parent f1b81fd commit 0db1f72

File tree

14 files changed

+250
-236
lines changed

14 files changed

+250
-236
lines changed

lib/elixir/lib/behaviour.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ defmodule Behaviour do
6060
end
6161

6262
quote do
63-
@callback unquote(name)(unquote_splicing(args)), do: unquote(return)
63+
@callback unquote(name)(unquote_splicing(args)) :: unquote(return)
6464
Behaviour.store_docs __MODULE__, unquote(__CALLER__.line), unquote(name), unquote(arity)
6565
end
6666
end

lib/elixir/lib/dict.ex

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ defmodule Dict do
5555
Dict.keys d #=> [:a,:b]
5656
5757
"""
58-
@spec keys(t), do: [key]
58+
@spec keys(t) :: [key]
5959
def keys(dict) do
6060
elem(dict, 0).keys(dict)
6161
end
@@ -69,7 +69,7 @@ defmodule Dict do
6969
Dict.values d #=> [1,2]
7070
7171
"""
72-
@spec values(t), do: [value]
72+
@spec values(t) :: [value]
7373
def values(dict) do
7474
elem(dict, 0).values(dict)
7575
end
@@ -83,7 +83,7 @@ defmodule Dict do
8383
Dict.size d #=> 2
8484
8585
"""
86-
@spec size(t), do: non_neg_integer
86+
@spec size(t) :: non_neg_integer
8787
def size(dict) do
8888
elem(dict, 0).size(dict)
8989
end
@@ -98,7 +98,7 @@ defmodule Dict do
9898
Dict.has_key?(d, :b) #=> false
9999
100100
"""
101-
@spec has_key?(t, key), do: boolean
101+
@spec has_key?(t, key) :: boolean
102102
def has_key?(dict, key) do
103103
elem(dict, 0).has_key?(dict, key)
104104
end
@@ -115,8 +115,8 @@ defmodule Dict do
115115
Dict.get d, :b, 3 #=> 3
116116
117117
"""
118-
@spec get(t, key), do: value | nil
119-
@spec get(t, key, value), do: value
118+
@spec get(t, key) :: value | nil
119+
@spec get(t, key, value) :: value
120120
def get(dict, key, default // nil) do
121121
elem(dict, 0).get(dict, key, default)
122122
end
@@ -132,7 +132,7 @@ defmodule Dict do
132132
Dict.get d, :b #=> raises KeyError[key: :b]
133133
134134
"""
135-
@spec get!(t, key), do: value | no_return
135+
@spec get!(t, key) :: value | no_return
136136
def get!(dict, key) do
137137
elem(dict, 0).get!(dict, key)
138138
end
@@ -148,7 +148,7 @@ defmodule Dict do
148148
#=> [a: 3, b: 2]
149149
150150
"""
151-
@spec put(t, key, value), do: t
151+
@spec put(t, key, value) :: t
152152
def put(dict, key, val) do
153153
elem(dict, 0).put(dict, key, val)
154154
end
@@ -166,7 +166,7 @@ defmodule Dict do
166166
Dict.delete d, :a #=> [b: 2]
167167
168168
"""
169-
@spec delete(t, key), do: t
169+
@spec delete(t, key) :: t
170170
def delete(dict, key) do
171171
elem(dict, 0).delete(dict, key)
172172
end
@@ -185,7 +185,7 @@ defmodule Dict do
185185
#=> [a: 3, b: 2, d: 4]
186186
187187
"""
188-
@spec merge(t, t), do: t
188+
@spec merge(t, t) :: t
189189
def merge(dict1, dict2) do
190190
merge(dict1, dict2, fn(_k, _v1, v2) -> v2 end)
191191
end
@@ -204,7 +204,7 @@ defmodule Dict do
204204
#=> [a: 4, b: 2, d: 4]
205205
206206
"""
207-
@spec merge(t, t, fun(key, value, value, do: value)), do: t
207+
@spec merge(t, t, fun(key, value, value) :: value) :: t
208208
def merge(dict1, dict2, fun) do
209209
elem(dict1, 0).merge(dict1, dict2, fun)
210210
end
@@ -220,7 +220,7 @@ defmodule Dict do
220220
#=> [a: -1, b: 2]
221221
222222
"""
223-
@spec update(t, key, fun(value, do: value)), do: t
223+
@spec update(t, key, fun(value) :: value) :: t
224224
def update(dict, key, fun) do
225225
elem(dict, 0).update(dict, key, fun)
226226
end
@@ -237,15 +237,15 @@ defmodule Dict do
237237
#=> [a: 1, b: 2, c: 3]
238238
239239
"""
240-
@spec update(t, key, value, fun(value, do: value)), do: t
240+
@spec update(t, key, value, fun(value) :: value) :: t
241241
def update(dict, key, initial, fun) do
242242
elem(dict, 0).update(dict, key, initial, fun)
243243
end
244244

245245
@doc """
246246
Returns an empty dict of the same type as `dict`.
247247
"""
248-
@spec empty(t), do: t
248+
@spec empty(t) :: t
249249
def empty(dict) do
250250
elem(dict, 0).empty(dict)
251251
end
@@ -254,7 +254,7 @@ defmodule Dict do
254254
Returns a list of key-value pairs stored in `dict`.
255255
No particular order is enforced.
256256
"""
257-
@spec to_list(t), do: list
257+
@spec to_list(t) :: list
258258
def to_list(dict) do
259259
elem(dict, 0).to_list(dict)
260260
end

0 commit comments

Comments
 (0)