rust/tests/ui/lowering/no-name-for-DefPath-issue-133426.rs
Nicholas Nethercote af92a33dee Make synthetic RPITIT assoc ty name handling more rigorous.
Currently it relies on special treatment of `kw::Empty`, which is really
easy to get wrong. This commit makes the special case clearer in the
type system by using `Option`. It's a bit clumsy, but the synthetic name
handling itself is a bit clumsy; better to make it explicit than sneak
it in.

Fixes #133426.
2025-03-07 20:59:45 +11:00

21 lines
464 B
Rust

//! Test for the crash in #133426, caused by an empty symbol being used for a
//! type name.
#![allow(incomplete_features)]
#![feature(never_patterns)]
fn a(
_: impl Iterator<
Item = [(); {
match *todo!() { ! }; //~ ERROR type `!` cannot be dereferenced
}],
>,
) {
}
fn b(_: impl Iterator<Item = { match 0 { ! } }>) {}
//~^ ERROR associated const equality is incomplete
//~| ERROR expected type, found constant
fn main() {}