Skip to content

Conversation

scottmcm
Copy link
Member

Rather than needing to do things like #105840 for signum too, might as well just implement that method using Ord, since it's doing the same "I need -1/0/+1" behaviour that cmp is already doing.

This also seems to slightly improve the assembly: https://rust.godbolt.org/z/5oEEqbxK1

@rustbot
Copy link
Collaborator

rustbot commented Jan 13, 2023

r? @joshtriplett

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jan 13, 2023
@rustbot

This comment was marked as resolved.

// (<https://graphics.stanford.edu/~seander/bithacks.html#CopyIntegerSign>)
// so delegate it to `Ord` which is already producing -1/0/+1
// exactly like we need and can be the place to deal with the complexity.
self.cmp(&0) as _
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's of course not a big deal, but self <=> 0 does feel nicer to me here than needing &0 and autoref.

(Just mentioning it, @joshtriplett, since I'd brought up spaceship in the meeting today. Obviously it's not a blocker for this PR.)

@scottmcm
Copy link
Member Author

2-week reroll to hopefully get a less-busy reviewer:
r? libs

@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented Jan 29, 2023

📌 Commit fcbc12e has been approved by Mark-Simulacrum

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 29, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 29, 2023
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#96763 (Fix maintainer validation message)
 - rust-lang#106540 (Insert whitespace to avoid ident concatenation in suggestion)
 - rust-lang#106763 (print why a test was ignored if its the only test specified)
 - rust-lang#106769 (libtest: Print why a test was ignored if it's the only test specified.)
 - rust-lang#106798 (Implement `signum` with `Ord`)
 - rust-lang#107006 (Output tree representation on thir-tree)
 - rust-lang#107078 (Update wording of invalid_doc_attributes docs.)
 - rust-lang#107169 (Pass `--locked` to the x test tidy call)
 - rust-lang#107431 (docs: remove colon from time header)
 - rust-lang#107432 (rustdoc: remove unused class `has-srclink`)
 - rust-lang#107448 (When stamp doesn't exist, should say Error, and print path to stamp file)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 782da86 into rust-lang:master Jan 29, 2023
@rustbot rustbot added this to the 1.69.0 milestone Jan 29, 2023
@scottmcm scottmcm deleted the signum-via-cmp branch January 30, 2023 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants