Gary Guo <[email protected]> writes: > On Mon, 17 Nov 2025 10:07:57 +0000 > Oliver Mangold <[email protected]> wrote: > >> `AlwaysRefCounted` will become a marker trait to indicate that it is >> allowed to obtain an `ARef<T>` from a `&T`, which cannot be allowed for >> types which are also Ownable. > > The message needs a rationale for making the change rather than relying > on the reader to deduce so. > > For example: > > There are types where it may both be referenced counted in some > cases and owned in other. In such cases, obtaining `ARef<T>` > from `&T` would be unsound as it allows creation of `ARef<T>` > copy from `&Owned<T>`. > > Therefore, we split `AlwaysRefCounted` into `RefCounted` (which > `ARef<T>` would require) and a marker trait to indicate that > the type is always reference counted (and not `Ownable`) so the > `&T` -> `ARef<T>` conversion is possible.
Thanks, I'll mix this in with the one I sent to Daniel. Best regards, Andreas Hindborg
