{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/1635","repository_url":"https://api.github.com/repos/rust-lang/rfcs","labels_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1635/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1635/comments","events_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1635/events","html_url":"https://github.com/rust-lang/rfcs/pull/1635","id":158252634,"number":1635,"title":"Add two new pointer-sized integer types; uptr and iptr","user":{"login":"ubsan","id":3479021,"avatar_url":"https://avatars.githubusercontent.com/u/3479021?v=3","gravatar_id":"","url":"https://api.github.com/users/ubsan","html_url":"https://github.com/ubsan","followers_url":"https://api.github.com/users/ubsan/followers","following_url":"https://api.github.com/users/ubsan/following{/other_user}","gists_url":"https://api.github.com/users/ubsan/gists{/gist_id}","starred_url":"https://api.github.com/users/ubsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ubsan/subscriptions","organizations_url":"https://api.github.com/users/ubsan/orgs","repos_url":"https://api.github.com/users/ubsan/repos","events_url":"https://api.github.com/users/ubsan/events{/privacy}","received_events_url":"https://api.github.com/users/ubsan/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":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2016-06-02T22:19:56Z","updated_at":"2016-06-04T00:51:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rfcs/pulls/1635","html_url":"https://github.com/rust-lang/rfcs/pull/1635","diff_url":"https://github.com/rust-lang/rfcs/pull/1635.diff","patch_url":"https://github.com/rust-lang/rfcs/pull/1635.patch"},"body":"`usize` and `isize` serve dual purposes; this RFC splits the purposes apart into two types."},"comment":{"url":"https://api.github.com/repos/rust-lang/rfcs/issues/comments/223725962","html_url":"https://github.com/rust-lang/rfcs/pull/1635#issuecomment-223725962","issue_url":"https://api.github.com/repos/rust-lang/rfcs/issues/1635","id":223725962,"user":{"login":"ubsan","id":3479021,"avatar_url":"https://avatars.githubusercontent.com/u/3479021?v=3","gravatar_id":"","url":"https://api.github.com/users/ubsan","html_url":"https://github.com/ubsan","followers_url":"https://api.github.com/users/ubsan/followers","following_url":"https://api.github.com/users/ubsan/following{/other_user}","gists_url":"https://api.github.com/users/ubsan/gists{/gist_id}","starred_url":"https://api.github.com/users/ubsan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ubsan/subscriptions","organizations_url":"https://api.github.com/users/ubsan/orgs","repos_url":"https://api.github.com/users/ubsan/repos","events_url":"https://api.github.com/users/ubsan/events{/privacy}","received_events_url":"https://api.github.com/users/ubsan/received_events","type":"User","site_admin":false},"created_at":"2016-06-04T00:51:14Z","updated_at":"2016-06-04T00:51:14Z","body":"@petrochenkov \r\n\r\nNo, there are no concrete plans at this time. Those are examples to show how broken our current model is, not really intended to be the driving force behind the change. The main driving force is that `usize` currently serves a dual purpose; the object size, and the pointer integer type. This means that when you write functions which take a usize, you do not know what it is; is it an object size, of the kind in `&[T]` or `Vec<T>`, or is it some sort of pointer which has been cast, and you'd like to cast back.\r\n\r\nThe only thing I don't see Rust supporting is architectures where different pointer types are differently sized, and even then, you could make everything `*const ()` sized. We shouldn't stop ourselves prematurely from supporting everything we can, so we can replace C.\r\n\r\n*everywhere*."}}
{"actor":{"display_login":"ubsan"}}