wall of `rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy `
Open
Nobody has claimed this yet.
C-bug
I-compilemem
needs-triage
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
I tried this code:
#![feature(unboxed_closures)]
use std::fmt::Debug;
fn foldl<T, U, F>(values: &[T], initial: U, function: F) -> U
where
U: FnMut + Debug,
T: Debug,
F: FnMut(U, &T) -> U,
{
match values {
_ => {
match values {
&[ref head @ .., ref tail] => foldr(head, function(initial, tail), function),
_ => {}
}
}
}
}
fn foldr<T, U, F>(values: &[T], mut function: F) -> U
where
U: Clone,
F: FnMut(&T, U) -> U,
{
}
pub fn main() {
let sum = foldr();
assert_eq!(sum, 15);
}
I expected to see this happen:
Timely termination
Instead, this happened:
This will print an error and then an seemingly unending (well, until ram runs out) amount of
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
Meta
rustc --version --verbose:
rustc 1.96.0-nightly (91021ccc7 2026-03-17)
binary: rustc
commit-hash: 91021ccc790478a1a89c003e7d32b8d155ae6aae
commit-date: 2026-03-17
host: x86_64-unknown-linux-gnu
release: 1.96.0-nightly
LLVM version: 22.1.0
Backtrace
error[E0107]: missing generics for trait `FnMut`
--> code.rs:6:8
|
6 | U: FnMut + Debug,
| ^^^^^ expected 1 generic argument
|
note: trait defined here, with 1 generic parameter: `Args`
--> /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:163:17
|
163 | pub const trait FnMut<Args: Tuple>: FnOnce<Args> {
| ^^^^^ ----
help: add missing generic argument
|
6 | U: FnMut<Args> + Debug,
| ++++++
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [U/#1, (&'!4_0.Named(DefId(0:15 ~ code[55f1]::foldr::'_)) T/#0, ?7t)], def_id: DefId(2:4349 ~ core[cd06]::ops::function::FnOnce::Output), .. }
...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at rustc_infer::infer::relate::generalize and reproduce the behavior with the supplied Rust snippet using the reported nightly compiler. Investigate why the alias type produces repeated warnings and fails to terminate; done means the reproducer terminates without exhausting memory or flooding diagnostics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100