diff options
| author | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-02-05 09:35:32 -0800 |
|---|---|---|
| committer | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-02-18 21:03:28 -0800 |
| commit | d6d6d25c343fb4fdf6c853bd23524a77efc4c53b (patch) | |
| tree | 6e65bccb28f8df0de694c4c80cc31efc99f702d1 /src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs | |
| parent | 323ff193b8eda1c89eada54a1b3ac5c20d9e24c7 (diff) | |
| download | rust-d6d6d25c343fb4fdf6c853bd23524a77efc4c53b.tar.gz rust-d6d6d25c343fb4fdf6c853bd23524a77efc4c53b.zip | |
Split const trait method test and impl `ops::Add`
Diffstat (limited to 'src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs')
| -rw-r--r-- | src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs b/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs new file mode 100644 index 00000000000..8e6ef12810c --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs @@ -0,0 +1,30 @@ +#![allow(incomplete_features)] +#![feature(const_trait_impl)] +#![feature(const_fn)] + +pub trait Plus { + fn plus(self, rhs: Self) -> Self; +} + +impl const Plus for i32 { + fn plus(self, rhs: Self) -> Self { + self + rhs + } +} + +impl Plus for u32 { + fn plus(self, rhs: Self) -> Self { + self + rhs + } +} + +pub const fn add_i32(a: i32, b: i32) -> i32 { + a.plus(b) // ok +} + +pub const fn add_u32(a: u32, b: u32) -> u32 { + a.plus(b) + //~^ ERROR calls in constant functions are limited to constant functions +} + +fn main() {} |
