Skip to content

Commit 948f3d7

Browse files
committed
Add alias and fix broken rebase
1 parent d286cc8 commit 948f3d7

File tree

2 files changed

+4
-28
lines changed

2 files changed

+4
-28
lines changed

base/essentials.jl

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,10 @@ end
172172
argtail(x, rest...) = rest
173173
tail(x::Tuple) = argtail(x...)
174174

175-
<<<<<<< HEAD
176-
tuple_type_head(T::Type) = (@_pure_meta; fieldtype(T::Type{<:Tuple}, 1))
175+
tuple_type_head(T::Type) = (@_unsafe_pure_meta; fieldtype(T::Type{<:Tuple}, 1))
177176

178177
function tuple_type_tail(T::Type)
179-
@_pure_meta
178+
@_unsafe_pure_meta
180179
if isa(T, UnionAll)
181180
return UnionAll(T.var, tuple_type_tail(T.body))
182181
elseif isa(T, Union)
@@ -187,31 +186,6 @@ function tuple_type_tail(T::Type)
187186
return T
188187
end
189188
return Tuple{argtail(T.parameters...)...}
190-
=======
191-
# TODO: a better / more infer-able definition would pehaps be
192-
# tuple_type_head(T::Type) = fieldtype(T::Type{<:Tuple}, 1)
193-
tuple_type_head(T::UnionAll) = (@_unsafe_pure_meta; UnionAll(T.var, tuple_type_head(T.body)))
194-
function tuple_type_head(T::Union)
195-
@_unsafe_pure_meta
196-
return Union{tuple_type_head(T.a), tuple_type_head(T.b)}
197-
end
198-
function tuple_type_head(T::DataType)
199-
@_unsafe_pure_meta
200-
T.name === Tuple.name || throw(MethodError(tuple_type_head, (T,)))
201-
return unwrapva(T.parameters[1])
202-
end
203-
204-
tuple_type_tail(T::UnionAll) = (@_unsafe_pure_meta; UnionAll(T.var, tuple_type_tail(T.body)))
205-
function tuple_type_tail(T::Union)
206-
@_unsafe_pure_meta
207-
return Union{tuple_type_tail(T.a), tuple_type_tail(T.b)}
208-
end
209-
function tuple_type_tail(T::DataType)
210-
@_unsafe_pure_meta
211-
T.name === Tuple.name || throw(MethodError(tuple_type_tail, (T,)))
212-
if isvatuple(T) && length(T.parameters) == 1
213-
return T
214-
>>>>>>> Rename bootstrap version of unsafe_pure
215189
end
216190
end
217191

base/expr.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,8 @@ macro unsafe_pure(ex)
217217
esc(isa(ex, Expr) ? pushmeta!(ex, :pure) : ex)
218218
end
219219

220+
@eval const $(Symbol("@pure")) = $(Symbol("@unsafe_pure"))
221+
220222
"""
221223
@propagate_inbounds
222224

0 commit comments

Comments
 (0)