@@ -96,10 +96,9 @@ defmodule Range do
96
96
@ enforce_keys [ :first , :last , :step ]
97
97
defstruct first: nil , last: nil , step: nil
98
98
99
- @ type first :: integer
100
- @ type last :: integer
99
+ @ type limit :: integer
101
100
@ type step :: pos_integer | neg_integer
102
- @ type t :: % __MODULE__ { first: first , last: last , step: step }
101
+ @ type t :: % __MODULE__ { first: limit , last: limit , step: step }
103
102
@ type t ( first , last ) :: % __MODULE__ { first: first , last: last , step: step }
104
103
105
104
@ doc """
@@ -119,7 +118,8 @@ defmodule Range do
119
118
-100..100
120
119
121
120
"""
122
- @ spec new ( first , last ) :: t
121
+
122
+ @ spec new ( limit , limit ) :: t
123
123
def new ( first , last ) when is_integer ( first ) and is_integer ( last ) do
124
124
# TODO: Deprecate inferring a range with step of -1 on Elixir v1.17
125
125
step = if first <= last , do: 1 , else: - 1
@@ -142,7 +142,7 @@ defmodule Range do
142
142
143
143
"""
144
144
@ doc since: "1.12.0"
145
- @ spec new ( first , last , step ) :: t
145
+ @ spec new ( limit , limit , step ) :: t
146
146
def new ( first , last , step )
147
147
when is_integer ( first ) and is_integer ( last ) and is_integer ( step ) and step != 0 do
148
148
% Range { first: first , last: last , step: step }
0 commit comments