A few more RBE things

This commit is contained in:
Dan Buch 2023-10-19 11:08:38 -04:00
parent 0e6448df23
commit 087355502d
Signed by: meatballhat
GPG Key ID: A12F782281063434
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,14 @@
fn apply<F>(f: F)
where
F: Fn(),
{
f();
}
fn main() {
let x = 7;
let print = || println!("{}", x);
apply(print);
}

View File

@ -0,0 +1,36 @@
fn apply<F>(f: F)
where
F: FnOnce(),
{
f();
}
fn apply_to_3<F>(f: F) -> i32
where
F: Fn(i32) -> i32,
{
f(3)
}
fn main() {
use std::mem;
let greeting = "hello";
let mut farewell = "goodbye".to_owned();
let diary = || {
println!("I said {}.", greeting);
farewell.push_str("!!!");
println!("Then I screamed {}.", farewell);
println!("Now I can sleep. zzzzz");
mem::drop(farewell);
};
apply(diary);
let double = |x| 2 * x;
println!("3 doubled: {}", apply_to_3(double));
}