{"action":"closed","issue":{"url":"https://api.github.com/repos/caolan/highland/issues/426","repository_url":"https://api.github.com/repos/caolan/highland","labels_url":"https://api.github.com/repos/caolan/highland/issues/426/labels{/name}","comments_url":"https://api.github.com/repos/caolan/highland/issues/426/comments","events_url":"https://api.github.com/repos/caolan/highland/issues/426/events","html_url":"https://github.com/caolan/highland/issues/426","id":125738708,"number":426,"title":"Consider throwing an error on calls to resume on consumed streams.","user":{"login":"vqvu","id":6435429,"avatar_url":"https://avatars.githubusercontent.com/u/6435429?v=3","gravatar_id":"","url":"https://api.github.com/users/vqvu","html_url":"https://github.com/vqvu","followers_url":"https://api.github.com/users/vqvu/followers","following_url":"https://api.github.com/users/vqvu/following{/other_user}","gists_url":"https://api.github.com/users/vqvu/gists{/gist_id}","starred_url":"https://api.github.com/users/vqvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vqvu/subscriptions","organizations_url":"https://api.github.com/users/vqvu/orgs","repos_url":"https://api.github.com/users/vqvu/repos","events_url":"https://api.github.com/users/vqvu/events{/privacy}","received_events_url":"https://api.github.com/users/vqvu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/caolan/highland/labels/3.x","name":"3.x","color":"5319d7"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/caolan/highland/milestones/3","html_url":"https://github.com/caolan/highland/milestones/3.0.0","labels_url":"https://api.github.com/repos/caolan/highland/milestones/3/labels","id":1193652,"number":3,"title":"3.0.0","description":"","creator":{"login":"vqvu","id":6435429,"avatar_url":"https://avatars.githubusercontent.com/u/6435429?v=3","gravatar_id":"","url":"https://api.github.com/users/vqvu","html_url":"https://github.com/vqvu","followers_url":"https://api.github.com/users/vqvu/followers","following_url":"https://api.github.com/users/vqvu/following{/other_user}","gists_url":"https://api.github.com/users/vqvu/gists{/gist_id}","starred_url":"https://api.github.com/users/vqvu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vqvu/subscriptions","organizations_url":"https://api.github.com/users/vqvu/orgs","repos_url":"https://api.github.com/users/vqvu/repos","events_url":"https://api.github.com/users/vqvu/events{/privacy}","received_events_url":"https://api.github.com/users/vqvu/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":6,"state":"open","created_at":"2015-07-05T14:39:48Z","updated_at":"2016-02-29T02:15:10Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-01-09T05:07:49Z","updated_at":"2016-02-29T02:15:10Z","closed_at":"2016-02-29T02:15:10Z","body":"This comes out of the discussion in #59. It's pretty easy for novices to resort to calling `resume` when encountering a deadlock, because they don't fully understand the consequences of `fork` and `observe` (I've seen this in other issues besides #59). Often, this results in `resume` being called on a stream that has already been consumed or forked. It would be useful for Highland to detect these cases and tell them \"no\".\r\n\r\nWe can combine this with some better documentation in `fork` and `observe`. I'm thinking of adding this in 3.0.\r\n\r\nWhat do people think? Is there any legitimate reason to call `resume` on streams that have been consumed. That's always a bug, right?"}}