Hang in custom Vec
Abierto
Nadie ha tomado este issue todavía.
C-bug
fixed-by-next-solver
I-hang
needs-triage
S-has-mcve
T-types
- Lenguaje dominante
- Rust
- Estrellas
- 119k
- Forks
- 16.2k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
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>
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza reproduciendo el bloqueo con el código proporcionado y timeout 30s rustc file.rs, usando como contexto los detalles indicados de la nightly toolchain. Investiga el comportamiento del compilador desencadenado por la firma personalizada de Vec<T>::push y confirma que el programa mínimo termina de compilarse; conserva el ejemplo como caso de regresión si las pruebas del compilador del proyecto ofrecen un lugar adecuado para ello.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- compilers
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100