No. For immutables, it is actually undefined what happens under the hood, when the user can’t tell the difference. This gives the compiler room for optimizations, see eg a recent discussion.
I think that the general rule in Base
and the standard library is that things are never copied implicitly, but converted when necessary. See
https://docs.julialang.org/en/v1/manual/conversion-and-promotion/#When-is-convert-called?-1