{"action":"closed","issue":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/3464","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/3464/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/3464/comments","events_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/3464/events","html_url":"https://github.com/Microsoft/TypeScript/issues/3464","id":86869657,"number":3464,"title":"TypeError: Cannot read property 'failedTypeParameterIndex' of undefined","user":{"login":"panuhorsmalahti","id":2162413,"avatar_url":"https://avatars.githubusercontent.com/u/2162413?v=3","gravatar_id":"","url":"https://api.github.com/users/panuhorsmalahti","html_url":"https://github.com/panuhorsmalahti","followers_url":"https://api.github.com/users/panuhorsmalahti/followers","following_url":"https://api.github.com/users/panuhorsmalahti/following{/other_user}","gists_url":"https://api.github.com/users/panuhorsmalahti/gists{/gist_id}","starred_url":"https://api.github.com/users/panuhorsmalahti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/panuhorsmalahti/subscriptions","organizations_url":"https://api.github.com/users/panuhorsmalahti/orgs","repos_url":"https://api.github.com/users/panuhorsmalahti/repos","events_url":"https://api.github.com/users/panuhorsmalahti/events{/privacy}","received_events_url":"https://api.github.com/users/panuhorsmalahti/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-10T07:17:11Z","updated_at":"2015-06-10T19:17:31Z","closed_at":"2015-06-10T19:17:31Z","body":"I'm getting this exception with TypeScript 1.5.0-beta when I'm creating a class which doesn't satisfy the constraits of the generic type.\r\n\r\n```\r\nC:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14007\r\n                    ts.Debug.assert(resultOfFailedInference.failedTypeParamete\r\n                                                           ^\r\nTypeError: Cannot read property 'failedTypeParameterIndex' of undefined\r\n    at resolveCall (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14007:60)\r\n    at resolveCallExpression (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14088:28)\r\n    at getResolvedSignature (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14170:47)\r\n    at checkCallExpression (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14186:29)\r\n    at checkExpressionWorker (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14875:28)\r\n    at checkExpressionOrQualifiedName (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14826:42)\r\n    at checkExpression (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:14818:20)\r\n    at checkExpressionStatement (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:15785:13)\r\n    at checkSourceElement (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:16946:28)\r\n    at Object.forEach (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:37:30)\r\n    at checkBlock (C:\\Projects\\my_project\\node_modules\\typescript\\bin\\tsc.js:15551:16)\r\n```\r\n\r\nUnfortunately, I'm not able to create a small reproducable test case. It should be similar to this:\r\n```\r\ninterface A {\r\n    foo: any;\r\n    bar: any;\r\n}\r\n\r\ninterface C {\r\n    prop: any;\r\n}\r\n\r\ninterface B extends C {\r\n    foo: any;\r\n}\r\n\r\nmodule Test {\r\n    export class Foo<T extends A> {\r\n    }\r\n}\r\n\r\nclass Bar extends Test.Foo<B> {\r\n}\r\n```\r\n\r\nbut that reports the error correctly.\r\n\r\nIf I comment out lines 14007...14011 in my application's build, the error is reported correctly:\r\n```\r\nC:/Projects/my_project/lib/data_storage.ts(282,45): error TS2344: Type 'FooConfig' does not satisfy the constraint 'BarConfig'.\r\n  Types of property 'foo' are incompatible.\r\n    Type '{ service: { id: string; fooUri: string; barUri: string; }; otherProperty: { barUri: s...' is not assignable to type '{ service: { name: string; type: string; id: string; fooUri: string; barUri: string; ...'.\r\n      Types of property 'service' are incompatible.\r\n        Type '{ id: string; fooUri: string; barUri: string; }' is not assignable to type '{ name: string; type: string; id: string; fooUri: string; barUri: string; }'.\r\n          Property 'name' is missing in type '{ id: string; fooUri: string; barUri: string; }'.\r\n```\r\n"}}