Files
rust/tests/ui/delegation/target-expr.rs
T

40 lines
847 B
Rust

//@ compile-flags: -Z deduplicate-diagnostics=yes
#![feature(fn_delegation)]
trait Trait {
fn static_method(x: i32) -> i32 { x }
}
struct F;
struct S(F);
impl Trait for S {}
fn foo(x: i32) -> i32 { x }
fn bar<T: Default>(_: T) {
reuse Trait::static_method {
//~^ ERROR mismatched types
//~| ERROR: delegation self type is not specified
let _ = T::Default();
//~^ ERROR can't use generic parameters from outer item
}
}
fn main() {
let y = 0;
reuse <S as Trait>::static_method {
let x = y;
//~^ ERROR can't capture dynamic environment in a fn item
foo(self);
let reuse_ptr: fn(i32) -> i32 = static_method;
reuse_ptr(0)
}
self.0;
//~^ ERROR expected value, found module `self`
let z = x;
//~^ ERROR cannot find value `x` in this scope
}