mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 12:00:03 -05:00
gccrs: Fix regression in testcase
Fixes #776 Signed-off-by: Philip Herron <herron.philip@googlemail.com> gcc/testsuite/ChangeLog: * rust/compile/torture/traits10.rs: Fix test-case
This commit is contained in:
committed by
Arthur Cohen
parent
4b25fc15b9
commit
a11b44b6a5
@@ -1,5 +1,65 @@
|
||||
trait Foo // where
|
||||
// Self: Sized,
|
||||
#[lang = "sized"]
|
||||
pub trait Sized {}
|
||||
|
||||
#[lang = "clone"]
|
||||
pub trait Clone: Sized {
|
||||
fn clone(&self) -> Self;
|
||||
|
||||
fn clone_from(&mut self, source: &Self) {
|
||||
*self = source.clone()
|
||||
}
|
||||
}
|
||||
|
||||
mod impls {
|
||||
use super::Clone;
|
||||
|
||||
macro_rules! impl_clone {
|
||||
($($t:ty)*) => {
|
||||
$(
|
||||
impl Clone for $t {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
}
|
||||
}
|
||||
)*
|
||||
}
|
||||
}
|
||||
|
||||
impl_clone! {
|
||||
usize u8 u16 u32 u64 // u128
|
||||
isize i8 i16 i32 i64 // i128
|
||||
f32 f64
|
||||
bool char
|
||||
}
|
||||
}
|
||||
|
||||
#[lang = "copy"]
|
||||
pub trait Copy: Clone {
|
||||
// Empty.
|
||||
}
|
||||
|
||||
mod copy_impls {
|
||||
use super::Copy;
|
||||
|
||||
macro_rules! impl_copy {
|
||||
($($t:ty)*) => {
|
||||
$(
|
||||
impl Copy for $t {}
|
||||
)*
|
||||
}
|
||||
}
|
||||
|
||||
impl_copy! {
|
||||
usize u8 u16 u32 u64 // u128
|
||||
isize i8 i16 i32 i64 // i128
|
||||
f32 f64
|
||||
bool char
|
||||
}
|
||||
}
|
||||
|
||||
trait Foo
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
fn get(self) -> i32;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user