-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Improve DispatchFromDyn
and CoerceUnsized
impl validation
#135228
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Improve DispatchFromDyn
and CoerceUnsized
impl validation
#135228
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I don't think it's important to include both tests.
@bors r+ |
(feel free to r- and fix the typo before this lands if you care to 🤷♀️) |
hm yeah i'll update it @bors r- |
f47c58f
to
3cd7581
Compare
@bors r=BoxyUwU |
…atch, r=BoxyUwU Improve `DispatchFromDyn` and `CoerceUnsized` impl validation * Disallow arbitrary 1-ZST fields in `DispatchFromDyn` -- only `PhantomData`, and 1-ZSTs that mention no params (which is needed to support, e.g., the `Global` alloctor in `Box<T, U = Global>`). * Don't allow coercing between non-ZSTs to ZSTs (since the previous check wasn't actually checking the field tys were the same before checking the layout...) * Normalize the field before checking it's `PhantomData`. Fixes rust-lang#135215 Fixes rust-lang#135214 Fixes rust-lang#135220 r? `@BoxyUwU` or reassign
…atch, r=BoxyUwU Improve `DispatchFromDyn` and `CoerceUnsized` impl validation * Disallow arbitrary 1-ZST fields in `DispatchFromDyn` -- only `PhantomData`, and 1-ZSTs that mention no params (which is needed to support, e.g., the `Global` alloctor in `Box<T, U = Global>`). * Don't allow coercing between non-ZSTs to ZSTs (since the previous check wasn't actually checking the field tys were the same before checking the layout...) * Normalize the field before checking it's `PhantomData`. Fixes rust-lang#135215 Fixes rust-lang#135214 Fixes rust-lang#135220 r? ``@BoxyUwU`` or reassign
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#134940 (Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck) - rust-lang#135047 (Add gpu-kernel calling convention) - rust-lang#135228 (Improve `DispatchFromDyn` and `CoerceUnsized` impl validation) - rust-lang#135264 (Consider more erroneous layouts as `LayoutError::ReferencesError` to suppress spurious errors) - rust-lang#135302 (for purely return-type based searches, deprioritize clone-like functions) - rust-lang#135380 (Make sure we can produce `ConstArgHasWrongType` errors for valtree consts) - rust-lang#135425 (Do not consider traits that have unsatisfied const conditions to be conditionally const) r? `@ghost` `@rustbot` modify labels: rollup
…kingjubilee Rollup of 11 pull requests Successful merges: - rust-lang#134913 (bootstrap: do not rely on LIBRARY_PATH env variable) - rust-lang#134940 (Make sure to scrape region constraints from deeply normalizing type outlives assumptions in borrowck) - rust-lang#135228 (Improve `DispatchFromDyn` and `CoerceUnsized` impl validation) - rust-lang#135264 (Consider more erroneous layouts as `LayoutError::ReferencesError` to suppress spurious errors) - rust-lang#135302 (for purely return-type based searches, deprioritize clone-like functions) - rust-lang#135353 (re-add --disable-minification to rustdoc) - rust-lang#135380 (Make sure we can produce `ConstArgHasWrongType` errors for valtree consts) - rust-lang#135423 (Enforce syntactical stability of const traits in HIR) - rust-lang#135425 (Do not consider traits that have unsatisfied const conditions to be conditionally const) - rust-lang#135499 (fix underlining of hovered intra-doc links.) - rust-lang#135505 (Fix clippy lints in rustdoc) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#135228 - compiler-errors:normalizes-ur-dispatch, r=BoxyUwU Improve `DispatchFromDyn` and `CoerceUnsized` impl validation * Disallow arbitrary 1-ZST fields in `DispatchFromDyn` -- only `PhantomData`, and 1-ZSTs that mention no params (which is needed to support, e.g., the `Global` alloctor in `Box<T, U = Global>`). * Don't allow coercing between non-ZSTs to ZSTs (since the previous check wasn't actually checking the field tys were the same before checking the layout...) * Normalize the field before checking it's `PhantomData`. Fixes rust-lang#135215 Fixes rust-lang#135214 Fixes rust-lang#135220 r? ```@BoxyUwU``` or reassign
DispatchFromDyn
-- onlyPhantomData
, and 1-ZSTs that mention no params (which is needed to support, e.g., theGlobal
alloctor inBox<T, U = Global>
).PhantomData
.Fixes #135215
Fixes #135214
Fixes #135220
r? @BoxyUwU or reassign