{"action":"created","issue":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/2072","repository_url":"https://api.github.com/repos/ceylon/ceylon","labels_url":"https://api.github.com/repos/ceylon/ceylon/issues/2072/labels{/name}","comments_url":"https://api.github.com/repos/ceylon/ceylon/issues/2072/comments","events_url":"https://api.github.com/repos/ceylon/ceylon/issues/2072/events","html_url":"https://github.com/ceylon/ceylon/issues/2072","id":116894579,"number":2072,"title":"A generic method cannot define an instance of its containing interface","user":{"login":"CeylonMigrationBot","id":6583436,"avatar_url":"https://avatars.githubusercontent.com/u/6583436?v=3","gravatar_id":"","url":"https://api.github.com/users/CeylonMigrationBot","html_url":"https://github.com/CeylonMigrationBot","followers_url":"https://api.github.com/users/CeylonMigrationBot/followers","following_url":"https://api.github.com/users/CeylonMigrationBot/following{/other_user}","gists_url":"https://api.github.com/users/CeylonMigrationBot/gists{/gist_id}","starred_url":"https://api.github.com/users/CeylonMigrationBot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CeylonMigrationBot/subscriptions","organizations_url":"https://api.github.com/users/CeylonMigrationBot/orgs","repos_url":"https://api.github.com/users/CeylonMigrationBot/repos","events_url":"https://api.github.com/users/CeylonMigrationBot/events{/privacy}","received_events_url":"https://api.github.com/users/CeylonMigrationBot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceylon/ceylon/labels/m-compiler-java","name":"m-compiler-java","color":"00aa00"},{"url":"https://api.github.com/repos/ceylon/ceylon/labels/s-in%20progress","name":"s-in progress","color":"bdbdbd"},{"url":"https://api.github.com/repos/ceylon/ceylon/labels/t-bug","name":"t-bug","color":"e10c02"}],"state":"open","locked":false,"assignee":{"login":"FroMage","id":179265,"avatar_url":"https://avatars.githubusercontent.com/u/179265?v=3","gravatar_id":"","url":"https://api.github.com/users/FroMage","html_url":"https://github.com/FroMage","followers_url":"https://api.github.com/users/FroMage/followers","following_url":"https://api.github.com/users/FroMage/following{/other_user}","gists_url":"https://api.github.com/users/FroMage/gists{/gist_id}","starred_url":"https://api.github.com/users/FroMage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FroMage/subscriptions","organizations_url":"https://api.github.com/users/FroMage/orgs","repos_url":"https://api.github.com/users/FroMage/repos","events_url":"https://api.github.com/users/FroMage/events{/privacy}","received_events_url":"https://api.github.com/users/FroMage/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/ceylon/ceylon/milestones/5","html_url":"https://github.com/ceylon/ceylon/milestones/1.3","labels_url":"https://api.github.com/repos/ceylon/ceylon/milestones/5/labels","id":1411356,"number":5,"title":"1.3","description":null,"creator":{"login":"CeylonMigrationBot","id":6583436,"avatar_url":"https://avatars.githubusercontent.com/u/6583436?v=3","gravatar_id":"","url":"https://api.github.com/users/CeylonMigrationBot","html_url":"https://github.com/CeylonMigrationBot","followers_url":"https://api.github.com/users/CeylonMigrationBot/followers","following_url":"https://api.github.com/users/CeylonMigrationBot/following{/other_user}","gists_url":"https://api.github.com/users/CeylonMigrationBot/gists{/gist_id}","starred_url":"https://api.github.com/users/CeylonMigrationBot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CeylonMigrationBot/subscriptions","organizations_url":"https://api.github.com/users/CeylonMigrationBot/orgs","repos_url":"https://api.github.com/users/CeylonMigrationBot/repos","events_url":"https://api.github.com/users/CeylonMigrationBot/events{/privacy}","received_events_url":"https://api.github.com/users/CeylonMigrationBot/received_events","type":"User","site_admin":false},"open_issues":452,"closed_issues":37,"state":"open","created_at":"2015-11-14T01:13:20Z","updated_at":"2016-06-03T16:54:21Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2015-02-24T19:01:16Z","updated_at":"2016-06-09T16:47:24Z","closed_at":null,"body":"[@jvasileff] The problem occurs when a method attempts to define an implementation of its interface, and the method has a parameter that involves a type parameter of the interface.\r\n\r\nThis:\r\n\r\n```ceylon\r\ninterface Foo<T> {\r\n    shared Foo<U> map<U>(T f)\r\n        =>  object satisfies Foo<U> {};\r\n}\r\n```\r\n\r\nfails with:\r\n\r\n```\r\nanonymous_0_ is not abstract and does not override abstract method <U>map(com.redhat.ceylon.compiler.java.runtime.model.TypeDescriptor,U) in Foo - Ceylon Backend Error\r\n```\r\n\r\nThis *does* work:\r\n\r\n```ceylon\r\ninterface Foo<T> given T satisfies Object {\r\n    shared Foo<U> map<U>(Callable<U, [T]> f)\r\n            given U satisfies Object \r\n        =>  object satisfies Foo<U> {};\r\n}\r\n```\r\n\r\nwhich is fairly common, but this slight variation doesn't:\r\n\r\n```ceylon\r\ninterface Callable2<out Return, in Arguments> \r\n        given Arguments satisfies Anything[] {}\r\n\r\ninterface Foo<T> given T satisfies Object {\r\n    shared Foo<U> map<U>(Callable2<U, [T]> f)\r\n            given U satisfies Object \r\n        =>  object satisfies Foo<U> {};\r\n}\r\n```\r\n\n[Migrated from ceylon/ceylon-compiler#2072]"},"comment":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/comments/224955893","html_url":"https://github.com/ceylon/ceylon/issues/2072#issuecomment-224955893","issue_url":"https://api.github.com/repos/ceylon/ceylon/issues/2072","id":224955893,"user":{"login":"JohnWillow","id":19836825,"avatar_url":"https://avatars.githubusercontent.com/u/19836825?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnWillow","html_url":"https://github.com/JohnWillow","followers_url":"https://api.github.com/users/JohnWillow/followers","following_url":"https://api.github.com/users/JohnWillow/following{/other_user}","gists_url":"https://api.github.com/users/JohnWillow/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnWillow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnWillow/subscriptions","organizations_url":"https://api.github.com/users/JohnWillow/orgs","repos_url":"https://api.github.com/users/JohnWillow/repos","events_url":"https://api.github.com/users/JohnWillow/events{/privacy}","received_events_url":"https://api.github.com/users/JohnWillow/received_events","type":"User","site_admin":false},"created_at":"2016-06-09T16:47:24Z","updated_at":"2016-06-09T16:47:24Z","body":"@jvasileff I made it work. Thanks!"}}
{"actor":{"display_login":"JohnWillow"}}