- Flip the switch on the concatenation deprecation (#8599)
- Deprecate partial linear indexing (#5396, #14770)
- ReshapedArrays (#10507, #15449, https://groups.google.com/d/msg/julia-dev/7M5qzmXIChM/kOTlGSIvAwAJ)
- Julia native bounds checking and removal (#7799, #14474)
- Drop dimensions indexed by a scalar (#13612)
- Full APL slicing (#15431)
- Disallow indexing with extra trailing singletons?
- Return slices as views (#9150).
- Allow any index type in non-scalar indexing (#12567)
- Transpose returns a covector or transpose type (#4774)
- Ditch special lowering of Ac_mul_Bt, use dispatch instead. (#5332)
- Remove default no-op behavior for (c)transpose (#13171)
I realize I didn't spell out the connection between ReshapedArrays and linear algebra:
StridedArray
;reshape(sub(A, indexes...), sz)
creates a copy (returning anArray
, which isStrided
)In a future world,
reshape(sub(A, indexes...), sz)
isn'tStrided
and so can't be passed to BLAS. Hence we rely on our fallbacks for linear algebra, which do indexing likeA[i,j]
and this will be slow.The problems only crop up when you mix
reshape
andsub
orslice
. IfA[:, 2:3]
is going to not be a view in julia-0.5, this may not be sufficiently common to be a blocker.