Skip to content

Commit d681f96

Browse files
committed
AbstractRange can be aliased
1 parent c07ab6e commit d681f96

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

src/dataframe/dataframe.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ end
232232

233233
function _preprocess_column(col::Any, len::Integer, copycols::Bool)
234234
if col isa AbstractRange
235-
return collect(col)
235+
return copycols ? collect(col) : col
236236
elseif col isa AbstractVector
237237
return copycols ? copy(col) : col
238238
elseif col isa Union{AbstractArray{<:Any, 0}, Ref}

test/alias.jl

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const ≅ = isequal
88
dfr = DataFrame(init, :auto)
99
@testset "$v" for v in [
1010
[1,2,3],
11+
1:3,
1112
]
1213
@testset "df.x2 = v" begin
1314
df = copy(dfr)

test/grouping.jl

+7-5
Original file line numberDiff line numberDiff line change
@@ -4171,7 +4171,7 @@ end
41714171
# eachindex on DataFrame
41724172
@test combine(df, eachindex) == DataFrame(eachindex=1:6)
41734173
@test isequal_coltyped(combine(DataFrame(), eachindex),
4174-
DataFrame(eachindex=Int[]))
4174+
DataFrame(eachindex=Base.OneTo(0), copycols = false))
41754175

41764176
# Disallowed operations
41774177
@test_throws ArgumentError groupindices(df)
@@ -4248,14 +4248,16 @@ end
42484248
DataFrame(x = df.x, id = df.id, eachindex = 1:6)
42494249
df = view(df, [], :)
42504250
df2 = combine(df, eachindex)
4251-
@test isequal_coltyped(df2, DataFrame(eachindex = Int[]))
4251+
@test isequal_coltyped(df2, DataFrame(eachindex = Base.OneTo(0), copycols = false))
42524252
@test isequal_coltyped(df2, combine(eachindex, df))
4253-
@test isequal_coltyped(df2, rename(combine(df, eachindex => :a), :a => :eachindex))
4253+
@test isequal_coltyped(df2, rename!(combine(df, eachindex => :a), :a => :eachindex))
4254+
@test isequal_coltyped(copy(df2), rename(combine(df, eachindex => :a), :a => :eachindex))
42544255

42554256
df2 = transform(df, eachindex)
4256-
@test isequal_coltyped(df2, DataFrame(x = Int[], id = Int[], eachindex = Int[]))
4257+
@test isequal_coltyped(df2, DataFrame(x = Int[], id = Int[], eachindex = Base.OneTo(0), copycols = false))
42574258
@test isequal_coltyped(df2, transform(eachindex, df))
4258-
@test isequal_coltyped(df2, rename(transform(df, eachindex => :a), :a => :eachindex))
4259+
@test isequal_coltyped(df2, rename!(transform(df, eachindex => :a), :a => :eachindex))
4260+
@test isequal_coltyped(copy(df2), rename(transform(df, eachindex => :a), :a => :eachindex))
42594261
end
42604262

42614263
@testset "fillfirst! correctness tests" begin

test/iteration.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ end
7373
df = DataFrame(a=1)
7474
df = mapcols(x -> 2:2, df)
7575
@test df == DataFrame(a=2)
76-
@test df.a isa Vector{Int}
76+
@test df.a isa AbstractRange{Int}
7777
end
7878

7979
@testset "mapcols!" begin

0 commit comments

Comments
 (0)