Conversation
…dings - math.copysign: fix y parameter type from int to float (Python always takes two floats) - math.fmod: fix parameter and return types from int to float (computes floating-point remainder, not integer modulo) - math.comb, math.pow, math.atan2, math.dist: convert curried parameter syntax to tupled for consistency with all other multi-parameter bindings in the codebase Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collaborator
Update tests for comb, copysign, fmod, pow, atan2, dist to use tupled calling convention matching the corrected type signatures. Restore PR #251 entries that were dropped from the Unreleased CHANGELOG section. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This was referenced Apr 16, 2026
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.
🤖 This is an automated pull request from Repo Assist.
Problem
Three type-signature bugs slipped through in PR #251 (
mathmodule expansion):math.copysign: theyparameter was typed asint, but Python's [math.copysign(x, y)]((docs.python.org/redacted) takes two floats. Passing anintliteral won't cause a runtime error (Python coerces), but it breaks F# callers who pass afloatvalue fory.math.fmod: parameters were typedint * int -> int, but [math.fmod(x, y)]((docs.python.org/redacted) computes the floating-point remainder — it takes and returnsfloat, notint. Callers needing5.5 % 2.2would be unable to use the binding.Curried multi-parameter syntax:
comb,pow,atan2, anddistused the F# curried arrow->form for multi-parameter abstract members (e.g.abstract comb: n: int -> k: int -> int). All other multi-parameter bindings in the codebase use the tupled*form (e.g.abstract comb: n: int * k: int -> int). Consistent tupled syntax avoids potential partial-application surprises and matches the rest of the binding style.Fix
copysign: x: float * y: float -> float(wasx: float -> y: int -> float)fmod: x: float * y: float -> float(wasx: int -> y: int -> int)comb,pow,atan2,dist: curried → tupled multi-param styleTrade-offs
fmod/copysignchanges are technically breaking for anyone using the old (buggy) signatures — but since the old signatures were wrong and this is a pre-release (rc), the fix is appropriate now.Note
🔒 Integrity filter blocked 10 items
The following items were blocked because they don't meet the GitHub integrity level.
list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: