Fixes #59. However rather than introduce a separate SingleMut type (and TrySingleMut), I've made a few adjustments to the existing types.
Single now has Deref and DerefMut impls specifically for references. Single<&C> now derefs to &C and not &&C.
The lifetime on Single and TrySingle is unnecessary, so it has been removed.
Renamed Query::Item to Query::This and adjusted documentation. Before it was only a suggestion that Query::Item be the same type as Self, but now it is a hard requirement.
TrySingle<Q> is now a type alias for Result<Q, SingleError>. Users no longer need to go through an additional layer of indirection when accessing the result.
Fixes #59. However rather than introduce a separate
SingleMut
type (andTrySingleMut
), I've made a few adjustments to the existing types.Single
now hasDeref
andDerefMut
impls specifically for references.Single<&C>
now derefs to&C
and not&&C
.Single
andTrySingle
is unnecessary, so it has been removed.Query::Item
toQuery::This
and adjusted documentation. Before it was only a suggestion thatQuery::Item
be the same type asSelf
, but now it is a hard requirement.TrySingle<Q>
is now a type alias forResult<Q, SingleError>
. Users no longer need to go through an additional layer of indirection when accessing the result.Review? @andrewgazelka