{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/1617","repository_url":"https://api.github.com/repos/rust-lang/rfcs","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1617/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1617/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1617/events","html_url":"https://github.com/rust-lang/rfcs/pull/1617","id":154957112,"number":1617,"title":"RFC - Add an owning \"borrowed\" pointer type `&move`","user":{"login":"thepowersgang","id":955596,"avatar_url":"https://avatars.githubusercontent.com/u/955596?v=3","gravatar_id":"","url":"https://api.github.com/users/thepowersgang","html_url":"https://github.com/thepowersgang","followers_url":"https://api.github.com/users/thepowersgang/followers","following_url":"https://api.github.com/users/thepowersgang/following{/other_user}","gists_url":"https://api.github.com/users/thepowersgang/gists{/gist_id}","starred_url":"https://api.github.com/users/thepowersgang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thepowersgang/subscriptions","organizations_url":"https://api.github.com/users/thepowersgang/orgs","repos_url":"https://api.github.com/users/thepowersgang/repos","events_url":"https://api.github.com/users/thepowersgang/events{/privacy}","received_events_url":"https://api.github.com/users/thepowersgang/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rfcs/labels/T-lang","name":"T-lang","color":"bfd4f2"}],"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":51,"created_at":"2016-05-16T04:08:22Z","updated_at":"2016-05-20T21:03:03Z","closed_at":"2016-05-20T19:03:10Z","pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1617","html_url":"https://github.com/rust-lang/rfcs/pull/1617","diff_url":"https://github.com/rust-lang/rfcs/pull/1617.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1617.patch"},"body":"[Rendered](https://github.com/thepowersgang/rust-lang_rfcs/blob/move-pointer/text/0000-move-pointer.md)\r\n\r\nBig remaining questions:\r\n- When is the memory deallocated when a `&move` is stored somewhere? Ideally when it's not stored, the memory is released as soon as possible (i.e. at the end of the statement), but when stored that would have to be deferred until the end of the original scope."},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/220717843","html_url":"https://github.com/rust-lang/rfcs/pull/1617#issuecomment-220717843","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1617","id":220717843,"user":{"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},"created_at":"2016-05-20T21:03:02Z","updated_at":"2016-05-20T21:03:02Z","body":"@Ericson2314 \r\n\r\n> (Not sure if I should respond here or #998)\r\n\r\nYeah, I don't know :) probably #998 is better, since I think the primary question here is not details of this RFC, but rather how to prioritize this change. To be honest, I'd personally prefer to discuss on internals.rust-lang.org, since I think GH doesn't manage sprawling comment threads very well (and throw a link onto #998). \r\n\r\n> Actually it does [make sense to reborrow an `&move`]. One is left with scratch pointer which, when written to, yields another &move.\r\n\r\nHmm. I suppose that's true. It's not how borrowing of other things works, but it could be fit in I imagine. Interesting! (It's still rather different from other borows, in that it leaves the value in a distinct state from how it began, but I agree you could make it fit better than I thought initially.)\r\n\r\n> Moreover, I see big overlap between this (including out pointers), fixing Drop (c.f. eyepatch, by-value), and, perhaps, non-lexical lifetimes too, and I think together these things do constitute a big priority for the language's evolution.\r\n\r\nI'm not sure that `&move` would solve all of those distinct issues :), though certainly it is a better fit for \"by-value Drop\" than by-value (which is, in fact, a bad fit, hence the reason we chose against adopting it, long ago). But I still feel like it's premature to be adopting an RFC at the moment: we need to get a better handle on the use cases we're aiming at with this design, as well as wrestling some with the mental model that would result."}}
{"actor":{"display_login":"nikomatsakis"}}