mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-08-01 00:00:22 -07:00
20 lines
233 B
Rust
20 lines
233 B
Rust
pub fn mutating<T, F>(mut v: T, f: F) -> T
|
|
where
|
|
F: Fn(&mut T),
|
|
{
|
|
f(&mut v);
|
|
v
|
|
}
|
|
|
|
pub fn sideeffect<T, F>(v: T, f: F) -> T
|
|
where
|
|
F: Fn(&T),
|
|
{
|
|
f(&v);
|
|
v
|
|
}
|
|
|
|
pub fn run<R, F: FnOnce() -> R>(f: F) -> R {
|
|
f()
|
|
}
|