Hang in custom Vec
Đang mở
Chưa có ai nhận issue này.
C-bug
fixed-by-next-solver
I-hang
needs-triage
S-has-mcve
T-types
- Ngôn ngữ chính
- Rust
- Star
- 119k
- Fork
- 16.2k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
I tried this code:
struct Array<T> {
data: Vec<T>
}
fn sum_arrays<T>(first: Array<T>) -> Array<T> {
let mut result = Array {data: first.data.clone()};
result.data.push(8);
result
}
struct Vec<T> {data: Vec<T> }
impl<T> Vec<T> {
pub fn push(mut self: &mut Self, object: &T) -> &mut Self {
self
}
}
Command: timeout 30s rustc file.rs
It did not finish within 30 seconds.
Meta
rustc --version --verbose:
rustc 1.93.0-nightly (c90bcb957 2025-11-06)
binary: rustc
commit-hash: c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
commit-date: 2025-11-06
host: aarch64-apple-darwin
release: 1.93.0-nightly
LLVM version: 21.1.3
Backtrace
<no backtrace>
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.
Hướng nghiên cứu
Trước tiên, hãy tái hiện tình trạng treo bằng mã được cung cấp và timeout 30s rustc file.rs, sử dụng các chi tiết nightly toolchain được báo cáo làm ngữ cảnh. Điều tra hành vi của compiler do chữ ký tùy chỉnh của Vec<T>::push kích hoạt và xác nhận rằng chương trình tối thiểu biên dịch xong; giữ lại ví dụ này như một trường hợp hồi quy nếu các bài kiểm thử compiler của dự án có vị trí phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- rust
- Lĩnh vực
- compilers
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100