diff --git a/src/base.jl b/src/base.jl index e4c6dd0..6a55250 100644 --- a/src/base.jl +++ b/src/base.jl @@ -1,13 +1,6 @@ # predefined adaptors for working with types from the Julia standard library -# Use recursion to avoid inference bail-out in `map` -#adapt_structure(to, xs::Union{Tuple,NamedTuple}) = map(adapt(to), xs) -adapt_structure(to, xs::NamedTuple) = map(adapt(to), xs) -adapt_structure(to, xs::Tuple) = _adapt_tuple_structure(to, xs) -_adapt_tuple_structure(to, xs::Tuple) = - (adapt(to, first(xs)), _adapt_tuple_structure(to, Base.tail(xs))...) -_adapt_tuple_structure(to, xs::Tuple{}) = () -_adapt_tuple_structure(to, xs::Tuple{<:Any}) = (adapt(to, first(xs)), ) +adapt_structure(to, xs::Union{Tuple,NamedTuple}) = map(adapt(to), xs) ## Closures