Another UB found using rustlantis
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách biên dịch và chạy reproducer Rust được cung cấp bằng GCC ở chế độ debug và release, sau đó lần theo phép cast từ boolean sang integer được đề cập trong báo cáo. Vấn đề được giải quyết khi phép cast nhất quán tạo ra các giá trị boolean mong đợi thay vì cho kết quả khác nhau giữa các bản build.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Rust
- Star
- 1.2k
- Fork
- 105
- Merge trung bình
- 5 giờ 50 phút
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của rust-lang/rustc_codegen_gcc
-
Re-enable -fno-lto testĐang mởtests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
rust-lang/rustc_codegen_gcc#993 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Cannot compile sysroot if having a build.build-dir cargo configCó thể đã có người làm @GuillaumeGomez đã nhận 4 ngày trước. Đang mở
rust-lang/rustc_codegen_gcc#1011 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Enable librsvg tests on Aarch64Đang mởtests
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
rust-lang/rustc_codegen_gcc#992 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
rust-lang/rustc_codegen_gcc#970 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Support `#[no_builtin]`Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
rust-lang/rustc_codegen_gcc#943 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của rust-lang/rustc_codegen_gcc
Issue tương tự
-
api bug entity mobai
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Pumpkin-MC/Pumpkin#4312 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug easy good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
lacs-project/sysknife#659 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
E_FIT_INPUT_MISSING (mixture overrides): the message says ferx-r bundles lack mixture_overridesĐang mởP3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Document multi-value claims with rowBoundaries operator:in (and their per-record application)Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
registrystack/registry-stack#2431 ·
Maintainer thường phản hồi trong vòng 1 ngày