document that ! does bitwise and logical negation - #162668
Conversation
| /// The unary negation operator `!`. It performs either logical or bitwise negation, | ||
| /// depending on the type. |
There was a problem hiding this comment.
I think it's a little unfortunate that this page introduces the concept of logical vs bitwise negation at the top, but you have to scroll down to see the examples of what that means. But this is consistent with the other examples in std::ops. The trait-level documentation demonstrates using the trait with a custom type, and the trait functions demonstrate using the trait with built-in types.
IMO, it would be more useful to have the first examples of these traits show them with built-in types. But I'd only want to take that on if I had buy-in from maintainers
|
Thanks for the pull request, and welcome! The Rust Project has assigned @JohnTitor (or someone else) to review your changes, you should hear from them (or someone else) within the next two weeks. Please see the contribution instructions and our LLM policy for more information. Why was this reviewer chosen?The reviewer was selected based on:
|
The documentation summary for
core::ops::Notsays that it performslogical negation. That's misleading because it also performs bitwise
negation on integers. Since C has separate operators for logical and
bitwise negation, this could lead a C programmer to look
elsewhere for Rust's equivalent of
~.I also updated the documentation for
Not::not()to clarify the meaning of logical not vs bitwise not.