reference icon indicating copy to clipboard operation
reference copied to clipboard

Unsized coercion of TyCtor(T) clarity issue

Open gdennie opened this issue 3 years ago • 1 comments

In type-coercions.md, the following is really not clear:

* TyCtor(`T`) to TyCtor(`U`), where TyCtor(`T`) is one of
    - `&T`
    - `&mut T`
    - `*const T`
    - `*mut T`
    - `Box<T>`

    and where `U` can be obtained from `T` by [unsized coercion](#unsized-coercions).

    <!--In the future, coerce_inner will be recursively extended to tuples and
    structs. In addition, coercions from subtraits to supertraits will be
    added. See [RFC 401] for more details.-->

Ideally, the text should not require deciphering. It seems to be redundantly stating that &T can be coerced to &U. However, is it merely stating that &, &mut, *const, *mut, and Box have special permissibility when unsized coercions exists for their argument types.

gdennie avatar Aug 29 '22 16:08 gdennie

I feel like this whole bullet point might have simply become seriously outdated, because it appears to describe some (but not all) of the coercions that now work via CoerceUnsized. Here’s some relevant forum discussion.

steffahn avatar Sep 18 '22 12:09 steffahn