Closed
Description
Using Rust 1.76.0
on an Apple M1 Pro
with OSX 14.3
, using cargo b
with opt-level = 3
:
fn main() {
let mut slobber = Vec::<([u8; 52], [u8; 16], usize)>::new();
slobber.push(([0; 52], [0; 16], 0));
let mut dels = Vec::<([u8; 16], [u8; 10], i8)>::new();
let i = 0;
while i < slobber.len() {
let j = slobber.len();
let mut counts = Vec::<(usize, [u8; 16], usize)>::new();
let mut k = i;
while k < j {
let l = slobber.len();
counts.push((0, [0; 16], 0));
k = l;
}
for u in 1..counts.len() {
let (b1, b2) = (counts[0].1, counts[u].1);
let mut diffs = 0;
for m in 0..16 {
if b1[m] != b2[m] {
diffs += 1;
}
}
if diffs <= 0 {
dels.push(([0; 16], [0; 10], 0));
}
}
}
}
this happens
mac% cargo b
Compiling bugsy v0.0.1 (/Users/davidjaffe/repos/infinimmune/bugsy)
error: could not compile `bugsy` (bin "bugsy")
Caused by:
process didn't exit successfully: `/Users/davidjaffe/.rustup/toolchains/1.76.0-aarch64-apple-darwin/bin/rustc --crate-name bugsy src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=100 --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C debug-assertions=on -C metadata=188901b3f11ecd49 -C extra-filename=-188901b3f11ecd49 --out-dir /Users/davidjaffe/repos/infinimmune/bugsy/target/debug/deps -C incremental=/Users/davidjaffe/repos/infinimmune/bugsy/target/debug/incremental -L dependency=/Users/davidjaffe/repos/infinimmune/bugsy/target/debug/deps` (signal: 5, SIGTRAP: trace/breakpoint trap)
The error depends on the optimization level and overflow checking.
Metadata
Metadata
Assignees
Labels
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.Category: This is a bug.Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.High priorityRelevant to the compiler team, which will review and decide on the PR/issue.Issue expected to be fixed by the next major LLVM upgrade, or backported fixesPerformance or correctness regression from one stable version to another.