fix schema arbitrary constraint combiners for BigInt, Date, and BigDecimal#2265
Open
Gabrola wants to merge 2 commits into
Open
fix schema arbitrary constraint combiners for BigInt, Date, and BigDecimal#2265Gabrola wants to merge 2 commits into
Gabrola wants to merge 2 commits into
Conversation
🦋 Changeset detectedLatest commit: 1e05bf2 The changes in this PR will be included in the next version bump. This PR includes changesets to release 27 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
d9da684 to
d6851bc
Compare
Gabrola
commented
May 25, 2026
| toArbitraryConstraint: { | ||
| bigint: { | ||
| min: exclusiveMinimum, | ||
| minExcluded: true |
Contributor
Author
There was a problem hiding this comment.
fast-check doesn't have minExcluded/maxExcluded on bigints
Contributor
There was a problem hiding this comment.
you are right, working on a fix that also includes dates and integers: #2266
Contributor
Author
There was a problem hiding this comment.
@gcanti that's perfect, I'll readjust my fix to match
dd415ae to
50f729f
Compare
50f729f to
bd8045e
Compare
Gabrola
commented
May 25, 2026
Comment on lines
+628
to
+637
| it("isBetweenBigDecimal", () => { | ||
| verifyGeneration( | ||
| Schema.BigDecimal.check( | ||
| Schema.isBetweenBigDecimal({ | ||
| minimum: BigDecimal.make(100n, 0), | ||
| maximum: BigDecimal.make(200n, 0) | ||
| }) | ||
| ) | ||
| ) | ||
| }) |
Contributor
Author
There was a problem hiding this comment.
This one is a little peculiar. Before the fix, fast-check was only generating bigints between -77n and 77n, so this test was just running in an infinite loop
d5065fc to
1e05bf2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Type
Summary
Fix schema arbitrary constraint derivation for BigInt, Date, and BigDecimal checks.
Why
The previous constraint merging path did not handle non-number bounds reliably, and BigDecimal generation reused decimal bounds without adapting them to the generated scale. That made some valid decimal values effectively unreachable and could produce invalid fast-check bigint ranges for narrow decimal intervals.