{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/4616","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/4616/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/4616/comments","events_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/4616/events","html_url":"https://github.com/Microsoft/TypeScript/issues/4616","id":104606706,"number":4616,"title":"Invalid property access in quick info relating to type arguments","user":{"login":"DanielRosenwasser","id":972891,"avatar_url":"https://avatars.githubusercontent.com/u/972891?v=3","gravatar_id":"","url":"https://api.github.com/users/DanielRosenwasser","html_url":"https://github.com/DanielRosenwasser","followers_url":"https://api.github.com/users/DanielRosenwasser/followers","following_url":"https://api.github.com/users/DanielRosenwasser/following{/other_user}","gists_url":"https://api.github.com/users/DanielRosenwasser/gists{/gist_id}","starred_url":"https://api.github.com/users/DanielRosenwasser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanielRosenwasser/subscriptions","organizations_url":"https://api.github.com/users/DanielRosenwasser/orgs","repos_url":"https://api.github.com/users/DanielRosenwasser/repos","events_url":"https://api.github.com/users/DanielRosenwasser/events{/privacy}","received_events_url":"https://api.github.com/users/DanielRosenwasser/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Microsoft/TypeScript/labels/Bug","name":"Bug","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-03T02:04:34Z","updated_at":"2015-09-05T03:11:42Z","closed_at":null,"body":"```TypeScript\r\ntype MixinCtor<A> = new () => A & { constructor: MixinCtor</**/A> };\r\n```\r\n\r\nHover over the `A` at `/**/`.\r\n\r\nExpected: `A in MixinCtor<A>`\r\nActual: The language service tries to get `length` off of `undefined`, crashes.\r\n\r\n```\r\nDescription:\r\n\r\ngetQuickInfoAtPosition('C:\\Users\\drosen\\AppData\\Local\\Temp\\~vsBEB5.ts', 61)\r\n\r\nMessage:\r\n\r\nStackTrace:\r\n\r\nTypeError: Unable to get property 'length' of undefined or null reference\r\n   at getSignatureFromDeclaration (:16096:33)\r\n   at getSymbolDisplayPartsDocumentationAndSymbolKind (:44944:25)\r\n   at getQuickInfoAtPosition (:45136:13)\r\n   at Anonymous function (:48843:17)\r\n   at simpleForwardCall (:48683:9)\r\n   at forwardJSONCall (:48699:13)\r\n   at forwardJSONCall (:48745:13)\r\n   at getQuickInfoAtPosition (:48842:13)\r\n```"},"comment":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/comments/137896988","html_url":"https://github.com/Microsoft/TypeScript/issues/4616#issuecomment-137896988","issue_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/4616","id":137896988,"user":{"login":"weswigham","id":2932786,"avatar_url":"https://avatars.githubusercontent.com/u/2932786?v=3","gravatar_id":"","url":"https://api.github.com/users/weswigham","html_url":"https://github.com/weswigham","followers_url":"https://api.github.com/users/weswigham/followers","following_url":"https://api.github.com/users/weswigham/following{/other_user}","gists_url":"https://api.github.com/users/weswigham/gists{/gist_id}","starred_url":"https://api.github.com/users/weswigham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weswigham/subscriptions","organizations_url":"https://api.github.com/users/weswigham/orgs","repos_url":"https://api.github.com/users/weswigham/repos","events_url":"https://api.github.com/users/weswigham/events{/privacy}","received_events_url":"https://api.github.com/users/weswigham/received_events","type":"User","site_admin":false},"created_at":"2015-09-05T03:11:42Z","updated_at":"2015-09-05T03:11:42Z","body":"I also advise checking against the quick infos for this, in additon to those in the test above:\r\n```ts\r\ntype Nesting<T> = {method<U>(): new <W>() => T & U & W};\r\n```\r\nOn 4a85546 this errors on `T` (as above), `U` is correct, and claims `W` is on an anonymous function rather than a ctor (missing the `new` keyword). (Which is possibly a formatting bug for that kind of ctor type signature)"}}