{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/790","repository_url":"https://api.github.com/repos/rust-lang/rfcs","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/790/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/790/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/790/events","html_url":"https://github.com/rust-lang/rfcs/issues/790","id":56221323,"number":790,"title":"Add non-allocating sort function to libcore","user":{"login":"steveklabnik","id":27786,"avatar_url":"https://avatars.githubusercontent.com/u/27786?v=3","gravatar_id":"","url":"https://api.github.com/users/steveklabnik","html_url":"https://github.com/steveklabnik","followers_url":"https://api.github.com/users/steveklabnik/followers","following_url":"https://api.github.com/users/steveklabnik/following{/other_user}","gists_url":"https://api.github.com/users/steveklabnik/gists{/gist_id}","starred_url":"https://api.github.com/users/steveklabnik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveklabnik/subscriptions","organizations_url":"https://api.github.com/users/steveklabnik/orgs","repos_url":"https://api.github.com/users/steveklabnik/repos","events_url":"https://api.github.com/users/steveklabnik/events{/privacy}","received_events_url":"https://api.github.com/users/steveklabnik/received_events","type":"User","site_admin":false},"labels":[{"id":177082544,"url":"https://api.github.com/repos/rust-lang/rfcs/labels/A-enhancement","name":"A-enhancement","color":"d7e101","default":false},{"id":177082587,"url":"https://api.github.com/repos/rust-lang/rfcs/labels/A-libs","name":"A-libs","color":"d7e101","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2015-02-02T10:50:15Z","updated_at":"2016-12-02T20:08:29Z","closed_at":null,"body":"<a href=\"https://github.com/mahkoh\"><img src=\"https://avatars.githubusercontent.com/u/1882250?v=3\" align=\"left\" width=\"96\" height=\"96\" hspace=\"10\"></img></a> **Issue by [mahkoh](https://github.com/mahkoh)**\n_Saturday Nov 22, 2014 at 22:45 GMT_\n\n_For earlier discussion, see https://github.com/rust-lang/rust/issues/19221_\n\n_This issue was labelled with: A-collections, A-libs, I-enhancement in the Rust repository_\n\n---\n"},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/264550253","html_url":"https://github.com/rust-lang/rfcs/issues/790#issuecomment-264550253","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/790","id":264550253,"user":{"login":"camlorn","id":6968705,"avatar_url":"https://avatars.githubusercontent.com/u/6968705?v=3","gravatar_id":"","url":"https://api.github.com/users/camlorn","html_url":"https://github.com/camlorn","followers_url":"https://api.github.com/users/camlorn/followers","following_url":"https://api.github.com/users/camlorn/following{/other_user}","gists_url":"https://api.github.com/users/camlorn/gists{/gist_id}","starred_url":"https://api.github.com/users/camlorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/camlorn/subscriptions","organizations_url":"https://api.github.com/users/camlorn/orgs","repos_url":"https://api.github.com/users/camlorn/repos","events_url":"https://api.github.com/users/camlorn/events{/privacy}","received_events_url":"https://api.github.com/users/camlorn/received_events","type":"User","site_admin":false},"created_at":"2016-12-02T20:08:29Z","updated_at":"2016-12-02T20:08:29Z","body":"If we can't do it as `sort_xxx`, we could do it as `sort_unstable_xxx` or `sort_noalloc_xxx`.\r\n\r\nStability is obviously important, in both the sorting and backwards compatibility senses.  But there's lots of things for which you don't care about stability, and our current implementations will grab a lot of ram for large arrays (at least, per the documentation).  You could not feasibly sort a 1 GB vector with stdlib, unless you're operating on an atypically powerful machine.\r\n\r\nIf you do and it fails, it panics; you can't even catch the error.  If we can't add an allocating one, we should at least add one which returns `Result` or something, so that you can do something appropriate besides completely crash.\r\n\r\nPerhaps allocating is not actually as big a deal as I think, but adding these methods to stdlib seems to have very little long-term costs.  Obviously, the best approach is `sort`, etc, not allocating."}}
{"actor":{"display_login":"camlorn"}}