Hi, I'm trying to understand the bug report at https://github.com/andrewcooke/CRC.jl/issues/4 which has
julia> using CRC julia> crc32c = crc(CRC_32_C) handler (generic function with 3 methods) julia> a = b"hello world"; julia> crc32c(a) 0xc99465aa julia> resize!(a, 5) ERROR: cannot resize array with shared data in resize! at ./array.jl:545 but I can find no docs on what "shared data" for arrays means. All I have found is the C code at https://github.com/JuliaLang/julia/blob/master/src/array.c which, tbh, is a little opaque (what is a->how? how can i reset a->shared?) It sounds like the array code is doing something like reference counting and refusing to be mutable when there are references? How do I decrement the count? Is there any documentation on sharing of arrays? My guess is that a caller could work round this by making a copy, but that seems inefficient. Especially since my code simply iterates through the data and then "no longer cares". Sorry, this email is very vague. Given the lack of docs (nothing about sharing in the manual i can see) I wonder if I've stumbled over some internal detail that should not be exposed to users? Any help appreciated, Andrew
