Skip to content

Commit 277bc34

Browse files
authored
these passed on 1.8
1 parent ef4fedd commit 277bc34

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

test/destructure.jl

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,15 @@ end
106106
end
107107

108108
@testset "using Yota" begin
109-
@test_broken Yota_gradient(m -> destructure(m)[1][1], m1)[1] == [1,0,0] # Unexpected expression: $(Expr(:static_parameter, 1))
110-
# These are all broken!
109+
@test Yota_gradient(m -> destructure(m)[1][1], m1)[1] == [1,0,0]
111110
@test Yota_gradient(m -> destructure(m)[1][2], m2)[1] == ([0,1,0], [0,0,0])
112-
@test Yota_gradient(m -> destructure(m)[1][3], (m1, m1))[1] == ([0,0,1], ZeroTangent())
113-
@test Yota_gradient(m -> destructure(m)[1][1], m3)[1] == (x = [1,0,0], y = ZeroTangent(), z = [0,0,0])
114-
@test Yota_gradient(m -> destructure(m)[1][2], m4)[1] == (x = [0,1,0], y = ZeroTangent(), z = [0,0,0])
111+
@test Yota_gradient(m -> destructure(m)[1][3], (m1, m1))[1] == ([0,0,1], nothing)
112+
@test Yota_gradient(m -> destructure(m)[1][1], m3)[1] == (x = [1,0,0], y = nothing, z = [0,0,0])
113+
@test Yota_gradient(m -> destructure(m)[1][2], m4)[1] == (x = [0,1,0], y = nothing, z = [0,0,0])
115114

116115
g5 = Yota_gradient(m -> destructure(m)[1][3], m5)[1]
117116
@test g5.a[1].x == [0,0,1]
118-
@test g5.a[2] === ZeroTangent()
117+
@test g5.a[2] === nothing
119118

120119
g6 = Yota_gradient(m -> imag(destructure(m)[1][4]), m6)[1]
121120
@test g6.a == [0,0,0]
@@ -128,7 +127,7 @@ end
128127
@test g8[3] == [[10.0]]
129128

130129
g9 = Yota_gradient(m -> sum(sqrt, destructure(m)[1]), m9)[1]
131-
@test g9.c === ZeroTangent()
130+
@test g9.c ===nothing
132131
end
133132
end
134133

@@ -199,11 +198,11 @@ end
199198
@test Yota_gradient(x -> re7(x).c[2][1], rand(3))[1] == [0,0,0]
200199

201200
v8, re8 = destructure(m8)
202-
@test_broken Yota_gradient(x -> sum(abs2, re8(x)[1].y), v8)[1] == [2,4,6,0,0] # MethodError: no method matching zero(::Type{Any})
203-
@test_broken Yota_gradient(x -> only(sum(re8(x)[3]))^2, v8)[1] == [0,0,0,0,10] # MethodError: no method matching !(::Expr)
201+
@test Yota_gradient(x -> sum(abs2, re8(x)[1].y), v8)[1] == [2,4,6,0,0]
202+
@test Yota_gradient(x -> only(sum(re8(x)[3]))^2, v8)[1] == [0,0,0,0,10]
204203

205204
re9 = destructure(m9)[2]
206-
@test_broken Yota_gradient(x -> sum(abs2, re9(x).c[1]), 1:7)[1] == [0,0,0, 8,10,12,14] # MethodError: no method matching zero(::Type{Array})
205+
@test Yota_gradient(x -> sum(abs2, re9(x).c[1]), 1:7)[1] == [0,0,0, 8,10,12,14]
207206
end
208207
end
209208

0 commit comments

Comments
 (0)