2023-03-07 12:03:11 +00:00
|
|
|
#![feature(type_alias_impl_trait)]
|
|
|
|
|
#![warn(clippy::new_ret_no_self)]
|
|
|
|
|
|
|
|
|
|
mod issue10041 {
|
|
|
|
|
struct Bomb;
|
|
|
|
|
|
|
|
|
|
impl Bomb {
|
|
|
|
|
// Hidden <Rhs = Self> default generic parameter.
|
|
|
|
|
pub fn new() -> impl PartialOrd {
|
|
|
|
|
0i32
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TAIT with self-referencing bounds
|
|
|
|
|
type X = impl std::ops::Add<Output = X>;
|
|
|
|
|
|
|
|
|
|
struct Bomb2;
|
|
|
|
|
|
|
|
|
|
impl Bomb2 {
|
2024-07-26 10:04:02 +00:00
|
|
|
#[define_opaque(X)]
|
2023-03-07 12:03:11 +00:00
|
|
|
pub fn new() -> X {
|
2025-02-28 23:20:48 +01:00
|
|
|
//~^ ERROR: overflow evaluating the requirement
|
2023-03-07 12:03:11 +00:00
|
|
|
0i32
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {}
|