Title: spread operator infer to wrong type with method override and generic · Issue #59281 · microsoft/TypeScript · GitHub
Open Graph Title: spread operator infer to wrong type with method override and generic · Issue #59281 · microsoft/TypeScript
X Title: spread operator infer to wrong type with method override and generic · Issue #59281 · microsoft/TypeScript
Description: 🔎 Search Terms generic spread 🕗 Version & Regression Information This changed on version 5.3.0-dev.20231027 ⏯ Playground Link https://www.typescriptlang.org/play/?ts=5.5.3&ssl=9&ssc=72&pln=10&pc=79#code/C4TwDgpgBAsg9gYwNYDECGDhwE4gOoCWwA...
Open Graph Description: 🔎 Search Terms generic spread 🕗 Version & Regression Information This changed on version 5.3.0-dev.20231027 ⏯ Playground Link https://www.typescriptlang.org/play/?ts=5.5.3&ssl=9&ssc=72&pln=10&pc=79...
X Description: 🔎 Search Terms generic spread 🕗 Version & Regression Information This changed on version 5.3.0-dev.20231027 ⏯ Playground Link https://www.typescriptlang.org/play/?ts=5.5.3&ssl=9&ssc=72&...
Opengraph URL: https://github.com/microsoft/TypeScript/issues/59281
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"spread operator infer to wrong type with method override and generic","articleBody":"### 🔎 Search Terms\r\n\r\ngeneric spread \r\n\r\n### 🕗 Version \u0026 Regression Information\r\n\r\n- This changed on version 5.3.0-dev.20231027\r\n\r\n\r\n### ⏯ Playground Link\r\n\r\nhttps://www.typescriptlang.org/play/?ts=5.5.3\u0026ssl=9\u0026ssc=72\u0026pln=10\u0026pc=79#code/C4TwDgpgBAsg9gYwNYDECGDhwE4gOoCWwAFgBIQA2k2APDFALxQCuAdkq3AO6sB8jUABQBYAFBQoBALZgcwAPLYCAcwKs0FAFw0AKlAgAPYBFYATAM6wBMXoICUjfgAVscKQXMRdvMQ4bO0bGACDRoAJQgEHFMaJAgQOAAzWAAaKDRWEF4fUVBIKBc3Dwh4ZHRMHHwiMkpqOgE2Dm4+ARFxSRk5RRU1DU0oXX0jEwsrJht7RwLXd09vXynC2a8nQODQiKjsGLiE5Jg0jKzssTEo1nNgFmCtKABvMQkpRCRvQWfTZgoIfqXi7zSiQwWFwAH5+qVUMDKoQSOQqBBaDpeHZ+gA3OAEUyPKDPZBvD5fH7TIpzZGA6Fg34zYqQ8ogqpw2qI7yoqAYrFiAC+Age7TxSH6gkm-nuXIcaEsR25AG5TqJBJKQKwEFBEmxMAQ4KxJnyJMwbgA6AWCaSyIKCADkYDQJEtdkO5mVqtNnSC3VU6gofn4gj1EighqDiq4aCIHXNCiUno09jsOPFdjlonF9hlQA\r\n\r\n### 💻 Code\r\n\r\n```ts\r\ntype MockFactoryWithHelper\u003cM = unknown\u003e = (\r\n importOriginal:\u003cT extends M = M\u003e() =\u003e Promise\u003cT\u003e\r\n) =\u003e Partial\u003cRecord\u003ckeyof M, any\u003e\u003e\r\ntype PromiseMockFactoryWithHelper\u003cM = unknown\u003e = (\r\n importOriginal: \u003cT extends M = M\u003e() =\u003e Promise\u003cT\u003e\r\n) =\u003e Promise\u003cPartial\u003cRecord\u003ckeyof M, any\u003e\u003e\u003e\r\n\r\nconst util: {\r\n mock\u003cT\u003e(module: Promise\u003cT\u003e, factory?: MockFactoryWithHelper\u003cT\u003e): void\r\n mock\u003cT\u003e(module: Promise\u003cT\u003e, factory?: PromiseMockFactoryWithHelper\u003cT\u003e): void\r\n} = {\r\n mock: (() =\u003e {}) as any\r\n};\r\n\r\n(async function() {\r\n util.mock(import('path'), async (importOriginal) =\u003e ({\r\n ...(await importOriginal())\r\n }));\r\n})();\r\n```\r\n\r\n\r\n### 🙁 Actual behavior\r\n\r\nTypescirpt throw error like `Spread types may only be created from object types.(2698);` on line spread syntax\r\n\r\n### 🙂 Expected behavior\r\n\r\nTypescirpt should not throw error on inline spread syntax.\r\n\r\n### Additional information about the issue\r\n\r\n_No response_","author":{"url":"https://github.com/syi0808","@type":"Person","name":"syi0808"},"datePublished":"2024-07-15T16:09:30.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":8},"url":"https://github.com/59281/TypeScript/issues/59281"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:aade44d4-3001-3139-d1fe-4abd5c38a053 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D6EE:3A8CC3:1257BB3:1969165:6A61B82E |
| html-safe-nonce | 118e359b88a903c29c31c5fce77c2217235ec5b94e7a7db87b0845bc7fe9adc1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENkVFOjNBOENDMzoxMjU3QkIzOjE5NjkxNjU6NkE2MUI4MkUiLCJ2aXNpdG9yX2lkIjoiNDcxMDg1Nzg0NDc1MjIwMDE0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | d0fe34cd85ed99438bc3d44132b29a3c66e73969fd8ea675acbbca79fd792740 |
| hovercard-subject-tag | issue:2409112794 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/microsoft/TypeScript/59281/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5aa377b985859f39f10cd45a5d8dbc02a6f1d994681bda14ae2842c5973e6d1c/microsoft/TypeScript/issues/59281 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5aa377b985859f39f10cd45a5d8dbc02a6f1d994681bda14ae2842c5973e6d1c/microsoft/TypeScript/issues/59281 |
| og:image:alt | 🔎 Search Terms generic spread 🕗 Version & Regression Information This changed on version 5.3.0-dev.20231027 ⏯ Playground Link https://www.typescriptlang.org/play/?ts=5.5.3&ssl=9&ssc=72&pln=10&pc=79... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | syi0808 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 6f4633bcf01c1ad14b73fd07dd39ac31d61f3d3c2578ee08ec1792b7b351eeb9 |
| turbo-cache-control | no-preview |
| go-import | github.com/microsoft/TypeScript git https://github.com/microsoft/TypeScript.git |
| octolytics-dimension-user_id | 6154722 |
| octolytics-dimension-user_login | microsoft |
| octolytics-dimension-repository_id | 20929025 |
| octolytics-dimension-repository_nwo | microsoft/TypeScript |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 20929025 |
| octolytics-dimension-repository_network_root_nwo | microsoft/TypeScript |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | ac296ae7f21856f1f92adbad22f870b6fbb4b907 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width