Skip to content

Commit 74d1ead

Browse files
author
Pietro Vertechi
authored
use defaultarray for collection (#123)
* use defaultarray as default for collection * bump project file * also test on julia 1.4
1 parent 62d7bfd commit 74d1ead

File tree

5 files changed

+13
-11
lines changed

5 files changed

+13
-11
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ julia:
88
- 1.1
99
- 1.2
1010
- 1.3
11+
- 1.4
1112
- nightly
1213
notifications:
1314
email: false

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "StructArrays"
22
uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
3-
version = "0.4.2"
3+
version = "0.4.3"
44

55
[deps]
66
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"

src/StructArrays.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ include("tables.jl")
1717

1818
# Implement refarray and refvalue to deal with pooled arrays and weakrefstrings effectively
1919
import DataAPI: refarray, refvalue
20+
using DataAPI: defaultarray
2021

2122
refarray(s::StructArray) = StructArray(map(refarray, fieldarrays(s)))
2223

src/collect.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
default_array(::Type{S}, d::NTuple{N, Any}) where {S, N} = similar(Array{S, N}, d)
1+
arrayof(::Type{S}, d::NTuple{N, Any}) where {S, N} = similar(defaultarray(S, N), d)
22

33
struct StructArrayInitializer{F, G}
44
unwrap::F
5-
default_array::G
5+
arrayof::G
66
end
7-
StructArrayInitializer(unwrap = t->false) = StructArrayInitializer(unwrap, default_array)
7+
StructArrayInitializer(unwrap = t->false) = StructArrayInitializer(unwrap, arrayof)
88

99
const default_initializer = StructArrayInitializer()
1010

1111
function (s::StructArrayInitializer)(S, d)
12-
ai = ArrayInitializer(s.unwrap, s.default_array)
12+
ai = ArrayInitializer(s.unwrap, s.arrayof)
1313
buildfromschema(typ -> ai(typ, d), S)
1414
end
1515

1616
struct ArrayInitializer{F, G}
1717
unwrap::F
18-
default_array::G
18+
arrayof::G
1919
end
20-
ArrayInitializer(unwrap = t->false) = ArrayInitializer(unwrap, default_array)
20+
ArrayInitializer(unwrap = t->false) = ArrayInitializer(unwrap, arrayof)
2121

22-
(s::ArrayInitializer)(S, d) = s.unwrap(S) ? buildfromschema(typ -> s(typ, d), S) : s.default_array(S, d)
22+
(s::ArrayInitializer)(S, d) = s.unwrap(S) ? buildfromschema(typ -> s(typ, d), S) : s.arrayof(S, d)
2323

2424
_axes(itr) = _axes(itr, Base.IteratorSize(itr))
2525
_axes(itr, ::Base.SizeUnknown) = nothing

test/runtests.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,10 +363,10 @@ StructArrays.createinstance(::Type{<:S}, x, y) = S(x)
363363
@test v[1].y isa Float64
364364
end
365365

366-
@testset "default_array" begin
367-
v = StructArrays.default_array(Missing, (2,))
366+
@testset "arrayof" begin
367+
v = StructArrays.arrayof(Missing, (2,))
368368
@test v isa Array{Missing, 1}
369-
v = StructArrays.default_array(Int, (2,))
369+
v = StructArrays.arrayof(Int, (2,))
370370
@test v isa Array{Int, 1}
371371
end
372372

0 commit comments

Comments
 (0)