{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/31519","repository_url":"https://api.github.com/repos/rust-lang/rust","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/31519/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/31519/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/31519/events","html_url":"https://github.com/rust-lang/rust/pull/31519","id":132500611,"number":31519,"title":"Open code the __failfast intrinsic for rtabort! on windows","user":{"login":"brson","id":147214,"avatar_url":"https://avatars.githubusercontent.com/u/147214?v=3","gravatar_id":"","url":"https://api.github.com/users/brson","html_url":"https://github.com/brson","followers_url":"https://api.github.com/users/brson/followers","following_url":"https://api.github.com/users/brson/following{/other_user}","gists_url":"https://api.github.com/users/brson/gists{/gist_id}","starred_url":"https://api.github.com/users/brson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brson/subscriptions","organizations_url":"https://api.github.com/users/brson/orgs","repos_url":"https://api.github.com/users/brson/repos","events_url":"https://api.github.com/users/brson/events{/privacy}","received_events_url":"https://api.github.com/users/brson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"alexcrichton","id":64996,"avatar_url":"https://avatars.githubusercontent.com/u/64996?v=3","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2016-02-09T18:54:52Z","updated_at":"2016-02-10T00:06:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/31519","html_url":"https://github.com/rust-lang/rust/pull/31519","diff_url":"https://github.com/rust-lang/rust/pull/31519.diff","patch_url":"https://github.com/rust-lang/rust/pull/31519.patch"},"body":"Open code the __failfast intrinsic for rtabort! on windows\r\n\r\nBased on https://github.com/rust-lang/rust/pull/31457\r\n\r\nAs described https://msdn.microsoft.com/en-us/library/dn774154.aspx\r\n\r\nThis is a Windows 8+ mechanism for terminating the process quickly,\r\nwhich degrades to either an access violation or bugcheck in older versions.\r\n\r\nI'm not sure this is better the the current mechanism of terminating\r\nwith an illegal instruction, but we recently converted unix to\r\nterminate more correctly with SIGABORT, and this *seems* more correct\r\nfor windows.\r\n\r\nI'm not convinced this is the right thing to do, since it will make it harder to detect runtime aborts on windows - presumably the different exit modes for different windows versions produce different exit codes. Since this is a breaking change we really only want to do it once.\r\n\r\nr? @alexcrichton \r\ncc @retep998 "},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/182140610","html_url":"https://github.com/rust-lang/rust/pull/31519#issuecomment-182140610","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/31519","id":182140610,"user":{"login":"retep998","id":666308,"avatar_url":"https://avatars.githubusercontent.com/u/666308?v=3","gravatar_id":"","url":"https://api.github.com/users/retep998","html_url":"https://github.com/retep998","followers_url":"https://api.github.com/users/retep998/followers","following_url":"https://api.github.com/users/retep998/following{/other_user}","gists_url":"https://api.github.com/users/retep998/gists{/gist_id}","starred_url":"https://api.github.com/users/retep998/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/retep998/subscriptions","organizations_url":"https://api.github.com/users/retep998/orgs","repos_url":"https://api.github.com/users/retep998/repos","events_url":"https://api.github.com/users/retep998/events{/privacy}","received_events_url":"https://api.github.com/users/retep998/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T00:06:18Z","updated_at":"2016-02-10T00:06:18Z","body":"Another point to make is that the CRT `abort` also uses `__fastfail` to kill the process so there is precedent."}}