# BroadcastStyle of a SubArray

**URL:** <https://discourse.julialang.org/t/broadcaststyle-of-a-subarray/128181>\
**Category:** Internals & Design\
**Tags:** broadcasting, adapt\
**Created:** [April 18, 2025, 7:50am UTC](https://discourse.julialang.org/t/broadcaststyle-of-a-subarray/128181 "2025-04-18T07:50:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![RainerHeintzmann](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rainerheintzmann/32/19726_2.png) [@RainerHeintzmann](https://discourse.julialang.org/u/RainerHeintzmann)\
**Post date:** [April 18, 2025, 7:50am UTC](https://discourse.julialang.org/t/broadcaststyle-of-a-subarray/128181/1 "2025-04-18T07:50:46Z")

</div>

The broadcast style of `SubArrray` (i.e. as obtained using `view`) is a `DefaultArrayStyle`:

```julia
julia> Base.BroadcastStyle(typeof(view(rand(10,10),2:3,3:4)))
Base.Broadcast.DefaultArrayStyle{2}()

```

yet it would be extremely useful, if it would automatically refer to the unwrapped array type such as returned by the `unwrap_type` function in the `Adapt.jl` package. In other words, it should be:

```julia
function Base.Broadcast.BroadcastStyle(W::Type{<:SubArray}) 
    return Base.Broadcast.BroadcastStyle(Adapt.unwrap_type(W))
end

```

This would help tremendously with writing generic Adapt code.  
Should this be part of Base Julia?
