{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/1786","labels_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/1786/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/1786/comments","events_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/1786/events","html_url":"https://github.com/ReactiveCocoa/ReactiveCocoa/issues/1786","id":59024841,"number":1786,"title":"Add an operator for promoting a NoError signal/producer","user":{"login":"jspahrsummers","id":432536,"avatar_url":"https://avatars.githubusercontent.com/u/432536?v=3","gravatar_id":"","url":"https://api.github.com/users/jspahrsummers","html_url":"https://github.com/jspahrsummers","followers_url":"https://api.github.com/users/jspahrsummers/followers","following_url":"https://api.github.com/users/jspahrsummers/following{/other_user}","gists_url":"https://api.github.com/users/jspahrsummers/gists{/gist_id}","starred_url":"https://api.github.com/users/jspahrsummers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspahrsummers/subscriptions","organizations_url":"https://api.github.com/users/jspahrsummers/orgs","repos_url":"https://api.github.com/users/jspahrsummers/repos","events_url":"https://api.github.com/users/jspahrsummers/events{/privacy}","received_events_url":"https://api.github.com/users/jspahrsummers/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"jspahrsummers","id":432536,"avatar_url":"https://avatars.githubusercontent.com/u/432536?v=3","gravatar_id":"","url":"https://api.github.com/users/jspahrsummers","html_url":"https://github.com/jspahrsummers","followers_url":"https://api.github.com/users/jspahrsummers/followers","following_url":"https://api.github.com/users/jspahrsummers/following{/other_user}","gists_url":"https://api.github.com/users/jspahrsummers/gists{/gist_id}","starred_url":"https://api.github.com/users/jspahrsummers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspahrsummers/subscriptions","organizations_url":"https://api.github.com/users/jspahrsummers/orgs","repos_url":"https://api.github.com/users/jspahrsummers/repos","events_url":"https://api.github.com/users/jspahrsummers/events{/privacy}","received_events_url":"https://api.github.com/users/jspahrsummers/received_events","type":"User","site_admin":true},"milestone":{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/milestones/4","html_url":"https://github.com/ReactiveCocoa/ReactiveCocoa/milestones/3.0","labels_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/milestones/4/labels","id":393809,"number":4,"title":"3.0","description":"Rethinking some of the [bigger underlying concepts in RAC](https://gist.github.com/jspahrsummers/7000136), particularly those inspired by Rx.\r\n\r\nHowever, we need to take backwards compatibility more seriously than we did for 1.x → 2.0, since our long-time users have already gone through that hellish migration, and we've gained even more users since then.","creator":{"login":"jspahrsummers","id":432536,"avatar_url":"https://avatars.githubusercontent.com/u/432536?v=3","gravatar_id":"","url":"https://api.github.com/users/jspahrsummers","html_url":"https://github.com/jspahrsummers","followers_url":"https://api.github.com/users/jspahrsummers/followers","following_url":"https://api.github.com/users/jspahrsummers/following{/other_user}","gists_url":"https://api.github.com/users/jspahrsummers/gists{/gist_id}","starred_url":"https://api.github.com/users/jspahrsummers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspahrsummers/subscriptions","organizations_url":"https://api.github.com/users/jspahrsummers/orgs","repos_url":"https://api.github.com/users/jspahrsummers/repos","events_url":"https://api.github.com/users/jspahrsummers/events{/privacy}","received_events_url":"https://api.github.com/users/jspahrsummers/received_events","type":"User","site_admin":true},"open_issues":18,"closed_issues":218,"state":"open","created_at":"2013-08-04T02:52:56Z","updated_at":"2015-02-28T00:39:09Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2015-02-26T06:08:36Z","updated_at":"2015-02-28T20:35:44Z","closed_at":null,"body":"Signals and producers that are parameterized over `NoError` (i.e., those that cannot send errors) cannot automatically be combined with signals and producers that might error. Instead, you have to lift them using something like:\r\n\r\n```swift\r\nproducer |> catch { _ in SignalProducer<T, RealError>.empty }\r\n```\r\n\r\n… which would not make any sense to most readers (and which does not work on plain `Signal`s). We should add an operator to encapsulate this use case.\r\n\r\n/cc @robrix "},"comment":{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/comments/76544646","html_url":"https://github.com/ReactiveCocoa/ReactiveCocoa/issues/1786#issuecomment-76544646","issue_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/1786","id":76544646,"user":{"login":"jspahrsummers","id":432536,"avatar_url":"https://avatars.githubusercontent.com/u/432536?v=3","gravatar_id":"","url":"https://api.github.com/users/jspahrsummers","html_url":"https://github.com/jspahrsummers","followers_url":"https://api.github.com/users/jspahrsummers/followers","following_url":"https://api.github.com/users/jspahrsummers/following{/other_user}","gists_url":"https://api.github.com/users/jspahrsummers/gists{/gist_id}","starred_url":"https://api.github.com/users/jspahrsummers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jspahrsummers/subscriptions","organizations_url":"https://api.github.com/users/jspahrsummers/orgs","repos_url":"https://api.github.com/users/jspahrsummers/repos","events_url":"https://api.github.com/users/jspahrsummers/events{/privacy}","received_events_url":"https://api.github.com/users/jspahrsummers/received_events","type":"User","site_admin":true},"created_at":"2015-02-28T20:35:44Z","updated_at":"2015-02-28T20:35:44Z","body":"Me neither! We'll go with that, then."}}