diff options
Diffstat (limited to 'src/tools/rustfmt/tests/target/issue-1468.rs')
-rw-r--r-- | src/tools/rustfmt/tests/target/issue-1468.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/issue-1468.rs b/src/tools/rustfmt/tests/target/issue-1468.rs new file mode 100644 index 000000000..4c14a0f74 --- /dev/null +++ b/src/tools/rustfmt/tests/target/issue-1468.rs @@ -0,0 +1,29 @@ +fn issue1468() { + euc_jp_decoder_functions!({ + let trail_minus_offset = byte.wrapping_sub(0xA1); + // Fast-track Hiragana (60% according to Lunde) + // and Katakana (10% according to Lunde). + if jis0208_lead_minus_offset == 0x03 && trail_minus_offset < 0x53 { + // Hiragana + handle.write_upper_bmp(0x3041 + trail_minus_offset as u16) + } else if jis0208_lead_minus_offset == 0x04 && trail_minus_offset < 0x56 { + // Katakana + handle.write_upper_bmp(0x30A1 + trail_minus_offset as u16) + } else if trail_minus_offset > (0xFE - 0xA1) { + if byte < 0x80 { + return ( + DecoderResult::Malformed(1, 0), + unread_handle_trail.unread(), + handle.written(), + ); + } + return ( + DecoderResult::Malformed(2, 0), + unread_handle_trail.consumed(), + handle.written(), + ); + } else { + unreachable!(); + } + }); +} |