I am trying to provide
@inbounds functionality for a custom type.
After reading the docs, I have experimented with various combinations of
@propagate_inbounds. But still I can’t seem to get it to work, and I have a feeling I’m doing something quite stupid.
Why in the example below, doesn’t
@inbounds A work as expected?
# Julia v0.6.0 struct MyType end #Base.checkbounds(A::MyType, i::Integer) = println("checking bounds ...") Base.checkbounds(A::MyType, i::Integer) = i < 0 && throw(BoundsError(A, i)) @inline function Base.getindex(A::MyType, i::Integer) @boundscheck checkbounds(A, i) return 17 end A = MyType() A @inbounds A