Skip to content

Conversation

compiler-errors
Copy link
Member

Suppress spurious errors from the Copy impl validity check when fields have bad types post-normalization, instead of just pre-normalization.


The const-generics test regressed recently due to #107965, cc @BoxyUwU.

  • I think it's because [_; 0u32]: Copy now fails to hold because a nested obligation ConstArgHasType(0u32, usize) fails.
  • It's interesting that [const_error] shows up in the type only after normalization, though, but I'm pretty sure that it's due to the evaluate call that happens when normalizing unevaluated consts.

@rustbot
Copy link
Collaborator

rustbot commented Mar 7, 2023

r? @cjgillot

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 7, 2023
@BoxyUwU
Copy link
Member

BoxyUwU commented Mar 8, 2023

r? @BoxyUwU @bors r+ rollup

@bors
Copy link
Collaborator

bors commented Mar 8, 2023

📌 Commit 8a99ffc has been approved by BoxyUwU

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 8, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 8, 2023
…, r=BoxyUwU

Suppress copy impl error when post-normalized type references errors

Suppress spurious errors from the `Copy` impl validity check when fields have bad types *post*-normalization, instead of just pre-normalization.

----

The const-generics test regressed recently due to rust-lang#107965, cc `@BoxyUwU.`
 * I think it's because `[_; 0u32]: Copy` now fails to hold because a nested obligation `ConstArgHasType(0u32, usize)` fails.
 * It's interesting that `[const_error]` shows up in the type only after normalization, though, but I'm pretty sure that it's due to the evaluate call that happens when normalizing unevaluated consts.
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Mar 8, 2023
…, r=BoxyUwU

Suppress copy impl error when post-normalized type references errors

Suppress spurious errors from the `Copy` impl validity check when fields have bad types *post*-normalization, instead of just pre-normalization.

----

The const-generics test regressed recently due to rust-lang#107965, cc ``@BoxyUwU.``
 * I think it's because `[_; 0u32]: Copy` now fails to hold because a nested obligation `ConstArgHasType(0u32, usize)` fails.
 * It's interesting that `[const_error]` shows up in the type only after normalization, though, but I'm pretty sure that it's due to the evaluate call that happens when normalizing unevaluated consts.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 8, 2023
…, r=BoxyUwU

Suppress copy impl error when post-normalized type references errors

Suppress spurious errors from the `Copy` impl validity check when fields have bad types *post*-normalization, instead of just pre-normalization.

----

The const-generics test regressed recently due to rust-lang#107965, cc ```@BoxyUwU.```
 * I think it's because `[_; 0u32]: Copy` now fails to hold because a nested obligation `ConstArgHasType(0u32, usize)` fails.
 * It's interesting that `[const_error]` shows up in the type only after normalization, though, but I'm pretty sure that it's due to the evaluate call that happens when normalizing unevaluated consts.
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Mar 8, 2023
…, r=BoxyUwU

Suppress copy impl error when post-normalized type references errors

Suppress spurious errors from the `Copy` impl validity check when fields have bad types *post*-normalization, instead of just pre-normalization.

----

The const-generics test regressed recently due to rust-lang#107965, cc ````@BoxyUwU.````
 * I think it's because `[_; 0u32]: Copy` now fails to hold because a nested obligation `ConstArgHasType(0u32, usize)` fails.
 * It's interesting that `[const_error]` shows up in the type only after normalization, though, but I'm pretty sure that it's due to the evaluate call that happens when normalizing unevaluated consts.
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 8, 2023
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#108686 (rustdoc: include link on all.html location header)
 - rust-lang#108846 (StableMIR: Proof-of-concept implementation + test )
 - rust-lang#108873 (Simplify `sort_by` calls)
 - rust-lang#108883 (Suppress copy impl error when post-normalized type references errors)
 - rust-lang#108884 (Tweak illegal `Copy` impl message)
 - rust-lang#108887 (Rename `MapInPlace` as `FlatMapInPlace`.)
 - rust-lang#108901 (fix: evaluate with wrong obligation stack)
 - rust-lang#108903 (Move Clippy tests back to their intended directory)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f6b8a9f into rust-lang:master Mar 9, 2023
@rustbot rustbot added this to the 1.70.0 milestone Mar 9, 2023
@compiler-errors compiler-errors deleted the post-norm-copy-err branch August 11, 2023 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants