Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
pub trait MutateReturn {
fn op<T, U,
- M : FnOnce(&mut T),
- O : FnOnce(&T) -> U>
+ M: FnOnce(&mut T),
+ O: FnOnce(&T) -> U>
(x: &mut T,
m: M,
o: O) -> U;
pub struct MutateFirst;
impl MutateReturn for MutateFirst {
fn op<T, U,
- M : FnOnce(&mut T),
- O : FnOnce(&T) -> U>
+ M: FnOnce(&mut T),
+ O: FnOnce(&T) -> U>
(x: &mut T, m: M, o: O) -> U
{
m(x);
pub struct MutateLast;
impl MutateReturn for MutateLast {
fn op<T, U,
- M : FnOnce(&mut T),
- O : FnOnce(&T) -> U>
+ M: FnOnce(&mut T),
+ O: FnOnce(&T) -> U>
(x: &mut T, m: M, o: O) -> U
{
let u = o(x);