Skip to content

Commit 3801f17

Browse files
authored
Merge pull request #303 from yuyichao/0.7
Fix most depwarn and errors on 0.7
2 parents ee37112 + a4b2295 commit 3801f17

16 files changed

+91
-75
lines changed

REQUIRE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
julia 0.6.0
2+
Compat 0.26

src/MArray.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ macro MArray(ex)
168168
ex = ex.args[1]
169169
n_rng = length(ex.args) - 1
170170
rng_args = [ex.args[i+1].args[1] for i = 1:n_rng]
171-
rngs = [eval(current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
171+
rngs = [eval(_module_arg ? __module__ : current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
172172
rng_lengths = map(length, rngs)
173173

174174
f = gensym()
@@ -207,7 +207,7 @@ macro MArray(ex)
207207
ex = ex.args[2]
208208
n_rng = length(ex.args) - 1
209209
rng_args = [ex.args[i+1].args[1] for i = 1:n_rng]
210-
rngs = [eval(current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
210+
rngs = [eval(_module_arg ? __module__ : current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
211211
rng_lengths = map(length, rngs)
212212

213213
f = gensym()

src/MMatrix.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ macro MMatrix(ex)
154154
error("Use a 2-dimensional comprehension for @MMatrx")
155155
end
156156

157-
rng1 = eval(current_module(), ex.args[2].args[2])
158-
rng2 = eval(current_module(), ex.args[3].args[2])
157+
rng1 = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
158+
rng2 = eval(_module_arg ? __module__ : current_module(), ex.args[3].args[2])
159159
f = gensym()
160160
f_expr = :($f = (($(ex.args[2].args[1]), $(ex.args[3].args[1])) -> $(ex.args[1])))
161161
exprs = [:($f($j1, $j2)) for j1 in rng1, j2 in rng2]
@@ -174,8 +174,8 @@ macro MMatrix(ex)
174174
error("Use a 2-dimensional comprehension for @MMatrx")
175175
end
176176

177-
rng1 = eval(current_module(), ex.args[2].args[2])
178-
rng2 = eval(current_module(), ex.args[3].args[2])
177+
rng1 = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
178+
rng2 = eval(_module_arg ? __module__ : current_module(), ex.args[3].args[2])
179179
f = gensym()
180180
f_expr = :($f = (($(ex.args[2].args[1]), $(ex.args[3].args[1])) -> $(ex.args[1])))
181181
exprs = [:($f($j1, $j2)) for j1 in rng1, j2 in rng2]

src/MVector.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ macro MVector(ex)
6767
error("Use a one-dimensional comprehension for @MVector")
6868
end
6969

70-
rng = eval(current_module(), ex.args[2].args[2])
70+
rng = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
7171
f = gensym()
7272
f_expr = :($f = ($(ex.args[2].args[1]) -> $(ex.args[1])))
7373
exprs = [:($f($j)) for j in rng]
@@ -86,7 +86,7 @@ macro MVector(ex)
8686
error("Use a one-dimensional comprehension for @MVector")
8787
end
8888

89-
rng = eval(current_module(), ex.args[2].args[2])
89+
rng = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
9090
f = gensym()
9191
f_expr = :($f = ($(ex.args[2].args[1]) -> $(ex.args[1])))
9292
exprs = [:($f($j)) for j in rng]

src/SArray.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ macro SArray(ex)
131131
ex = ex.args[1]
132132
n_rng = length(ex.args) - 1
133133
rng_args = [ex.args[i+1].args[1] for i = 1:n_rng]
134-
rngs = Any[eval(current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
134+
rngs = Any[eval(_module_arg ? __module__ : current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
135135
rng_lengths = map(length, rngs)
136136

137137
f = gensym()
@@ -170,7 +170,7 @@ macro SArray(ex)
170170
ex = ex.args[2]
171171
n_rng = length(ex.args) - 1
172172
rng_args = [ex.args[i+1].args[1] for i = 1:n_rng]
173-
rngs = [eval(current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
173+
rngs = [eval(_module_arg ? __module__ : current_module(), ex.args[i+1].args[2]) for i = 1:n_rng]
174174
rng_lengths = map(length, rngs)
175175

176176
f = gensym()

src/SMatrix.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,8 @@ macro SMatrix(ex)
128128
error("Use a 2-dimensional comprehension for @SMatrix")
129129
end
130130

131-
rng1 = eval(current_module(), ex.args[2].args[2])
132-
rng2 = eval(current_module(), ex.args[3].args[2])
131+
rng1 = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
132+
rng2 = eval(_module_arg ? __module__ : current_module(), ex.args[3].args[2])
133133
f = gensym()
134134
f_expr = :($f = (($(ex.args[2].args[1]), $(ex.args[3].args[1])) -> $(ex.args[1])))
135135
exprs = [:($f($j1, $j2)) for j1 in rng1, j2 in rng2]
@@ -148,8 +148,8 @@ macro SMatrix(ex)
148148
error("Use a 2-dimensional comprehension for @SMatrix")
149149
end
150150

151-
rng1 = eval(current_module(), ex.args[2].args[2])
152-
rng2 = eval(current_module(), ex.args[3].args[2])
151+
rng1 = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
152+
rng2 = eval(_module_arg ? __module__ : current_module(), ex.args[3].args[2])
153153
f = gensym()
154154
f_expr = :($f = (($(ex.args[2].args[1]), $(ex.args[3].args[1])) -> $(ex.args[1])))
155155
exprs = [:($f($j1, $j2)) for j1 in rng1, j2 in rng2]

src/SVector.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ macro SVector(ex)
5858
error("Use a one-dimensional comprehension for @SVector")
5959
end
6060

61-
rng = eval(current_module(), ex.args[2].args[2])
61+
rng = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
6262
f = gensym()
6363
f_expr = :($f = ($(ex.args[2].args[1]) -> $(ex.args[1])))
6464
exprs = [:($f($j)) for j in rng]
@@ -77,7 +77,7 @@ macro SVector(ex)
7777
error("Use a one-dimensional comprehension for @SVector")
7878
end
7979

80-
rng = eval(current_module(), ex.args[2].args[2])
80+
rng = eval(_module_arg ? __module__ : current_module(), ex.args[2].args[2])
8181
f = gensym()
8282
f_expr = :($f = ($(ex.args[2].args[1]) -> $(ex.args[1])))
8383
exprs = [:($f($j)) for j in rng]

src/StaticArrays.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import Base: getindex, setindex!, size, similar, vec, show,
1414
maximum, extrema, mean, copy, rand, randn, randexp, rand!, randn!,
1515
randexp!, normalize, normalize!, read, read!, write, Eigen
1616

17+
using Compat
18+
1719
export StaticScalar, StaticArray, StaticVector, StaticMatrix
1820
export Scalar, SArray, SVector, SMatrix
1921
export MArray, MVector, MMatrix
@@ -29,6 +31,8 @@ export @MVector, @MMatrix, @MArray
2931
export similar_type
3032
export push, pop, shift, unshift, insert, deleteat, setindex
3133

34+
const _module_arg = isdefined(Base, Symbol("@__MODULE__"))
35+
3236
"""
3337
abstract type StaticArray{S, T, N} <: AbstractArray{T, N} end
3438
StaticScalar{T} = StaticArray{Tuple{}, T, 0}

src/util.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ TupleN{T,N} = NTuple{N,T}
55
@inline convert_ntuple(::Type{T},d::T) where {T} = T # For zero-dimensional arrays
66
@inline convert_ntuple(::Type{T},d::NTuple{N,T}) where {N,T} = d
77
@generated function convert_ntuple(::Type{T}, d::NTuple{N,Any}) where {N,T}
8-
exprs = ntuple(i -> :(convert(T, d[$i])), Val{N})
8+
exprs = ntuple(i -> :(convert(T, d[$i])), Val(N))
99
return quote
1010
@_inline_meta
1111
$(Expr(:tuple, exprs...))

test/MArray.jl

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
@test ((@MArray [1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2])::MArray{Tuple{2,2,2,2,2,2}}).data === ntuple(i->1, 64)
4646
@test ((@MArray [1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2])::MArray{Tuple{2,2,2,2,2,2,2}}).data === ntuple(i->1, 128)
4747
@test ((@MArray [1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2])::MArray{Tuple{2,2,2,2,2,2,2,2}}).data === ntuple(i->1, 256)
48-
@test (ex = macroexpand(:(@MArray [1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2, q = 1:2])); isa(ex, Expr) && ex.head == :error)
48+
test_expand_error(:(@MArray [1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2, q = 1:2]))
4949
@test ((@MArray Float64[i for i = 1:2])::MArray{Tuple{2}}).data === (1.0, 2.0)
5050
@test ((@MArray Float64[i*j for i = 1:2, j = 2:3])::MArray{Tuple{2,2}}).data === (2.0, 4.0, 3.0, 6.0)
5151
@test ((@MArray Float64[i*j*k for i = 1:2, j = 2:3, k =3:4])::MArray{Tuple{2,2,2}}).data === (6.0, 12.0, 9.0, 18.0, 8.0, 16.0, 12.0, 24.0)
@@ -54,18 +54,18 @@
5454
@test ((@MArray Float64[1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2])::MArray{Tuple{2,2,2,2,2,2}}).data === ntuple(i->1.0, 64)
5555
@test ((@MArray Float64[1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2])::MArray{Tuple{2,2,2,2,2,2,2}}).data === ntuple(i->1.0, 128)
5656
@test ((@MArray Float64[1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2])::MArray{Tuple{2,2,2,2,2,2,2,2}}).data === ntuple(i->1.0, 256)
57-
@test (ex = macroexpand(:(@MArray Float64[1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2, q = 1:2])); isa(ex, Expr) && ex.head == :error)
58-
59-
@test (ex = macroexpand(:(@MArray [1 2; 3])); isa(ex, Expr) && ex.head == :error)
60-
@test (ex = macroexpand(:(@MArray Float64[1 2; 3])); isa(ex, Expr) && ex.head == :error)
61-
@test (ex = macroexpand(:(@MArray fill)); isa(ex, Expr) && ex.head == :error)
62-
@test (ex = macroexpand(:(@MArray ones)); isa(ex, Expr) && ex.head == :error)
63-
@test (ex = macroexpand(:(@MArray sin(1:5))); isa(ex, Expr) && ex.head == :error)
64-
@test (ex = macroexpand(:(@MArray fill())); isa(ex, Expr) && ex.head == :error)
65-
@test (ex = macroexpand(:(@MArray ones())); isa(ex, Expr) && ex.head == :error)
66-
@test (ex = macroexpand(:(@MArray fill(1))); isa(ex, Expr) && ex.head == :error)
67-
@test (ex = macroexpand(:(@MArray eye(5,6,7,8,9))); isa(ex, Expr) && ex.head == :error)
68-
@test (ex = macroexpand(:(@MArray [1; 2; 3; 4]...)); isa(ex, Expr) && ex.head == :error)
57+
test_expand_error(:(@MArray Float64[1 for i = 1:2, j = 2:3, k = 3:4, l = 1:2, m = 1:2, n = 1:2, o = 1:2, p = 1:2, q = 1:2]))
58+
59+
test_expand_error(:(@MArray [1 2; 3]))
60+
test_expand_error(:(@MArray Float64[1 2; 3]))
61+
test_expand_error(:(@MArray fill))
62+
test_expand_error(:(@MArray ones))
63+
test_expand_error(:(@MArray sin(1:5)))
64+
test_expand_error(:(@MArray fill()))
65+
test_expand_error(:(@MArray ones()))
66+
test_expand_error(:(@MArray fill(1)))
67+
test_expand_error(:(@MArray eye(5,6,7,8,9)))
68+
test_expand_error(:(@MArray [1; 2; 3; 4]...))
6969

7070
@test ((@MArray fill(3.,2,2,1))::MArray{Tuple{2,2,1}, Float64}).data === (3.0, 3.0, 3.0, 3.0)
7171
@test ((@MArray zeros(2,2,1))::MArray{Tuple{2,2,1}, Float64}).data === (0.0, 0.0, 0.0, 0.0)

0 commit comments

Comments
 (0)