-
Notifications
You must be signed in to change notification settings - Fork 150
Remove xor as a builtin infix operator #2955
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Would it be appropriate to add the operator declaration for |
Please consider sqashing the last two commits. The comment change is not only unnecessary but as just discussed actively misleading, since it suggests a Prolog term where none is intended. |
@triska I expect that, when I make a PR the norm is to squash-and-merge. I think that’s the GitHub default.
|
Nevermind, rebased anyway. @mthom, I highly recommend turning on commit squashing: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests |
I would like to encourage all contributors to please make sensible PRs with commits as they are meant, and to merge them exactly as they are submitted, everything else can only end in chaos. Please note that commits can refer to each other by hashes, and squashing them destroys these references. |
I recommend you at least experiment with GitHub squash-merges, but I'll be happy to rebase in the future. When you squash and merge a PR it gets a message according to the PR title and description, which is sensible. Else you wind up with at least two commits per change - one for the change and one for the merge commit. For instance, the recent PR #2930 consisted of these three commits:
If the PR is squashed before merging, the original commit hashes get destroyed anyway, leaving the PR ID and merge commit as the only stable references. The PR review workflow in GitHub gets a little buggy and you lose per-commit CI logs (if enabled). |
Thank you a lot, this is a good change to make Scryer stricter in what it accepts! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you a lot!
So I should squash the commits in this PR then? |
Lol. There's only the one commit, so I'm not sure if you're ribbing me. But yes, if you do so it'll only be the one commit instead of the merge as well. |
Yes I forgot to add: a single commit can most likely be squashed without problems! |
I don't know why but the doctest is failing. Only thing blocking me from merging this PR. |
Relevant: rust-lang/miri#4323 I don't think there is much to do right now, making Miri ignore doctests temporarily doesn't seem ideal. We may wait for the next nightly to rerun CI as this is already fixed upstream, or just ignore it and merge this as is, because the changes made here do not impact the engine and the doctests in any way. In fact, do we even have doctests?... We don't! This really is a non issue. |
Agreed that this failure is not a defect from this PR. Corresponding test results in Miri: https://github.com/mthom/scryer-prolog/actions/runs/15010282834/job/42402019292#step:6:153
The miri output is also pointing out some stuff in |
These are warnings about provenance, I addressed most of this in #2921 in rebis-dev. |
Thank you! I'm eager to get |
xor
is not an ISO infix operator