{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/2457","repository_url":"https://api.github.com/repos/rust-lang/rfcs","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/2457/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/2457/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/2457/events","html_url":"https://github.com/rust-lang/rfcs/pull/2457","id":328846052,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyMjU3OTg5","number":2457,"title":"Allow non-ASCII identifiers","user":{"login":"pyfisch","id":2781017,"node_id":"MDQ6VXNlcjI3ODEwMTc=","avatar_url":"https://avatars0.githubusercontent.com/u/2781017?v=4","gravatar_id":"","url":"https://api.github.com/users/pyfisch","html_url":"https://github.com/pyfisch","followers_url":"https://api.github.com/users/pyfisch/followers","following_url":"https://api.github.com/users/pyfisch/following{/other_user}","gists_url":"https://api.github.com/users/pyfisch/gists{/gist_id}","starred_url":"https://api.github.com/users/pyfisch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyfisch/subscriptions","organizations_url":"https://api.github.com/users/pyfisch/orgs","repos_url":"https://api.github.com/users/pyfisch/repos","events_url":"https://api.github.com/users/pyfisch/events{/privacy}","received_events_url":"https://api.github.com/users/pyfisch/received_events","type":"User","site_admin":false},"labels":[{"id":211667886,"node_id":"MDU6TGFiZWwyMTE2Njc4ODY=","url":"https://api.github.com/repos/rust-lang/rfcs/labels/T-lang","name":"T-lang","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":262,"created_at":"2018-06-03T17:25:38Z","updated_at":"2018-06-12T18:16:14Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/2457","html_url":"https://github.com/rust-lang/rfcs/pull/2457","diff_url":"https://github.com/rust-lang/rfcs/pull/2457.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/2457.patch"},"body":"Allow non-ASCII letters (such as accented characters, Cyrillic, Greek, Kanji, etc.) in Rust identifiers.\r\n\r\n[Rendered](https://github.com/pyfisch/rfcs/blob/unicode-idents/text/0000-non-ascii-idents.md)\r\n\r\n----\r\n\r\nIt uses the feedback from rust-lang/rust#28979, #2455 and was updated several times based on the comments received in this PR.\r\n\r\nThe different options for identifier Unicode support can be summarized in this list, ordered from least complex to most complex:\r\n\r\n0. ASCII identifiers (currently implemented in stable Rust)\r\n1. Immutable Identifiers (implemented in C++)\r\n2. Unicode Identifiers (JavaScript, currently implemented in `feature(non_ascii_idents)`)\r\n3. Normalized Identifiers (Python)\r\n4. Confusable Detection (proposed in this RFC)\r\n\r\nLevel 2 already provides good Unicode support for most uses. Normalizing identifiers and confusable detection improves security and usability."},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/396685216","html_url":"https://github.com/rust-lang/rfcs/pull/2457#issuecomment-396685216","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/2457","id":396685216,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NjY4NTIxNg==","user":{"login":"crlf0710","id":451806,"node_id":"MDQ6VXNlcjQ1MTgwNg==","avatar_url":"https://avatars3.githubusercontent.com/u/451806?v=4","gravatar_id":"","url":"https://api.github.com/users/crlf0710","html_url":"https://github.com/crlf0710","followers_url":"https://api.github.com/users/crlf0710/followers","following_url":"https://api.github.com/users/crlf0710/following{/other_user}","gists_url":"https://api.github.com/users/crlf0710/gists{/gist_id}","starred_url":"https://api.github.com/users/crlf0710/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crlf0710/subscriptions","organizations_url":"https://api.github.com/users/crlf0710/orgs","repos_url":"https://api.github.com/users/crlf0710/repos","events_url":"https://api.github.com/users/crlf0710/events{/privacy}","received_events_url":"https://api.github.com/users/crlf0710/received_events","type":"User","site_admin":false},"created_at":"2018-06-12T18:16:14Z","updated_at":"2018-06-12T18:16:14Z","author_association":"NONE","body":"@eggrobin  No, many languages use more than one script, like Japanese uses three scripts routinely and one extra (latin) as supplement. It will bring a lot of trouble if any character has to be added as separation.  \r\n\r\n@burdges  And i don't think any convention should be established at this time. It will take a lot of experiments and a lot of time(and some creativity!) for any such conventions to be settled. Which cannot fit into this RFC.\r\n\r\nI'm gonna post a fictional code snippet here as a referential preview:\r\n```\r\nuse std_zh_cn as 标准库;\r\n\r\nfn main() -> 标准库::输入输出::结果<()> {\r\n   use 标准库::文件系統::巛文件;\r\n   let 文件 = 巛文件::创建(\"foo.txt\")?;\r\n   文件.写入全部(b\"你好，世界!\")?;\r\n   Ok(())\r\n}\r\n```\r\n\r\n(By the way, can i use snippet like this in my next RFC?  )"}}
{"actor":{"display_login":"crlf0710"}}