rust/tests/ui/unicode.rs

60 lines
1.3 KiB
Rust
Raw Normal View History

//@run-rustfix
2022-08-12 19:02:57 -05:00
#![allow(dead_code)]
2020-10-02 17:03:33 -05:00
#[warn(clippy::invisible_characters)]
2015-06-11 04:35:00 -05:00
fn zero() {
print!("Here >< is a ZWS, and another");
print!("This\u{200B}is\u{200B}fine");
2020-10-02 04:54:31 -05:00
print!("Here >­< is a SHY, and ­another");
print!("This\u{ad}is\u{ad}fine");
2020-10-02 17:07:56 -05:00
print!("Here >< is a WJ, and another");
print!("This\u{2060}is\u{2060}fine");
2015-06-11 04:35:00 -05:00
}
2018-07-28 10:34:52 -05:00
#[warn(clippy::unicode_not_nfc)]
2015-06-11 04:35:00 -05:00
fn canon() {
2017-02-08 07:58:07 -06:00
print!("̀àh?");
2019-01-30 19:15:29 -06:00
print!("a\u{0300}h?"); // also ok
2015-06-11 04:35:00 -05:00
}
2022-08-12 19:02:57 -05:00
mod non_ascii_literal {
#![deny(clippy::non_ascii_literal)]
fn uni() {
print!("Üben!");
print!("\u{DC}ben!"); // this is ok
}
// issue 8013
fn single_quote() {
const _EMPTY_BLOCK: char = '▱';
const _FULL_BLOCK: char = '▰';
}
#[test]
pub fn issue_7739() {
// Ryū crate: https://github.com/dtolnay/ryu
}
mod issue_8263 {
#![deny(clippy::non_ascii_literal)]
// Re-allow for a single test
#[test]
#[allow(clippy::non_ascii_literal)]
fn allowed() {
let _ = "悲しいかな、ここに日本語を書くことはできない。";
}
2015-06-11 04:35:00 -05:00
2022-08-12 19:02:57 -05:00
#[test]
fn denied() {
let _ = "悲しいかな、ここに日本語を書くことはできない。";
}
}
2021-11-26 03:34:07 -06:00
}
2015-06-11 04:35:00 -05:00
fn main() {
zero();
canon();
2015-06-11 04:35:00 -05:00
}