mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-26 13:01:27 +03:00
33 lines
613 B
Rust
33 lines
613 B
Rust
//@ pretty-compare-only
|
|
//@ pretty-mode:hir
|
|
//@ pp-exact:delegation-self-rename.pp
|
|
|
|
#![feature(fn_delegation)]
|
|
|
|
trait Trait<'a, A, const B: bool> {
|
|
fn foo<'b, const B2: bool, T, U>(&self, f: impl FnOnce() -> usize) -> usize {
|
|
f() + 1
|
|
}
|
|
}
|
|
|
|
struct X;
|
|
impl<'a, A, const B: bool> Trait<'a, A, B> for X {}
|
|
|
|
reuse Trait::foo;
|
|
reuse Trait::<'static, (), true>::foo::<true, (), ()> as bar;
|
|
|
|
reuse foo as foo2;
|
|
reuse bar as bar2;
|
|
|
|
trait Trait2 {
|
|
reuse foo2 as foo3;
|
|
reuse bar2 as bar3;
|
|
}
|
|
|
|
impl Trait2 for () {}
|
|
|
|
reuse <() as Trait2>::foo3 as foo4;
|
|
reuse <() as Trait2>::bar3 as bar4;
|
|
|
|
fn main() {}
|