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.
I discovered we had two Sealed traits inside pgrx while doing some rework, so I decided to unify them, as we don't actually need two. I also believe that the use of the pgrx::fn_call::seal::Sealed trait was incorrect: it was binding the type T, but with a blanket impl. This means downstream crates could impl FnCallArg for types other than Arg, as long as they had first implemented Clone (which they obviously can) and IntoDatum (which remains a public trait).
This didn't occur to me the first time I saw FnCallArg because I hadn't arrived at my current interpretation of what "This is only implemented for the Arg enum" was supposed to mean: This must only be implemented for the Arg enum!
I have corrected the bounds according to what I believe was intended.