blob: ea71f971199d5259693fc987e9c6699619a504f1 [file] [log] [blame] [edit]
//@ 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();
}