{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/9731","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/9731/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/9731/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/9731/events","html_url":"https://github.com/dotnet/roslyn/issues/9731","id":140780668,"number":9731,"title":"Compiler does not correctly interpret surrogate pairs when used in an identifier","user":{"login":"tannergooding","id":10487869,"avatar_url":"https://avatars.githubusercontent.com/u/10487869?v=3","gravatar_id":"","url":"https://api.github.com/users/tannergooding","html_url":"https://github.com/tannergooding","followers_url":"https://api.github.com/users/tannergooding/followers","following_url":"https://api.github.com/users/tannergooding/following{/other_user}","gists_url":"https://api.github.com/users/tannergooding/gists{/gist_id}","starred_url":"https://api.github.com/users/tannergooding/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tannergooding/subscriptions","organizations_url":"https://api.github.com/users/tannergooding/orgs","repos_url":"https://api.github.com/users/tannergooding/repos","events_url":"https://api.github.com/users/tannergooding/events{/privacy}","received_events_url":"https://api.github.com/users/tannergooding/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-Compilers","name":"Area-Compilers","color":"5319e7"},{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Bug","name":"Bug","color":"fc2929"},{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Language-C%23","name":"Language-C#","color":"207de5"},{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Tenet-Localization","name":"Tenet-Localization","color":"eb6420"},{"url":"https://api.github.com/repos/dotnet/roslyn/labels/Up%20for%20Grabs","name":"Up for Grabs","color":"90EE90"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/dotnet/roslyn/milestones/2","html_url":"https://github.com/dotnet/roslyn/milestones/Unknown","labels_url":"https://api.github.com/repos/dotnet/roslyn/milestones/2/labels","id":937398,"number":2,"title":"Unknown","description":"This represents work which is not planned for a specific release.\r\n\r\n<!---\r\n@huboard:{\"order\":0.25}\n-->\r\n","creator":{"login":"jaredpar","id":146967,"avatar_url":"https://avatars.githubusercontent.com/u/146967?v=3","gravatar_id":"","url":"https://api.github.com/users/jaredpar","html_url":"https://github.com/jaredpar","followers_url":"https://api.github.com/users/jaredpar/followers","following_url":"https://api.github.com/users/jaredpar/following{/other_user}","gists_url":"https://api.github.com/users/jaredpar/gists{/gist_id}","starred_url":"https://api.github.com/users/jaredpar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaredpar/subscriptions","organizations_url":"https://api.github.com/users/jaredpar/orgs","repos_url":"https://api.github.com/users/jaredpar/repos","events_url":"https://api.github.com/users/jaredpar/events{/privacy}","received_events_url":"https://api.github.com/users/jaredpar/received_events","type":"User","site_admin":false},"open_issues":732,"closed_issues":173,"state":"open","created_at":"2015-01-15T20:46:02Z","updated_at":"2016-09-02T16:19:18Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2016-03-14T19:52:27Z","updated_at":"2016-09-02T17:20:07Z","closed_at":null,"body":"The C# specification states that an `identifier` can start with or contain anything matching `letter-character`, which is defined as:\r\n```\r\nletter-character::\r\nA Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl\r\nA unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl\r\n```\r\n\r\nHowever, the compiler does not appear to correctly interpret some characters which match the above categories if they are part of a surrogate pair.\r\n\r\nFor example the sumerian character `𒅴` is categorized as 'OtherLetter' (matching 'Lo' above) when processed through `char.GetUnicodeCategory(\"𒅴\", 0)`.\r\n\r\nHowever, the compiler is interpreting this character as two separate characters (and reporting CS1056 for both). It is likely checking each character individually, rather than checking if the first character is part of a surrogate pair and interpreting the character appropriately if it is."},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/244435941","html_url":"https://github.com/dotnet/roslyn/issues/9731#issuecomment-244435941","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/9731","id":244435941,"user":{"login":"gafter","id":3804346,"avatar_url":"https://avatars.githubusercontent.com/u/3804346?v=3","gravatar_id":"","url":"https://api.github.com/users/gafter","html_url":"https://github.com/gafter","followers_url":"https://api.github.com/users/gafter/followers","following_url":"https://api.github.com/users/gafter/following{/other_user}","gists_url":"https://api.github.com/users/gafter/gists{/gist_id}","starred_url":"https://api.github.com/users/gafter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gafter/subscriptions","organizations_url":"https://api.github.com/users/gafter/orgs","repos_url":"https://api.github.com/users/gafter/repos","events_url":"https://api.github.com/users/gafter/events{/privacy}","received_events_url":"https://api.github.com/users/gafter/received_events","type":"User","site_admin":false},"created_at":"2016-09-02T17:20:07Z","updated_at":"2016-09-02T17:20:07Z","body":"This is also reported as #13474"}}
{"actor":{"display_login":"gafter"}}