{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/1094","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1094/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1094/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1094/events","html_url":"https://github.com/rust-lang/rfcs/pull/1094","id":71399727,"number":1094,"title":"Guaranteed non-static destructors","user":{"login":"rkjnsn","id":7364197,"avatar_url":"https://avatars.githubusercontent.com/u/7364197?v=3","gravatar_id":"","url":"https://api.github.com/users/rkjnsn","html_url":"https://github.com/rkjnsn","followers_url":"https://api.github.com/users/rkjnsn/followers","following_url":"https://api.github.com/users/rkjnsn/following{/other_user}","gists_url":"https://api.github.com/users/rkjnsn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkjnsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkjnsn/subscriptions","organizations_url":"https://api.github.com/users/rkjnsn/orgs","repos_url":"https://api.github.com/users/rkjnsn/repos","events_url":"https://api.github.com/users/rkjnsn/events{/privacy}","received_events_url":"https://api.github.com/users/rkjnsn/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"nikomatsakis","id":155238,"avatar_url":"https://avatars.githubusercontent.com/u/155238?v=3","gravatar_id":"","url":"https://api.github.com/users/nikomatsakis","html_url":"https://github.com/nikomatsakis","followers_url":"https://api.github.com/users/nikomatsakis/followers","following_url":"https://api.github.com/users/nikomatsakis/following{/other_user}","gists_url":"https://api.github.com/users/nikomatsakis/gists{/gist_id}","starred_url":"https://api.github.com/users/nikomatsakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikomatsakis/subscriptions","organizations_url":"https://api.github.com/users/nikomatsakis/orgs","repos_url":"https://api.github.com/users/nikomatsakis/repos","events_url":"https://api.github.com/users/nikomatsakis/events{/privacy}","received_events_url":"https://api.github.com/users/nikomatsakis/received_events","type":"User","site_admin":false},"milestone":null,"comments":69,"created_at":"2015-04-27T20:57:40Z","updated_at":"2015-05-12T05:08:58Z","closed_at":"2015-05-07T17:19:50Z","pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1094","html_url":"https://github.com/rust-lang/rfcs/pull/1094","diff_url":"https://github.com/rust-lang/rfcs/pull/1094.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1094.patch"},"body":"Guarantee that the destructor for data that contains a borrow is run before any\r\ncode after the borrow’s lifetime is executed.\r\n\r\n[Rendered](https://github.com/rkjnsn/rfcs/blob/guarantee-non-static-destructors/text/0000-guaranteed-non-static-destructors.md)"},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/101134242","html_url":"https://github.com/rust-lang/rfcs/pull/1094#issuecomment-101134242","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1094","id":101134242,"user":{"login":"theemathas","id":6120103,"avatar_url":"https://avatars.githubusercontent.com/u/6120103?v=3","gravatar_id":"","url":"https://api.github.com/users/theemathas","html_url":"https://github.com/theemathas","followers_url":"https://api.github.com/users/theemathas/followers","following_url":"https://api.github.com/users/theemathas/following{/other_user}","gists_url":"https://api.github.com/users/theemathas/gists{/gist_id}","starred_url":"https://api.github.com/users/theemathas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theemathas/subscriptions","organizations_url":"https://api.github.com/users/theemathas/orgs","repos_url":"https://api.github.com/users/theemathas/repos","events_url":"https://api.github.com/users/theemathas/events{/privacy}","received_events_url":"https://api.github.com/users/theemathas/received_events","type":"User","site_admin":false},"created_at":"2015-05-12T05:08:58Z","updated_at":"2015-05-12T05:08:58Z","body":"@nikomatsakis I've always assumed that all abstractions could take a ScopedRcGuard, and let the user pass in STATIC_GUARD as required. However, seems like you feel that is too complex. I guess I am underestimating the complexity (which is subjective any way, so I guess I should stop argue now)\r\n\r\n@aturon I sort of forgot that rust is about \"zero cost abstractions\", after all. I thought that the overhead is going to be low, but maybe that's not low enough.\r\n\r\nSorry for beating the dead horse."}}