diff options
Diffstat (limited to 'src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs')
-rw-r--r-- | src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs b/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs deleted file mode 100644 index b64161b6a..000000000 --- a/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs +++ /dev/null @@ -1,43 +0,0 @@ -// run-pass - -#![feature(const_trait_impl)] - -struct Int(i32); - -impl const std::ops::Add for Int { - type Output = Int; - - fn add(self, rhs: Self) -> Self { - Int(self.0.plus(rhs.0)) - } -} - -impl const PartialEq for Int { - fn eq(&self, rhs: &Self) -> bool { - self.0 == rhs.0 - } - fn ne(&self, other: &Self) -> bool { - !self.eq(other) - } -} - -#[const_trait] -pub trait Plus { - fn plus(self, rhs: Self) -> Self; -} - -impl const Plus for i32 { - fn plus(self, rhs: Self) -> Self { - self + rhs - } -} - -pub const fn add_i32(a: i32, b: i32) -> i32 { - a.plus(b) -} - -const ADD_INT: Int = Int(1i32) + Int(2i32); - -fn main() { - assert!(ADD_INT == Int(3i32)); -} |