@@ -80,7 +80,7 @@ struct NoSuperType end
8080
8181 prow = ProjectTo ([1im 2 3im ])
8282 @test prow (transpose ([1 , 2 , 3 + 4.0im ])) == [1 2 3 + 4im ]
83- @test prow (transpose ([1 , 2 , 3 + 4.0im ])) isa Matrix # row vectors may not pass through
83+ @test prow (transpose ([1 , 2 , 3 + 4.0im ])) isa Matrix # row vectors may not pass through
8484 @test prow (adjoint ([1 , 2 , 3 + 5im ])) == [1 2 3 - 5im ]
8585 @test prow (adjoint ([1 , 2 , 3 ])) isa Matrix
8686
@@ -145,7 +145,7 @@ struct NoSuperType end
145145
146146 @test ProjectTo (Ref (true )) isa ProjectTo{NoTangent}
147147 @test ProjectTo (Ref ([false ]' )) isa ProjectTo{NoTangent}
148-
148+
149149 @test ProjectTo (Ref (1.0 ))(Ref (NoTangent ())) === NoTangent () # collapse all-zero
150150 end
151151
@@ -376,7 +376,7 @@ struct NoSuperType end
376376
377377 pvec3 = ProjectTo ([1 , 2 , 3 ])
378378 @test axes (pvec3 (OffsetArray (rand (3 ), 0 : 2 ))) == (1 : 3 ,)
379- @test pvec3 (OffsetArray (rand (3 ), 0 : 2 )) isa Vector # relies on axes === axes test
379+ @test pvec3 (OffsetArray (rand (3 ), 0 : 2 )) isa Vector # relies on axes === axes test
380380 @test pvec3 (OffsetArray (rand (3 ,1 ), 0 : 2 , 0 : 0 )) isa Vector
381381 end
382382
@@ -463,4 +463,12 @@ struct NoSuperType end
463463 psymm = ProjectTo (Symmetric (rand (10 ^ 3 , 10 ^ 3 )))
464464 @test_broken 0 == @ballocated $ psymm (dx) setup = (dx = Symmetric (rand (10 ^ 3 , 10 ^ 3 ))) # 64
465465 end
466+
467+ @testset " #685" begin
468+ @test ProjectTo (BitArray ([0 ]))([1.0 ]) == NoTangent ()
469+ @test ProjectTo (BitArray ([0 ]))(@thunk [1.0 ]) == NoTangent ()
470+
471+ it = InplaceableThunk (x -> x + [1 ], @thunk [1.0 ])
472+ @test ProjectTo (BitArray ([0 ]))(it) == NoTangent ()
473+ end
466474end
0 commit comments