{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/28773","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/28773/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/28773/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/28773/events","html_url":"https://github.com/rust-lang/rust/issues/28773","id":109168851,"number":28773,"title":"There should be a Box<Error+Send+Sync> -> Box<Error> From conversion","user":{"login":"talchas","id":3578697,"avatar_url":"https://avatars.githubusercontent.com/u/3578697?v=3","gravatar_id":"","url":"https://api.github.com/users/talchas","html_url":"https://github.com/talchas","followers_url":"https://api.github.com/users/talchas/followers","following_url":"https://api.github.com/users/talchas/following{/other_user}","gists_url":"https://api.github.com/users/talchas/gists{/gist_id}","starred_url":"https://api.github.com/users/talchas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/talchas/subscriptions","organizations_url":"https://api.github.com/users/talchas/orgs","repos_url":"https://api.github.com/users/talchas/repos","events_url":"https://api.github.com/users/talchas/events{/privacy}","received_events_url":"https://api.github.com/users/talchas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-09-30T20:06:40Z","updated_at":"2015-09-30T22:34:43Z","closed_at":null,"body":"This conversion is done implicitly, but implicit conversions aren't done in generic lookup. This means that\r\n\r\n```rust\r\nfn foo() -> Result<(), Box<Error + Send + Sync>> { try!(Err(\"foo\")) }\r\nfn bar() -> Result<(), Box<Error>> { try!(foo()); }\r\n```\r\n\r\nwill fail, which is obnoxious and means adding these bounds in a library is not just a theoretical breaking change, but one that will happen. The impl would be trivial."},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/144564578","html_url":"https://github.com/rust-lang/rust/issues/28773#issuecomment-144564578","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/28773","id":144564578,"user":{"login":"jonas-schievink","id":1786438,"avatar_url":"https://avatars.githubusercontent.com/u/1786438?v=3","gravatar_id":"","url":"https://api.github.com/users/jonas-schievink","html_url":"https://github.com/jonas-schievink","followers_url":"https://api.github.com/users/jonas-schievink/followers","following_url":"https://api.github.com/users/jonas-schievink/following{/other_user}","gists_url":"https://api.github.com/users/jonas-schievink/gists{/gist_id}","starred_url":"https://api.github.com/users/jonas-schievink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonas-schievink/subscriptions","organizations_url":"https://api.github.com/users/jonas-schievink/orgs","repos_url":"https://api.github.com/users/jonas-schievink/repos","events_url":"https://api.github.com/users/jonas-schievink/events{/privacy}","received_events_url":"https://api.github.com/users/jonas-schievink/received_events","type":"User","site_admin":false},"created_at":"2015-09-30T22:34:43Z","updated_at":"2015-09-30T22:34:43Z","body":"I could also imagine implicit coercions from `Box<A + B>` to `Box<A>` and `Box<B>` to work quite well in general.\r\n\r\nTangentially related: #28326 and rust-lang/rfcs#1277\r\n"}}