{"action":"created","issue":{"url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/1383","labels_url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/1383/labels{/name}","comments_url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/1383/comments","events_url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/1383/events","html_url":"https://github.com/ceylon/ceylon-spec/issues/1383","id":95695661,"number":1383,"title":"empty instantiations of self types","user":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceylon/ceylon-spec/labels/basic%20language","name":"basic language","color":"AA1155"},{"url":"https://api.github.com/repos/ceylon/ceylon-spec/labels/feature","name":"feature","color":"02e10c"}],"state":"open","locked":false,"assignee":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ceylon/ceylon-spec/milestones/11","html_url":"https://github.com/ceylon/ceylon-spec/milestones/1.2","labels_url":"https://api.github.com/repos/ceylon/ceylon-spec/milestones/11/labels","id":798020,"number":11,"title":"1.2","description":"Serialization.","creator":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":195,"state":"open","created_at":"2014-09-22T09:55:40Z","updated_at":"2015-07-17T16:45:27Z","due_on":"2014-10-28T23:00:00Z","closed_at":null},"comments":1,"created_at":"2015-07-17T16:45:27Z","updated_at":"2015-07-18T02:51:45Z","closed_at":null,"body":"We could add some reasoning around types like `Comparable<Anything>` which are empty due to the self type constraint. Perhaps just say that `Nothing` covers `Comparable<Anything>`, since I'm not sure if saying `Comparable<Anything>` is exactly `Nothing` would be decidable.\r\n\r\nThese case is distinguishable because:\r\n\r\n- the type parameter is a self type and is not covariant, and\r\n- the type argument does not inherit the type (and is not marked `out`)."},"comment":{"url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/comments/122476723","html_url":"https://github.com/ceylon/ceylon-spec/issues/1383#issuecomment-122476723","issue_url":"https://api.github.com/repos/ceylon/ceylon-spec/issues/1383","id":122476723,"user":{"login":"RossTate","id":1139675,"avatar_url":"https://avatars.githubusercontent.com/u/1139675?v=3","gravatar_id":"","url":"https://api.github.com/users/RossTate","html_url":"https://github.com/RossTate","followers_url":"https://api.github.com/users/RossTate/followers","following_url":"https://api.github.com/users/RossTate/following{/other_user}","gists_url":"https://api.github.com/users/RossTate/gists{/gist_id}","starred_url":"https://api.github.com/users/RossTate/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RossTate/subscriptions","organizations_url":"https://api.github.com/users/RossTate/orgs","repos_url":"https://api.github.com/users/RossTate/repos","events_url":"https://api.github.com/users/RossTate/events{/privacy}","received_events_url":"https://api.github.com/users/RossTate/received_events","type":"User","site_admin":false},"created_at":"2015-07-18T02:51:45Z","updated_at":"2015-07-18T02:51:45Z","body":"Is this practical? If I recall, the analysis you ran a while ago showed that no one uses self types in ways that would be relevant to this optimization."}}