rust/src/test/ui/issues/issue-3904.rs
2019-07-27 18:56:16 +03:00

26 lines
444 B
Rust

// run-pass
fn example_err(prog: &str, arg: &str) {
println!("{}: {}", prog, arg)
}
fn exit<F>(print: F, prog: &str, arg: &str) where F: FnOnce(&str, &str) {
print(prog, arg);
}
struct X<F> where F: FnOnce(&str, &str) {
err: F,
}
impl<F> X<F> where F: FnOnce(&str, &str) {
pub fn boom(self) {
exit(self.err, "prog", "arg");
}
}
pub fn main(){
let val = X {
err: example_err,
};
val.boom();
}