Another UB found using rustlantis
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
まず、提供された Rust の再現プログラムを GCC で debug モードと release モードの両方でコンパイルして実行し、その後、報告で言及されている boolean から integer への cast を追跡します。cast がビルド間で異なるのではなく、常に期待される boolean 値を生成すれば、問題は解決されています。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Rust
- スター
- 1.2k
- フォーク
- 106
- 平均マージ
- 6時間 30分
- マージ済み PR(30日)
- 22
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rust-lang/rustc_codegen_gcc のほかの issue
-
tests
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
rust-lang/rustc_codegen_gcc#993 ·
メンテナーはふだん 1 日以内に返信
-
tests
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
rust-lang/rustc_codegen_gcc#992 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
rust-lang/rustc_codegen_gcc#970 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
rust-lang/rustc_codegen_gcc#943 ·
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
rust-lang/rustc_codegen_gcc#930 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
rust-lang/rustc_codegen_gcc の issue をすべて見る
似ている issue
-
[1.x Bug] run-operation --sql reports success but rolls back writes on transaction-capable adaptersオープンtriage
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
dbt-labs/dbt#16784 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
area:cli bug good first issue priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commit対応中かも @myOmikron が今日担当しました。 オープンbug ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
platform:windows tool triaged wontfix
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
resources: add a regression test confirming admin mint still works after the #16 SAC handoff対応中かも @Daniexie が今日担当しました。 オープンcontracts good first issue Stellar Wave
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OlaGreat/starbound-realms#137 · コメント 1 件 ·