{"action":"closed","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/24064","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/24064/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/24064/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/24064/events","html_url":"https://github.com/dart-lang/sdk/issues/24064","id":100734793,"number":24064,"title":"dart2js: CPS backend crashes because it doesn't always close over type variables","user":{"login":"kmillikin","id":1971137,"avatar_url":"https://avatars.githubusercontent.com/u/1971137?v=3","gravatar_id":"","url":"https://api.github.com/users/kmillikin","html_url":"https://github.com/kmillikin","followers_url":"https://api.github.com/users/kmillikin/followers","following_url":"https://api.github.com/users/kmillikin/following{/other_user}","gists_url":"https://api.github.com/users/kmillikin/gists{/gist_id}","starred_url":"https://api.github.com/users/kmillikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kmillikin/subscriptions","organizations_url":"https://api.github.com/users/kmillikin/orgs","repos_url":"https://api.github.com/users/kmillikin/repos","events_url":"https://api.github.com/users/kmillikin/events{/privacy}","received_events_url":"https://api.github.com/users/kmillikin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dart-lang/sdk/labels/Area-Dart2JS","name":"Area-Dart2JS","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-13T10:34:34Z","updated_at":"2015-08-13T11:36:46Z","closed_at":"2015-08-13T11:36:46Z","body":"@asgerf do you want to take this one?\r\n\r\nStandalone test case:\r\n\r\n```dart\r\nclass A<T> {\r\n  A() {\r\n    [].forEach((T x) {});\r\n  }\r\n}\r\n\r\nmain() {\r\n  new A();\r\n  print(true.runtimeType);\r\n}\r\n```\r\n\r\nThe use of runtimeType means that the closure class for `(T x) {}` thinks it should have a field for T, but there is no T in scope in the constructor A()."}}