{"action":"created","issue":{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/681","repository_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy","labels_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/681/labels{/name}","comments_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/681/comments","events_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/681/events","html_url":"https://github.com/FakeItEasy/FakeItEasy/issues/681","id":151213838,"number":681,"title":"Proxy generator gets confused by extension method overloads with same name ","user":{"login":"TimLovellSmith","id":2711795,"avatar_url":"https://avatars.githubusercontent.com/u/2711795?v=3","gravatar_id":"","url":"https://api.github.com/users/TimLovellSmith","html_url":"https://github.com/TimLovellSmith","followers_url":"https://api.github.com/users/TimLovellSmith/followers","following_url":"https://api.github.com/users/TimLovellSmith/following{/other_user}","gists_url":"https://api.github.com/users/TimLovellSmith/gists{/gist_id}","starred_url":"https://api.github.com/users/TimLovellSmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TimLovellSmith/subscriptions","organizations_url":"https://api.github.com/users/TimLovellSmith/orgs","repos_url":"https://api.github.com/users/TimLovellSmith/repos","events_url":"https://api.github.com/users/TimLovellSmith/events{/privacy}","received_events_url":"https://api.github.com/users/TimLovellSmith/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/labels/discussion","name":"discussion","color":"cc317c"},{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/labels/P2","name":"P2","color":"732787"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-04-26T19:02:32Z","updated_at":"2016-04-26T23:41:36Z","closed_at":"2016-04-26T23:41:36Z","body":"Code:\r\n\r\n```c#\r\npublic interface IProvisionServiceConnection\r\n    {\r\n        Task EnqueueAsync(string functionName, object msg, string scope);\r\n\r\npublic static class IProvisionServiceConnectionExtensions\r\n    {\r\n        public static Task EnqueueAsync(this IProvisionServiceConnection conn, ProvisioningOperation operation, object msg, string scope)\r\n        {\r\n            return conn.EnqueueAsync(operation.ToString(), msg, scope);\r\n        }\r\n    }\r\n\r\nA.CallTo(() => enqueuer.EnqueueAsync(\"Create\", A<object>._, dep.Id.ToString()))\r\n                .MustHaveHappened();\r\n```\r\n\r\nProblem - assert fails, because it assumes the extension method will be called, even though C# compiler could tell by parameter types that the interface method will be called.\r\n\r\nResult StackTrace:\t\r\n```\r\nat FakeItEasy.Configuration.DefaultInterceptionAsserter.AssertThatMethodCanBeInterceptedOnInstance(MethodInfo method, Object callTarget)\r\n   at FakeItEasy.Configuration.FakeConfigurationManager.CallTo[T](Expression`1 callSpecification)\r\n   at CreatePendingOpTests.<CreatePendingOp_Delivery>d__1.MoveNext() in CreatePendingOpTests.cs:line 66\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\nResult Message:\t\r\nFakeItEasy.Configuration.FakeConfigurationException : \r\n\r\n  The current proxy generator can not intercept the specified method for the following reason:\r\n    - Sealed methods can not be intercepted.\r\n```"},"comment":{"url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/comments/214921538","html_url":"https://github.com/FakeItEasy/FakeItEasy/issues/681#issuecomment-214921538","issue_url":"https://api.github.com/repos/FakeItEasy/FakeItEasy/issues/681","id":214921538,"user":{"login":"TimLovellSmith","id":2711795,"avatar_url":"https://avatars.githubusercontent.com/u/2711795?v=3","gravatar_id":"","url":"https://api.github.com/users/TimLovellSmith","html_url":"https://github.com/TimLovellSmith","followers_url":"https://api.github.com/users/TimLovellSmith/followers","following_url":"https://api.github.com/users/TimLovellSmith/following{/other_user}","gists_url":"https://api.github.com/users/TimLovellSmith/gists{/gist_id}","starred_url":"https://api.github.com/users/TimLovellSmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TimLovellSmith/subscriptions","organizations_url":"https://api.github.com/users/TimLovellSmith/orgs","repos_url":"https://api.github.com/users/TimLovellSmith/repos","events_url":"https://api.github.com/users/TimLovellSmith/events{/privacy}","received_events_url":"https://api.github.com/users/TimLovellSmith/received_events","type":"User","site_admin":false},"created_at":"2016-04-26T23:41:36Z","updated_at":"2016-04-26T23:41:36Z","body":"Deleted those whiplash causing comments it an attempt to fix the information imparted by the thread... yes I don't particularly care if this issue gets fixed."}}