{"action":"closed","issue":{"url":"https://api.github.com/repos/facebook/flow/issues/1493","repository_url":"https://api.github.com/repos/facebook/flow","labels_url":"https://api.github.com/repos/facebook/flow/issues/1493/labels{/name}","comments_url":"https://api.github.com/repos/facebook/flow/issues/1493/comments","events_url":"https://api.github.com/repos/facebook/flow/issues/1493/events","html_url":"https://github.com/facebook/flow/issues/1493","id":138723769,"number":1493,"title":"Incompatible instantiation error in Set extends Map pattern","user":{"login":"samwgoldman","id":254842,"avatar_url":"https://avatars.githubusercontent.com/u/254842?v=3","gravatar_id":"","url":"https://api.github.com/users/samwgoldman","html_url":"https://github.com/samwgoldman","followers_url":"https://api.github.com/users/samwgoldman/followers","following_url":"https://api.github.com/users/samwgoldman/following{/other_user}","gists_url":"https://api.github.com/users/samwgoldman/gists{/gist_id}","starred_url":"https://api.github.com/users/samwgoldman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samwgoldman/subscriptions","organizations_url":"https://api.github.com/users/samwgoldman/orgs","repos_url":"https://api.github.com/users/samwgoldman/repos","events_url":"https://api.github.com/users/samwgoldman/events{/privacy}","received_events_url":"https://api.github.com/users/samwgoldman/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-05T21:21:40Z","updated_at":"2016-05-20T01:04:27Z","closed_at":"2016-05-20T01:04:27Z","body":"This shows up in Immutable.js.\r\n\r\n```\r\n/* @flow */\r\n\r\ndeclare class Map<K,V> {\r\n  map<M>(f: (value: V) => M): Map<K,M>;\r\n}\r\n\r\ndeclare class Set<T> extends Map<T,T> {\r\n  map<M>(f: (value: T) => M): Set<M>;\r\n}\r\n```\r\n\r\n```\r\ntest.js:4\r\n  4:   map<M>(f: (value: V) => M): Map<K,M>;\r\n           ^ M. This type is incompatible with\r\n  7: declare class Set<T> extends Map<T,T> {\r\n     ^ some incompatible instantiation of `T`\r\n\r\ntest.js:7\r\n  7: declare class Set<T> extends Map<T,T> {\r\n                       ^ T. This type is incompatible with\r\n  8:   map<M>(f: (value: T) => M): Set<M>;\r\n       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ some incompatible instantiation of `M`\r\n```"}}
{"actor":{"display_login":"samwgoldman"}}