fix: Correct Swift compile errors for comparison expressions #494
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.
Description of changes
When building the SDK with waiters, it was discovered that JMES compare expressions with integers and
==
, and with doubles and!=
, fail to compile due to ambiguity in resolving the operator.==
problem is resolved by requiring a Double comparator, then converting the Ints to Double before comparison.!=
problem is resolved by using!JMESUtils.compare(a, ==, b)
instead ofJMESUtils.compare(a, !=, b)
when inequality is to be tested.Unit tests have been added to this PR to test compile-time resolution of various arguments to
JMESUtils.compare(_:_:_:)
. Generated tests for number equality & inequality expressions are being added in a separate PR.Scope
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.