| #![allow(dead_code)] |
| |
| #![forbid(non_camel_case_types)] |
| |
| // Some scripts (e.g., hiragana) don't have a concept of |
| // upper/lowercase |
| |
| // 1. non_camel_case_types |
| |
| // Can start with non-lowercase letter |
| struct Θχ; |
| struct ヒa; |
| |
| struct χa; |
| //~^ ERROR type `χa` should have an upper camel case name |
| |
| // If there's already leading or trailing underscores, they get trimmed before checking. |
| // This is fine: |
| struct _ヒb; |
| |
| // This is not: |
| struct __χa; |
| //~^ ERROR type `__χa` should have an upper camel case name |
| |
| // Besides this, we cannot have two continuous underscores in the middle. |
| |
| struct 对__否; |
| //~^ ERROR type `对__否` should have an upper camel case name |
| |
| struct ヒ__χ; |
| //~^ ERROR type `ヒ__χ` should have an upper camel case name |
| |
| // also cannot have lowercase letter next to an underscore. |
| // so this triggers the lint: |
| |
| struct Hello_你好; |
| //~^ ERROR type `Hello_你好` should have an upper camel case name |
| |
| struct Hello_World; |
| //~^ ERROR type `Hello_World` should have an upper camel case name |
| |
| struct 你_ӟ; |
| //~^ ERROR type `你_ӟ` should have an upper camel case name |
| |
| // and this is ok: |
| |
| struct 你_好; |
| |
| fn main() {} |