{"action":"created","issue":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5785","repository_url":"https://api.github.com/repos/HaxeFoundation/haxe","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5785/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5785/comments","events_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5785/events","html_url":"https://github.com/HaxeFoundation/haxe/issues/5785","id":186827038,"number":5785,"title":"Compiler hanging ","user":{"login":"sledorze","id":416760,"avatar_url":"https://avatars.githubusercontent.com/u/416760?v=3","gravatar_id":"","url":"https://api.github.com/users/sledorze","html_url":"https://github.com/sledorze","followers_url":"https://api.github.com/users/sledorze/followers","following_url":"https://api.github.com/users/sledorze/following{/other_user}","gists_url":"https://api.github.com/users/sledorze/gists{/gist_id}","starred_url":"https://api.github.com/users/sledorze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sledorze/subscriptions","organizations_url":"https://api.github.com/users/sledorze/orgs","repos_url":"https://api.github.com/users/sledorze/repos","events_url":"https://api.github.com/users/sledorze/events{/privacy}","received_events_url":"https://api.github.com/users/sledorze/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"ncannasse","id":1022912,"avatar_url":"https://avatars.githubusercontent.com/u/1022912?v=3","gravatar_id":"","url":"https://api.github.com/users/ncannasse","html_url":"https://github.com/ncannasse","followers_url":"https://api.github.com/users/ncannasse/followers","following_url":"https://api.github.com/users/ncannasse/following{/other_user}","gists_url":"https://api.github.com/users/ncannasse/gists{/gist_id}","starred_url":"https://api.github.com/users/ncannasse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncannasse/subscriptions","organizations_url":"https://api.github.com/users/ncannasse/orgs","repos_url":"https://api.github.com/users/ncannasse/repos","events_url":"https://api.github.com/users/ncannasse/events{/privacy}","received_events_url":"https://api.github.com/users/ncannasse/received_events","type":"User","site_admin":false},"assignees":[{"login":"ncannasse","id":1022912,"avatar_url":"https://avatars.githubusercontent.com/u/1022912?v=3","gravatar_id":"","url":"https://api.github.com/users/ncannasse","html_url":"https://github.com/ncannasse","followers_url":"https://api.github.com/users/ncannasse/followers","following_url":"https://api.github.com/users/ncannasse/following{/other_user}","gists_url":"https://api.github.com/users/ncannasse/gists{/gist_id}","starred_url":"https://api.github.com/users/ncannasse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncannasse/subscriptions","organizations_url":"https://api.github.com/users/ncannasse/orgs","repos_url":"https://api.github.com/users/ncannasse/repos","events_url":"https://api.github.com/users/ncannasse/events{/privacy}","received_events_url":"https://api.github.com/users/ncannasse/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2016-11-02T15:06:04Z","updated_at":"2016-12-02T09:55:47Z","closed_at":null,"body":"Compiler version from nightlies: \r\nhaxe_2016-11-01_development_d32dd16\r\n\r\nThis code hangs the compiler forever (Js target at least).\r\n\r\n```\r\ntypedef Observable<T> = {\r\n\tfunction flatten<U>():Stream<U>;\r\n};\r\ntypedef Stream<T> = {\r\n\t>Observable<T>,\r\n\tfunction takeUntilBy<U>(otherObs:Observable<U>):Stream<U>;\r\n\tfunction bufferWhileBy():Stream<Array<T>>;\r\n};\r\n\r\nclass Main {\r\n\r\n  public static function main() {\r\n    var mouseMoves : Stream<Int> = null;\r\n    mouseMoves.takeUntilBy(mouseMoves);\r\n  } \r\n}\r\n```\r\n\r\nWhat is happening:\r\n\r\nCompiler hangs forever..\r\n\r\nWhat should happen:\r\n\r\nCompiler completes.\r\n\r\nNote:\r\n\r\nchanging the code to this make the compiler not to block:\r\n\r\n```\r\ntypedef Observable<T> = {\r\n\tfunction flatten<U>():Stream<U>;\r\n};\r\ntypedef Stream<T> = {\r\n\t>Observable<T>,\r\n\tfunction takeUntilBy<U>(otherObs:Stream<U>):Stream<U>;\r\n\tfunction bufferWhileBy():Stream<Array<T>>;\r\n};\r\n\r\nclass Main {\r\n\r\n  public static function main() {\r\n    var mouseMoves : Stream<Int> = null;\r\n    mouseMoves.takeUntilBy(mouseMoves);\r\n  } \r\n}\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/comments/264416306","html_url":"https://github.com/HaxeFoundation/haxe/issues/5785#issuecomment-264416306","issue_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5785","id":264416306,"user":{"login":"Simn","id":634365,"avatar_url":"https://avatars.githubusercontent.com/u/634365?v=3","gravatar_id":"","url":"https://api.github.com/users/Simn","html_url":"https://github.com/Simn","followers_url":"https://api.github.com/users/Simn/followers","following_url":"https://api.github.com/users/Simn/following{/other_user}","gists_url":"https://api.github.com/users/Simn/gists{/gist_id}","starred_url":"https://api.github.com/users/Simn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Simn/subscriptions","organizations_url":"https://api.github.com/users/Simn/orgs","repos_url":"https://api.github.com/users/Simn/repos","events_url":"https://api.github.com/users/Simn/events{/privacy}","received_events_url":"https://api.github.com/users/Simn/received_events","type":"User","site_admin":false},"created_at":"2016-12-02T09:55:46Z","updated_at":"2016-12-02T09:55:46Z","body":"Yes that seems indeed to be the problem.\r\n\r\nI like the `apply_stack` idea, but the question is how exactly we extract values from that. We can't use physical equality, and if we employ some type equality check we're back to where we started."}}
{"actor":{"display_login":"Simn"}}