Delegate encode_format to T in &T and Option<T> #928
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.
#836 has been really useful for my use case, and this PR makes some small improvements to it.
I have a custom type (call it
T
) thatimpl
sToSql
, and I overrideencode_format
. However in some situations I'm working with&T
orOption<T>
and I wantto_sql
to use the format that I've specified inencode_format
. This change ensures that by delegating toT::encode_format
in these cases.As well as being useful, I believe this fixes a correctness issue, as these types already delegate to their inner type to implement
to_sql
, so they should do the same forencode_format
to avoid emitting, e.g., a text encoding that is tagged as binary.I've also added
[derive(Clone, Copy, Debug)]
toFormat
, as it's a simple enum and this makes working with it a bit easier.