diesel: Fix reexported error types #301
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The error type passed into
managed_reexports!()
generates two type aliases:PoolError<E>
andHookError<E>
.PoolError<M::Error>
is used e.g. by theget()
fn of managed pools. ButM::Error
for theManager
in thedeadpool_diesel
crate is defined asdeadpool_diesel::Error
, notdiesel::ConnectionError
, which makes the reexport wrong or at least not as useful as it is meant to be. Interestingly, there is anotherPoolError
type alias in the root module ofdeadpool_diesel
with the correct generic type signature.HookError<M::Error>
is used e.g. in thepost_create()
fn of the managed pool builders. As above,M::Error
is defined asdeadpool_diesel::Error
, notdiesel::ConnectionError
. In this case there is no correct root module type alias either, which requires users to add a dependency ondeadpool
itself to get to the generic, non-type-alias variant ofHookError
.