Another UB found using rustlantis
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia compilando ed eseguendo il reproducer Rust fornito con GCC in modalità debug e release, quindi traccia il cast da booleano a intero menzionato nel report. Il problema è risolto quando il cast produce costantemente i valori booleani previsti, invece di differire tra le build.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This program has a different result under GCC debug and GCC release.
2 1 //debug
2 -1 // release
fn dump_var(var2: usize, val2: usize, var3: usize) {
println!("val2:{val2}")
}
#[inline(never)]
fn dump_var2(var2: usize, val2: usize, var3: usize) {
println!("val2:{val2}")
}
fn fn6(arg: bool, arg2: usize) -> bool {
dump_var(0, arg2, 0);
dump_var2(0, !arg as usize, 0);
true
}
fn main() {
let mut _1 = false;
let mut _3 = 2;
let mut _4 = (&1, 1);
loop {
if _4.1 == 0 {
if _4.1 == 1 {
_1 = true;
} else {
_1 = false;
}
} else if fn6(_1, _3) {
loop {
_3 = _4.1;
let mut _6 = 0;
_6 = 0;
let tmp2 = _6;
if tmp2 == 1 {
_4.0 = &_4.1
} else if tmp2 == 0 {
return;
} else {
break;
}
}
}
}
}
It looks like the cast of val as i128 is nonsensical. Since val is a boolean value, one would expect it to be either 1 or 0, and not -1.
- Lingua principale
- Rust
- Stelle
- 1.2k
- Fork
- 105
- Merge medio
- 6h 28m
- PR unite (30g)
- 14
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rust-lang/rustc_codegen_gcc
-
Re-enable -fno-lto testApertatests
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rust-lang/rustc_codegen_gcc#993 ·
I maintainer di solito rispondono entro 1 giorno
-
tests
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
rust-lang/rustc_codegen_gcc#992 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
rust-lang/rustc_codegen_gcc#970 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Support `#[no_builtin]`Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
rust-lang/rustc_codegen_gcc#943 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
rust-lang/rustc_codegen_gcc#930 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rust-lang/rustc_codegen_gcc
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
swc-project/swc#12516 ·
I maintainer di solito rispondono entro 1 giorno
-
app bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security updateForse già presa @muscariello l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Forse già presa @muse-yamaa-bot l’ha presa oggi. Apertawork-item
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno