-
Notifications
You must be signed in to change notification settings - Fork 13k
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
ICE: cfi: index out of bounds: the len is 0 but the index is 0
dyn star
#122998
Labels
C-bug
Category: This is a bug.
F-dyn_star
`#![feature(dyn_star)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
PG-exploit-mitigations
Project group: Exploit mitigations
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
matthiaskrgr
added
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
C-bug
Category: This is a bug.
F-dyn_star
`#![feature(dyn_star)]`
PG-exploit-mitigations
Project group: Exploit mitigations
labels
Mar 24, 2024
rustbot
added
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Mar 24, 2024
const X: for<'b> fn(&'b ()) = |&()| ();
fn main() {
let dyn_debug = Box::new(X) as Box<fn(&'static ())> as Box<dyn Send>;
drop(dyn_debug)
} |
The core problem here is the encoding of the receiver on a @rustbot claim |
maurer
added a commit
to maurer/rust
that referenced
this issue
Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998
jieyouxu
removed
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Mar 24, 2024
maurer
added a commit
to maurer/rust
that referenced
this issue
Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998
maurer
added a commit
to maurer/rust
that referenced
this issue
Mar 24, 2024
In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 24, 2024
CFI: Handle dyn with no principal In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998 r? workingjubilee
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 25, 2024
CFI: Handle dyn with no principal In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998 r? workingjubilee
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 25, 2024
CFI: Handle dyn with no principal In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998 r? workingjubilee
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 25, 2024
CFI: Handle dyn with no principal In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998 r? workingjubilee
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 25, 2024
Rollup merge of rust-lang#123003 - maurer:dyn-empty, r=compiler-errors CFI: Handle dyn with no principal In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998 r? workingjubilee
maurer
added a commit
to maurer/rust
that referenced
this issue
Apr 1, 2024
In user-facing Rust, `dyn` always has at least one predicate following it. Unfortunately, because we filter out marker traits from receivers at callsites and `dyn Sync` is, for example, legal, this results in us having `dyn` types with no predicates on occasion in our alias set encoding. This patch handles cases where there are no predicates in a `dyn` type which are relevant to its alias set. Fixes rust-lang#122998
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C-bug
Category: This is a bug.
F-dyn_star
`#![feature(dyn_star)]`
I-ICE
Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
PG-exploit-mitigations
Project group: Exploit mitigations
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
original:
Version information
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc -Zsanitizer=cfi -Ccodegen-units=1 -Clto
Program output
The text was updated successfully, but these errors were encountered: