{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/27734","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/27734/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/27734/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/27734/events","html_url":"https://github.com/rust-lang/rust/issues/27734","id":100603423,"number":27734,"title":"Tracking issue for concrete errors in the standard library","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":[{"url":"https://api.github.com/repos/rust-lang/rust/labels/B-unstable","name":"B-unstable","color":"e102d8"},{"url":"https://api.github.com/repos/rust-lang/rust/labels/final-comment-period","name":"final-comment-period","color":"207de5"},{"url":"https://api.github.com/repos/rust-lang/rust/labels/T-libs","name":"T-libs","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/rust-lang/rust/milestones/27","html_url":"https://github.com/rust-lang/rust/milestones/1.5","labels_url":"https://api.github.com/repos/rust-lang/rust/milestones/27/labels","id":1333559,"number":27,"title":"1.5","description":"The 1.5 release","creator":{"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},"open_issues":21,"closed_issues":0,"state":"open","created_at":"2015-10-01T17:15:24Z","updated_at":"2015-10-01T17:19:33Z","due_on":"2015-12-10T05:00:00Z","closed_at":null},"comments":17,"created_at":"2015-08-12T18:17:55Z","updated_at":"2015-10-21T03:47:25Z","closed_at":null,"body":"This is a tracking issue for the unstable `str_parse_error` and `utf8_error` features in the standard library. Some various small error types popped up once `FromStr` had an associated error type and haven't been considered too closely for stabilization.\r\n\r\nSome thoughts are:\r\n\r\n* Are the names of these types appropriate?\r\n* Are we covered in terms of future extensibility?\r\n* Are the relevant portions of the error exposed well?"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/149772598","html_url":"https://github.com/rust-lang/rust/issues/27734#issuecomment-149772598","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/27734","id":149772598,"user":{"login":"DanielKeep","id":77238,"avatar_url":"https://avatars.githubusercontent.com/u/77238?v=3","gravatar_id":"","url":"https://api.github.com/users/DanielKeep","html_url":"https://github.com/DanielKeep","followers_url":"https://api.github.com/users/DanielKeep/followers","following_url":"https://api.github.com/users/DanielKeep/following{/other_user}","gists_url":"https://api.github.com/users/DanielKeep/gists{/gist_id}","starred_url":"https://api.github.com/users/DanielKeep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanielKeep/subscriptions","organizations_url":"https://api.github.com/users/DanielKeep/orgs","repos_url":"https://api.github.com/users/DanielKeep/repos","events_url":"https://api.github.com/users/DanielKeep/events{/privacy}","received_events_url":"https://api.github.com/users/DanielKeep/received_events","type":"User","site_admin":false},"created_at":"2015-10-21T03:47:25Z","updated_at":"2015-10-21T03:47:25Z","body":"On the subject of `<String as FromStr>::ParseError` potentially being a void type, I've found some value in doing that in `conv`.  Specifically, there's a single `enum NoError {}` type that implements `Error`.  This is leveraged by an `UnwrapOk` extension trait implemented `for<T> Result<T, NoError>` to provide an `unwrap_ok` method that is basically `unwrap`, but cannot panic.  As such, it doesn't need landing pads *and* specifically indicates that the unwrap in this case is effectively a no-op (and not a code smell like a regular `unwrap` call).\r\n\r\nIt's probably outside the scope of this issue, but it might be useful to have a similar, standard `NoError` type in Rust."}}