#![feature(type_alias_impl_trait)] #![warn(clippy::new_ret_no_self)] mod issue10041 { struct Bomb; impl Bomb { // Hidden default generic parameter. pub fn new() -> impl PartialOrd { 0i32 } } // TAIT with self-referencing bounds type X = impl std::ops::Add; struct Bomb2; impl Bomb2 { #[define_opaque(X)] pub fn new() -> X { //~^ ERROR: overflow evaluating the requirement 0i32 } } } fn main() {}