{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/21592","repository_url":"https://api.github.com/repos/Microsoft/TypeScript","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/21592/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/21592/comments","events_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/21592/events","html_url":"https://github.com/Microsoft/TypeScript/issues/21592","id":294060199,"node_id":"MDU6SXNzdWUyOTQwNjAxOTk=","number":21592,"title":"Excessive Stack Depth in 2.7.x (not in 2.6.1)","user":{"login":"kevinbeal","id":855252,"node_id":"MDQ6VXNlcjg1NTI1Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/855252?v=4","gravatar_id":"","url":"https://api.github.com/users/kevinbeal","html_url":"https://github.com/kevinbeal","followers_url":"https://api.github.com/users/kevinbeal/followers","following_url":"https://api.github.com/users/kevinbeal/following{/other_user}","gists_url":"https://api.github.com/users/kevinbeal/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinbeal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinbeal/subscriptions","organizations_url":"https://api.github.com/users/kevinbeal/orgs","repos_url":"https://api.github.com/users/kevinbeal/repos","events_url":"https://api.github.com/users/kevinbeal/events{/privacy}","received_events_url":"https://api.github.com/users/kevinbeal/received_events","type":"User","site_admin":false},"labels":[{"id":113970366,"node_id":"MDU6TGFiZWwxMTM5NzAzNjY=","url":"https://api.github.com/repos/Microsoft/TypeScript/labels/Bug","name":"Bug","color":"e11d21","default":false},{"id":1064051041,"node_id":"MDU6TGFiZWwxMDY0MDUxMDQx","url":"https://api.github.com/repos/Microsoft/TypeScript/labels/Crash","name":"Crash","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":{"login":"sandersn","id":293473,"node_id":"MDQ6VXNlcjI5MzQ3Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/293473?v=4","gravatar_id":"","url":"https://api.github.com/users/sandersn","html_url":"https://github.com/sandersn","followers_url":"https://api.github.com/users/sandersn/followers","following_url":"https://api.github.com/users/sandersn/following{/other_user}","gists_url":"https://api.github.com/users/sandersn/gists{/gist_id}","starred_url":"https://api.github.com/users/sandersn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandersn/subscriptions","organizations_url":"https://api.github.com/users/sandersn/orgs","repos_url":"https://api.github.com/users/sandersn/repos","events_url":"https://api.github.com/users/sandersn/events{/privacy}","received_events_url":"https://api.github.com/users/sandersn/received_events","type":"User","site_admin":false},"assignees":[{"login":"sandersn","id":293473,"node_id":"MDQ6VXNlcjI5MzQ3Mw==","avatar_url":"https://avatars1.githubusercontent.com/u/293473?v=4","gravatar_id":"","url":"https://api.github.com/users/sandersn","html_url":"https://github.com/sandersn","followers_url":"https://api.github.com/users/sandersn/followers","following_url":"https://api.github.com/users/sandersn/following{/other_user}","gists_url":"https://api.github.com/users/sandersn/gists{/gist_id}","starred_url":"https://api.github.com/users/sandersn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandersn/subscriptions","organizations_url":"https://api.github.com/users/sandersn/orgs","repos_url":"https://api.github.com/users/sandersn/repos","events_url":"https://api.github.com/users/sandersn/events{/privacy}","received_events_url":"https://api.github.com/users/sandersn/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Microsoft/TypeScript/milestones/79","html_url":"https://github.com/Microsoft/TypeScript/milestone/79","labels_url":"https://api.github.com/repos/Microsoft/TypeScript/milestones/79/labels","id":3721640,"node_id":"MDk6TWlsZXN0b25lMzcyMTY0MA==","number":79,"title":"TypeScript 3.3","description":"TypeScript 3.3 RC","creator":{"login":"RyanCavanaugh","id":6685088,"node_id":"MDQ6VXNlcjY2ODUwODg=","avatar_url":"https://avatars3.githubusercontent.com/u/6685088?v=4","gravatar_id":"","url":"https://api.github.com/users/RyanCavanaugh","html_url":"https://github.com/RyanCavanaugh","followers_url":"https://api.github.com/users/RyanCavanaugh/followers","following_url":"https://api.github.com/users/RyanCavanaugh/following{/other_user}","gists_url":"https://api.github.com/users/RyanCavanaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/RyanCavanaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RyanCavanaugh/subscriptions","organizations_url":"https://api.github.com/users/RyanCavanaugh/orgs","repos_url":"https://api.github.com/users/RyanCavanaugh/repos","events_url":"https://api.github.com/users/RyanCavanaugh/events{/privacy}","received_events_url":"https://api.github.com/users/RyanCavanaugh/received_events","type":"User","site_admin":false},"open_issues":347,"closed_issues":24,"state":"open","created_at":"2018-10-08T17:13:40Z","updated_at":"2018-12-11T01:33:40Z","due_on":null,"closed_at":null},"comments":13,"created_at":"2018-02-03T00:03:53Z","updated_at":"2018-12-11T12:40:57Z","closed_at":null,"author_association":"NONE","body":"**Search Terms:** \r\n\"excessive depth\"\r\n\"generic partial\"\r\n\r\n**Code**\r\n\r\n```ts\r\nconst fn = <T>(arg: T) => {\r\n    ((arg2: RecursivePartial<T>) => {\r\n        // ...\r\n    })(arg); // <-- here\r\n};\r\n\r\ntype RecursivePartial<T> = {\r\n    [P in keyof T]?: RecursivePartial<T[P]>;\r\n};\r\n```\r\n\r\n**Expected behavior:**\r\nComparing a generic with a partial of that generic working without errors.\r\n\r\n**Actual behavior:**\r\nGetting \"Excessive stack depth comparing types 'T' and 'RecursivePartial<T>'.\" since upgrading to 2.7.x. (Also errors in 2.8.x). Working in 2.6.1.\r\n\r\n**Playground Link:** \r\nhttps://www.typescriptlang.org/play/index.html#src=class%20Greeter%20%7B%0D%0A%20%20%20%20greeting%3A%20RecursivePartial%3Cstring%3E%3B%0D%0A%20%20%20%20constructor(message%3A%20string)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.greeting%20%3D%20message%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20greet()%20%7B%0D%0A%20%20%20%20%20%20%20%20return%20%22Hello%2C%20%22%20%2B%20this.greeting%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Alet%20greeter%20%3D%20new%20Greeter(%22world%22)%3B%0D%0A%0D%0Alet%20button%20%3D%20document.createElement('button')%3B%0D%0Abutton.textContent%20%3D%20%22Say%20Hello%22%3B%0D%0Abutton.onclick%20%3D%20function()%20%7B%0D%0A%20%20%20%20alert(greeter.greet())%3B%0D%0A%7D%0D%0A%0D%0Adocument.body.appendChild(button)%3B%0D%0A%0D%0Aconst%20fn%20%3D%20%3CT%3E(arg%3A%20T)%20%3D%3E%20%7B%0D%0A%20%20%20%20((arg2%3A%20RecursivePartial%3CT%3E)%20%3D%3E%20%7B%0D%0A%20%20%20%20%20%20%20%20%2F%2F%0D%0A%20%20%20%20%7D)(arg)%3B%0D%0A%7D%3B%0D%0A%0D%0Atype%20RecursivePartial%3CT%3E%20%3D%20%7B%0D%0A%20%20%20%20%5BP%20in%20keyof%20T%5D%3F%3A%20RecursivePartial%3CT%5BP%5D%3E%3B%0D%0A%7D%3B\r\n\r\n**Related Issues:**\r\nNone?\r\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/TypeScript/issues/comments/446188764","html_url":"https://github.com/Microsoft/TypeScript/issues/21592#issuecomment-446188764","issue_url":"https://api.github.com/repos/Microsoft/TypeScript/issues/21592","id":446188764,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NjE4ODc2NA==","user":{"login":"ryuuji3","id":9097492,"node_id":"MDQ6VXNlcjkwOTc0OTI=","avatar_url":"https://avatars3.githubusercontent.com/u/9097492?v=4","gravatar_id":"","url":"https://api.github.com/users/ryuuji3","html_url":"https://github.com/ryuuji3","followers_url":"https://api.github.com/users/ryuuji3/followers","following_url":"https://api.github.com/users/ryuuji3/following{/other_user}","gists_url":"https://api.github.com/users/ryuuji3/gists{/gist_id}","starred_url":"https://api.github.com/users/ryuuji3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryuuji3/subscriptions","organizations_url":"https://api.github.com/users/ryuuji3/orgs","repos_url":"https://api.github.com/users/ryuuji3/repos","events_url":"https://api.github.com/users/ryuuji3/events{/privacy}","received_events_url":"https://api.github.com/users/ryuuji3/received_events","type":"User","site_admin":false},"created_at":"2018-12-11T12:40:57Z","updated_at":"2018-12-11T12:40:57Z","author_association":"NONE","body":"I had to disable type checking altogether by casting T to any."}}
{"actor":{"display_login":"ryuuji3"}}