diff --git a/Project.toml b/Project.toml index 6253ed99..f55c706d 100644 --- a/Project.toml +++ b/Project.toml @@ -47,7 +47,7 @@ Adapt = "4" Aqua = "0.8" ArrayInterface = "7.16" DocStringExtensions = "0.9.3" -FastBroadcast = "0.3.5, 1" +FastBroadcast = "1.1" ForwardDiff = "0.10.38, 1" GPUArraysCore = "0.2" KernelAbstractions = "0.9.36" diff --git a/ext/RecursiveArrayToolsFastBroadcastExt.jl b/ext/RecursiveArrayToolsFastBroadcastExt.jl index 473657a6..07fd1425 100644 --- a/ext/RecursiveArrayToolsFastBroadcastExt.jl +++ b/ext/RecursiveArrayToolsFastBroadcastExt.jl @@ -8,10 +8,11 @@ const AbstractVectorOfSArray = AbstractVectorOfArray{ T, N, <:AbstractVector{<:StaticArraysCore.SArray}, } where {T, N} +# Override the base 2-arg path (called by Serial dispatch and direct macro path) @inline function FastBroadcast.fast_materialize!( - ::FastBroadcast.Static.False, ::DB, dst::AbstractVectorOfSArray, + dst::AbstractVectorOfSArray, bc::Broadcast.Broadcasted{S} - ) where {S, DB} + ) where {S} if FastBroadcast.use_fast_broadcast(S) for i in 1:length(dst.u) unpacked = RecursiveArrayTools.unpack_voa(bc, i)