Then considering the default methods available for dotview:
julia> methods(Base.dotview)
# 2 methods for generic function "dotview":
[1] dotview(B::BitArray, i::BitArray) in Base.Broadcast at broadcast.jl:1037
[2] dotview(args...) in Base.Broadcast at broadcast.jl:1067
julia> @edit Base.dotview(Float64[])
thereβs a comment on the catch-all definition saying:
# x[...] .= f.(y...) ---> broadcast!(f, dotview(x, ...), y...).
# The dotview function defaults to getindex, but we override it in
# a few cases to get the expected in-place behavior without affecting
# explicit calls to view. (All of this can go away if slices
# are changed to generate views by default.)
Base.@propagate_inbounds dotview(args...) = Base.maybeview(args...)