{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/1066","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1066/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1066/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1066/events","html_url":"https://github.com/rust-lang/rfcs/pull/1066","id":68957706,"number":1066,"title":"RFC: Alter mem::forget to be safe","user":{"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},"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":164,"created_at":"2015-04-16T16:14:02Z","updated_at":"2015-04-23T23:28:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1066","html_url":"https://github.com/rust-lang/rfcs/pull/1066","diff_url":"https://github.com/rust-lang/rfcs/pull/1066.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1066.patch"},"body":"Alter the signature of the `std::mem::forget` function to remove `unsafe`\r\nExplicitly state that it is not considered unsafe behavior to not run\r\ndestructors.\r\n\r\n[Rendered](https://github.com/alexcrichton/rfcs/blob/safe-mem-forget/text/0000-safe-mem-forget.md)"},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/95746717","html_url":"https://github.com/rust-lang/rfcs/pull/1066#issuecomment-95746717","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1066","id":95746717,"user":{"login":"Diggsey","id":451321,"avatar_url":"https://avatars.githubusercontent.com/u/451321?v=3","gravatar_id":"","url":"https://api.github.com/users/Diggsey","html_url":"https://github.com/Diggsey","followers_url":"https://api.github.com/users/Diggsey/followers","following_url":"https://api.github.com/users/Diggsey/following{/other_user}","gists_url":"https://api.github.com/users/Diggsey/gists{/gist_id}","starred_url":"https://api.github.com/users/Diggsey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Diggsey/subscriptions","organizations_url":"https://api.github.com/users/Diggsey/orgs","repos_url":"https://api.github.com/users/Diggsey/repos","events_url":"https://api.github.com/users/Diggsey/events{/privacy}","received_events_url":"https://api.github.com/users/Diggsey/received_events","type":"User","site_admin":false},"created_at":"2015-04-23T23:28:35Z","updated_at":"2015-04-23T23:28:35Z","body":"@vadimcn \r\n> @alexcrichton (and others of the core team) make it sound as if Rust users will examine every function in std in fine detail and infer that destructors are not guaranteed to run from the fact that mem::forget() is \"safe\". That's... very unlikely, to put it mildly.\r\n\r\nNot at all, that's exactly what happened to me: when I first came across mem::forget() it DID make me think that it's behaviour could not be implemented in safe code, which is not true."}}