Skip to content
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

ScalarInt: size mismatches are a bug, do not delay the panic #126159

Merged
merged 1 commit into from
Jun 10, 2024

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Jun 8, 2024

Cc Zulip

r? @oli-obk

@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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Jun 8, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jun 8, 2024

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

Some changes occurred in compiler/rustc_codegen_gcc

cc @antoyo, @GuillaumeGomez

Some changes occurred in match checking

cc @Nadrieril

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

Some changes occurred in compiler/rustc_codegen_cranelift

cc @bjorn3

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred in rustc_ty_utils::consts.rs

cc @BoxyUwU

Some changes occurred in exhaustiveness checking

cc @Nadrieril

The Miri subtree was changed

cc @rust-lang/miri

@RalfJung RalfJung force-pushed the scalarint-size-mismatch branch from 327e380 to 054b0d7 Compare June 8, 2024 14:27
@rust-log-analyzer

This comment has been minimized.

@RalfJung
Copy link
Member Author

RalfJung commented Jun 8, 2024

#11 ERROR: process "/bin/sh -c pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt && pip3 install virtualenv" did not complete successfully: exit code: 1

That looks unrelated to my PR.

@RalfJung RalfJung force-pushed the scalarint-size-mismatch branch from 054b0d7 to 3c57ea0 Compare June 10, 2024 11:43
@@ -2385,11 +2385,10 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
min_len: u64,
) -> (Option<Ty<'tcx>>, Ty<'tcx>) {
let len = match len.eval(self.tcx, self.param_env, span) {
// FIXME(BoxyUwU): Assert the `Ty` is a `usize`?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This assert hasn't been added

Copy link
Member Author

@RalfJung RalfJung Jun 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to_target_usize is implicitly asserting that this is a scalar of the right size.

I don't see why this should re-do the work done by typeck and ensure that array sizes are usize beyond this basic sanity check.

@oli-obk
Copy link
Contributor

oli-obk commented Jun 10, 2024

@bors r+

@bors
Copy link
Contributor

bors commented Jun 10, 2024

📌 Commit 3c57ea0 has been approved by oli-obk

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 Jun 10, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 10, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 10, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#126036 (Migrate `run-make/short-ice` to `rmake`)
 - rust-lang#126063 (Remove some unused crate dependencies.)
 - rust-lang#126115 (Fix ICE due to `unwrap` in `probe_for_name_many`)
 - rust-lang#126159 (ScalarInt: size mismatches are a bug, do not delay the panic)
 - rust-lang#126184 (interpret: do not ICE on padded non-pow2 SIMD vectors)
 - rust-lang#126191 (Fix `NonZero` doctest inconsistencies)
 - rust-lang#126211 (migrate tests/run-make/llvm-outputs to use rmake.rs)
 - rust-lang#126212 (fix: build on haiku)
 - rust-lang#126215 (Add explanatory note to async block type mismatch error)
 - rust-lang#126223 (run-make: add `run_in_tmpdir` self-test)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 10, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#126063 (Remove some unused crate dependencies.)
 - rust-lang#126115 (Fix ICE due to `unwrap` in `probe_for_name_many`)
 - rust-lang#126159 (ScalarInt: size mismatches are a bug, do not delay the panic)
 - rust-lang#126184 (interpret: do not ICE on padded non-pow2 SIMD vectors)
 - rust-lang#126191 (Fix `NonZero` doctest inconsistencies)
 - rust-lang#126211 (migrate tests/run-make/llvm-outputs to use rmake.rs)
 - rust-lang#126212 (fix: build on haiku)
 - rust-lang#126215 (Add explanatory note to async block type mismatch error)
 - rust-lang#126223 (run-make: add `run_in_tmpdir` self-test)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 2d7f7ff into rust-lang:master Jun 10, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jun 10, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 10, 2024
Rollup merge of rust-lang#126159 - RalfJung:scalarint-size-mismatch, r=oli-obk

ScalarInt: size mismatches are a bug, do not delay the panic

Cc [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/Why.20are.20ScalarInt.20to.20iN.2FuN.20methods.20fallible.3F)

r? ``@oli-obk``
@RalfJung RalfJung deleted the scalarint-size-mismatch branch June 11, 2024 11:34
flip1995 pushed a commit to flip1995/rust that referenced this pull request Jun 13, 2024
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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants