@@ -772,16 +772,19 @@ end
772
772
773
773
# issue #27988: inference of Broadcast.flatten
774
774
using . Broadcast: Broadcasted
775
- let
775
+ let _cat_nested (bc) = Broadcast . flatten (bc) . args
776
776
bc = Broadcasted (+ , (Broadcasted (* , (1 , 2 )), Broadcasted (* , (Broadcasted (* , (3 , 4 )), 5 ))))
777
- @test @inferred (Broadcast . cat_nested (bc)) == (1 ,2 ,3 ,4 ,5 )
777
+ @test @inferred (_cat_nested (bc)) == (1 ,2 ,3 ,4 ,5 )
778
778
@test @inferred (Broadcast. materialize (Broadcast. flatten (bc))) == @inferred (Broadcast. materialize (bc)) == 62
779
779
bc = Broadcasted (+ , (Broadcasted (* , (1 , Broadcasted (/ , (2.0 , 2.5 )))), Broadcasted (* , (Broadcasted (* , (3 , 4 )), 5 ))))
780
- @test @inferred (Broadcast . cat_nested (bc)) == (1 ,2.0 ,2.5 ,3 ,4 ,5 )
780
+ @test @inferred (_cat_nested (bc)) == (1 ,2.0 ,2.5 ,3 ,4 ,5 )
781
781
@test @inferred (Broadcast. materialize (Broadcast. flatten (bc))) == @inferred (Broadcast. materialize (bc)) == 60.8
782
782
# 1 .* 1 .- 1 .* 1 .^2 .+ 1 .* 1 .+ 1 .^ 3
783
- bc = Base . Broadcast . Broadcasted (+ , (Base . Broadcast . Broadcasted (+ , (Base . Broadcast . Broadcasted (- , (Base . Broadcast . Broadcasted (* , (1 , 1 )), Base . Broadcast . Broadcasted (* , (1 , Base . Broadcast . Broadcasted (Base. literal_pow, (Base . RefValue {typeof (^)} ( ^ ) , 1 , Base . RefValue {Val{2}} (Val {2} ( )))))))), Base . Broadcast . Broadcasted (* , (1 , 1 )))), Base . Broadcast . Broadcasted (Base. literal_pow, (Base. RefValue {typeof(^)} (^ ), 1 , Base. RefValue {Val{3}} (Val {3} ())))))
783
+ bc = Broadcasted (+ , (Broadcasted (+ , (Broadcasted (- , (Broadcasted (* , (1 , 1 )), Broadcasted (* , (1 , Broadcasted (Base. literal_pow, (Ref (^ ), 1 , Ref (Val ( 2 )))))))), Broadcasted (* , (1 , 1 )))), Broadcasted (Base. literal_pow, (Base. RefValue {typeof(^)} (^ ), 1 , Base. RefValue {Val{3}} (Val {3} ())))))
784
784
@test @inferred (Broadcast. materialize (Broadcast. flatten (bc))) == @inferred (Broadcast. materialize (bc)) == 2
785
+ # @. 1 + 1 * (1 + 1 + 1 + 1)
786
+ bc = Broadcasted (+ , (1 , Broadcasted (* , (1 , Broadcasted (+ , (1 , 1 , 1 , 1 ))))))
787
+ @test @inferred (_cat_nested (bc)) == (1 ,1 ,1 ,1 ,1 ,1 ) # `cat_nested` failed to infer this
785
788
end
786
789
787
790
let
0 commit comments