-
Notifications
You must be signed in to change notification settings - Fork 14k
Closed
Labels
F-dyn_star`#![feature(dyn_star)]``#![feature(dyn_star)]`T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.
Description
Currently trait upcasting is done via the Unsize/CoerceUnsized traits -- however, since CoerceUnsized works structurally, implementing dyn* upcasting via the same codepaths allows this erroneous code to make it to codegen and ICE:
That's why although dyn* trait upcasting was implemented in #101832, I removed it in #104594 due to introduced ICEs.
- We should decide first whether we actually want the burden of implementing
dyn*upcasting first, sincedyn*is not currently intended to be user-facing syntax. Due to this, the feature is not currently needed even if it is interesting and possible theoretically. - If we decide that we do want
dyn*upcasting, then it needs to be implemented separately fromdyn Traitupcasting with a much narrower scope.
Metadata
Metadata
Assignees
Labels
F-dyn_star`#![feature(dyn_star)]``#![feature(dyn_star)]`T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.