pretty-pretty extremal constants!
While many programmers may intuitively appreciate the significance of "magic numbers" like −2147483648, Rust is about empowering everyone to build reliable and efficient software! It's a bit more legible to print the constant names (even noisy fully-qualified-paths thereof). The bit-manipulation methods mirror those in `librustc_mir::hair::pattern::_match::all_constructors`; thanks to the immortal Varkor for guidance. Resolves #56393.
This commit is contained in:
parent
c326c2e0f1
commit
d1cdb02e4d
12 changed files with 62 additions and 45 deletions
|
@ -4,11 +4,11 @@ error[E0005]: refutable pattern in function argument: `(_, _)` not covered
|
|||
LL | fn func((1, (Some(1), 2..=3)): (isize, (Option<isize>, isize))) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(_, _)` not covered
|
||||
|
||||
error[E0005]: refutable pattern in local binding: `(-2147483648i32..=0i32, _)` not covered
|
||||
error[E0005]: refutable pattern in local binding: `(std::i32::MIN..=0i32, _)` not covered
|
||||
--> $DIR/refutable-pattern-errors.rs:5:9
|
||||
|
|
||||
LL | let (1, (Some(1), 2..=3)) = (1, (None, 2));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(-2147483648i32..=0i32, _)` not covered
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ pattern `(std::i32::MIN..=0i32, _)` not covered
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue