Skip to content

Commit

Permalink
Resolve precedence clippy lint
Browse files Browse the repository at this point in the history
    warning: operator precedence can trip the unwary
       --> src/read.rs:963:18
        |
    963 |         let n = (((n1 - 0xD800) as u32) << 10 | (n2 - 0xDC00) as u32) + 0x1_0000;
        |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(((n1 - 0xD800) as u32) << 10) | (n2 - 0xDC00) as u32`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence
        = note: `-W clippy::precedence` implied by `-W clippy::all`
        = help: to override `-W clippy::all` add `#[allow(clippy::precedence)]`

    warning: operator precedence can trip the unwary
       --> src/read.rs:991:28
        |
    991 |                 ptr.write((n >> 6 & 0b0001_1111) as u8 | 0b1100_0000);
        |                            ^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 6) & 0b0001_1111`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence

    warning: operator precedence can trip the unwary
       --> src/read.rs:995:28
        |
    995 |                 ptr.write((n >> 12 & 0b0000_1111) as u8 | 0b1110_0000);
        |                            ^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 12) & 0b0000_1111`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence

    warning: operator precedence can trip the unwary
       --> src/read.rs:996:35
        |
    996 |                 ptr.add(1).write((n >> 6 & 0b0011_1111) as u8 | 0b1000_0000);
        |                                   ^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 6) & 0b0011_1111`
        |
        = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence

    warning: operator precedence can trip the unwary
        --> src/read.rs:1000:28
         |
    1000 |                 ptr.write((n >> 18 & 0b0000_0111) as u8 | 0b1111_0000);
         |                            ^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 18) & 0b0000_0111`
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence

    warning: operator precedence can trip the unwary
        --> src/read.rs:1002:29
         |
    1002 |                     .write((n >> 12 & 0b0011_1111) as u8 | 0b1000_0000);
         |                             ^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 12) & 0b0011_1111`
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence

    warning: operator precedence can trip the unwary
        --> src/read.rs:1003:35
         |
    1003 |                 ptr.add(2).write((n >> 6 & 0b0011_1111) as u8 | 0b1000_0000);
         |                                   ^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(n >> 6) & 0b0011_1111`
         |
         = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence
  • Loading branch information
dtolnay committed Dec 27, 2024
1 parent b2a1415 commit 1e77cac
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions src/read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,7 @@ fn parse_unicode_escape<'de, R: Read<'de>>(

// This value is in range U+10000..=U+10FFFF, which is always a valid
// codepoint.
let n = (((n1 - 0xD800) as u32) << 10 | (n2 - 0xDC00) as u32) + 0x1_0000;
let n = ((((n1 - 0xD800) as u32) << 10) | (n2 - 0xDC00) as u32) + 0x1_0000;
push_wtf8_codepoint(n, scratch);
return Ok(());
}
Expand Down Expand Up @@ -988,19 +988,21 @@ fn push_wtf8_codepoint(n: u32, scratch: &mut Vec<u8>) {
let encoded_len = match n {
0..=0x7F => unreachable!(),
0x80..=0x7FF => {
ptr.write((n >> 6 & 0b0001_1111) as u8 | 0b1100_0000);
ptr.write(((n >> 6) & 0b0001_1111) as u8 | 0b1100_0000);
2
}
0x800..=0xFFFF => {
ptr.write((n >> 12 & 0b0000_1111) as u8 | 0b1110_0000);
ptr.add(1).write((n >> 6 & 0b0011_1111) as u8 | 0b1000_0000);
ptr.write(((n >> 12) & 0b0000_1111) as u8 | 0b1110_0000);
ptr.add(1)
.write(((n >> 6) & 0b0011_1111) as u8 | 0b1000_0000);
3
}
0x1_0000..=0x10_FFFF => {
ptr.write((n >> 18 & 0b0000_0111) as u8 | 0b1111_0000);
ptr.write(((n >> 18) & 0b0000_0111) as u8 | 0b1111_0000);
ptr.add(1)
.write((n >> 12 & 0b0011_1111) as u8 | 0b1000_0000);
ptr.add(2).write((n >> 6 & 0b0011_1111) as u8 | 0b1000_0000);
.write(((n >> 12) & 0b0011_1111) as u8 | 0b1000_0000);
ptr.add(2)
.write(((n >> 6) & 0b0011_1111) as u8 | 0b1000_0000);
4
}
0x11_0000.. => unreachable!(),
Expand Down

0 comments on commit 1e77cac

Please sign in to comment.