Support syntax for one-line trait reuse
This commit is contained in:
parent
cec70080fd
commit
1de1885a63
20 changed files with 879 additions and 33 deletions
46
tests/pretty/delegation-impl-reuse.pp
Normal file
46
tests/pretty/delegation-impl-reuse.pp
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
#![feature(prelude_import)]
|
||||
#![no_std]
|
||||
//@ pretty-compare-only
|
||||
//@ pretty-mode:expanded
|
||||
//@ pp-exact:delegation-impl-reuse.pp
|
||||
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(fn_delegation)]
|
||||
#[macro_use]
|
||||
extern crate std;
|
||||
#[prelude_import]
|
||||
use ::std::prelude::rust_2015::*;
|
||||
|
||||
trait Trait<T> {
|
||||
fn foo(&self) {}
|
||||
fn bar(&self) {}
|
||||
fn baz(&self) {}
|
||||
}
|
||||
|
||||
struct S;
|
||||
|
||||
impl Trait<{
|
||||
struct S;
|
||||
0
|
||||
}> for S {
|
||||
reuse Trait<{
|
||||
struct S;
|
||||
0
|
||||
}>::foo {
|
||||
self.0
|
||||
}
|
||||
reuse Trait<{
|
||||
struct S;
|
||||
0
|
||||
}>::bar {
|
||||
self.0
|
||||
}
|
||||
reuse Trait<{
|
||||
struct S;
|
||||
0
|
||||
}>::baz {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
18
tests/pretty/delegation-impl-reuse.rs
Normal file
18
tests/pretty/delegation-impl-reuse.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
//@ pretty-compare-only
|
||||
//@ pretty-mode:expanded
|
||||
//@ pp-exact:delegation-impl-reuse.pp
|
||||
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(fn_delegation)]
|
||||
|
||||
trait Trait<T> {
|
||||
fn foo(&self) {}
|
||||
fn bar(&self) {}
|
||||
fn baz(&self) {}
|
||||
}
|
||||
|
||||
struct S;
|
||||
|
||||
reuse impl Trait<{ struct S; 0 }> for S { self.0 }
|
||||
|
||||
fn main() {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue