pub trait Append<T> {
type Output: PrefixedWith<Self> + Lookup<T, Self::Navigator>;
type Navigator;
// Required method
fn append(self, t: T) -> (Self::Output, Handle<T, Self::Navigator>);
}
Expand description
Describes the result of appending T
to the borrow-bag. This is useful in specifying the
return type when creating/modifying a BorrowBag
in a function.
§Examples
type SingleItemBag<T> = BorrowBag<(T, ())>;
type SingleItemHandle<T> = Handle<T, <() as Append<T>>::Navigator>;
fn single_item_bag<T>(t: T) -> (SingleItemBag<T>, SingleItemHandle<T>) {
BorrowBag::new().add(t)
}
Required Associated Types§
Sourcetype Output: PrefixedWith<Self> + Lookup<T, Self::Navigator>
type Output: PrefixedWith<Self> + Lookup<T, Self::Navigator>
The resulting BorrowBag
type parameter after adding an element of type T
.
A type describing how to borrow the T
which is added.
If the output type is (X, (Y, (Z, ())))
, we’re adding the Z
and so our Navigator
will
be (Skip, (Skip, Take))
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.