refactor(core): Remove lifetime parameter from Arguments trait #3960
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.
Prep work for supporting named parameters, which will require boxing and reusing the encodable bound arguments.
Builds on #3958.
Relevant commit: 90f2291
Does your PR solve an issue?
No, but it standardizes that all argument buffers own their data, which means that we also standardize how references can be used when passing bind parameters to
query!
macros. Previously there were more alternative ways to pass references with the Postgres driver; this ensures the flexibility of the Postgres driver is also supported with other drivers (by preventing the introduction of a lifetime constraint to their argument buffers).Is this a breaking change?
Yes - removes lifetime argument on two traits that are a part of the public api (
Arguments
andArgumentBuffer
) and makes cascading changes to query related traits and theEncode
trait.