-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove assert that checks type equality #115215
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
Ideally this would have a test. Is it impossible to minimize one from the example you linked? |
Spent some time trying to minimize it but, it's too interconnected. I didn't put a test for that reason, if we still need it I could add it. |
} | ||
} | ||
|
||
for (_, value) in values.into_iter().enumerate() { |
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.
Can you modify this to a FIXME like below? And add a test from the issue that was recently minimized?
@rustbot author |
Since #114858 is a stable-to-stable regression, should we consider backporting this to stable & beta once it is merged? |
I'll go ahead and nominate this patch for backports, I guess beta=1.73.0 and stable=1.72.1 (or 1.73.0 if we don't make it for the point release of Sept. 14th) @rustbot label +beta-nominated +stable-nominated |
The test was added so this looks ready to review. @rustbot ready |
as a safer fix here, can you try to anonymize bound vars + erase regions with a FIXME to figure out why we have to erase regions here? I think that should also fix the issue here while still preventing all actually harmful bugs |
After discussing details of the issue with the @lcnr they suggested me to keep this as |
let local = mir::Local::from_usize(local); | ||
let expected_ty = self.monomorphize(self.mir.local_decls[local].ty); | ||
if expected_ty != op.layout.ty { | ||
warn!("Unexpected initial operand type.See the issues/114858"); |
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.
warn!("Unexpected initial operand type.See the issues/114858"); | |
warn!("Unexpected initial operand type. See the issues/114858"); |
@@ -1,5 +1,6 @@ | |||
// run-pass | |||
// check-pass |
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.
maybe let's do build-pass
? Does this not get triggered by this code -- I would expect a stderr file here.
79ed30f
to
25cd191
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@bors r+ rollup |
@bors p=10 I'd like this landed quickly so we get testing on nightly prior to stable point release (currently aiming at 9/14). |
☀️ Test successful - checks-actions |
Finished benchmarking commit (e5fedce): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 630.886s -> 632.565s (0.27%) |
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…Simulacrum [stable] 1.72.1 release This backports: * Remove assert that checks type equality rust-lang#115215 * implied bounds: do not ICE on unconstrained region vars rust-lang#115559 * rustdoc: correctly deal with self ty params when eliding default object lifetimes rust-lang#115276 * Stop emitting non-power-of-two vectors in (non-portable-SIMD) codegen rust-lang#115236 * Normalize before checking if local is freeze in deduced_param_attrs rust-lang#114948 Some cherry-picks required merge conflict resolution, we'll see if I got it right based on CI (rustdoc fix and LLVM codegen test). r? `@Mark-Simulacrum`
…k-Simulacrum [beta] backport This PR backports: - rust-lang#115785: Only suggest turbofish in patterns if we may recover - rust-lang#115527: Don't require `Drop` for `[PhantomData<T>; N]` where `N` and `T` are generic, if `T` requires `Drop` - rust-lang#115389: fix(resolve): update def if binding is warning ambiguity - rust-lang#115215: Remove assert that checks type equality r? `@Mark-Simulacrum`
> 1.72.1 resolves a few regressions introduced in 1.72.0: > - [Partially revert codegen change, improving codegen](rust-lang/rust#115236) > - [rustdoc: Fix self ty params in objects with lifetimes](rust-lang/rust#115276) > - [Fix regression in compile times](rust-lang/rust#114948) > - Resolve some ICEs in the compiler: > - [#115215](rust-lang/rust#115215) > - [#115559](rust-lang/rust#115559)
#112307 although this prevented
unsound
issues it also seems to introduce regressions #114858 is example of this regression. I locally tested this #114858 (comment) issue and failing assert is this.This is also related to #115025