{"action":"opened","issue":{"url":"https://api.github.com/repos/louthy/language-ext/issues/108","repository_url":"https://api.github.com/repos/louthy/language-ext","labels_url":"https://api.github.com/repos/louthy/language-ext/issues/108/labels{/name}","comments_url":"https://api.github.com/repos/louthy/language-ext/issues/108/comments","events_url":"https://api.github.com/repos/louthy/language-ext/issues/108/events","html_url":"https://github.com/louthy/language-ext/issues/108","id":165926124,"number":108,"title":"Process proxies ignore interface inheritance","user":{"login":"OlduwanSteve","id":809808,"avatar_url":"https://avatars.githubusercontent.com/u/809808?v=3","gravatar_id":"","url":"https://api.github.com/users/OlduwanSteve","html_url":"https://github.com/OlduwanSteve","followers_url":"https://api.github.com/users/OlduwanSteve/followers","following_url":"https://api.github.com/users/OlduwanSteve/following{/other_user}","gists_url":"https://api.github.com/users/OlduwanSteve/gists{/gist_id}","starred_url":"https://api.github.com/users/OlduwanSteve/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OlduwanSteve/subscriptions","organizations_url":"https://api.github.com/users/OlduwanSteve/orgs","repos_url":"https://api.github.com/users/OlduwanSteve/repos","events_url":"https://api.github.com/users/OlduwanSteve/events{/privacy}","received_events_url":"https://api.github.com/users/OlduwanSteve/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-16T11:52:13Z","updated_at":"2016-07-16T11:52:13Z","closed_at":null,"body":"It appears that the code which generates the process proxy only implements the direct interface and not its bases. If you use inheritance on your interfaces then the call to Process.proxy throws an exception complaining about missing implementations. e.g\r\n\r\n```\r\npublic interface IBase\r\n{\r\n   void DoThing();\r\n}\r\n\r\npublic interface IDerived : IBase\r\n{\r\n  void DoAnotherThing();\r\n}\r\n\r\nProcess.proxy<IDerived>(); // This will fail\r\n```\r\n"}}
{"actor":{"display_login":"OlduwanSteve"}}