| //@ known-bug: #110395 | |
| #![feature(const_trait_impl, const_ops)] | |
| pub struct Int(i32); | |
| impl const std::ops::Add for i32 { | |
| type Output = Self; | |
| fn add(self, rhs: Self) -> Self { | |
| self + rhs | |
| } | |
| } | |
| impl std::ops::Add for Int { | |
| type Output = Self; | |
| fn add(self, rhs: Self) -> Self { | |
| Int(self.0 + rhs.0) | |
| } | |
| } | |
| impl const std::ops::Add for Int { | |
| type Output = Self; | |
| fn add(self, rhs: Self) -> Self { | |
| Int(self.0 + rhs.0) | |
| } | |
| } | |
| fn main() {} |