Repository navigation
[NewErrors] 4.3.0-dev.20210228 vs 4.2.2 #43004
Copy link
Copy link
Closed
Labels
InfrastructureIssue relates to TypeScript team infrastructureIssue relates to TypeScript team infrastructureRescheduledThis issue was previously scheduled to an earlier milestoneThis issue was previously scheduled to an earlier milestone
Milestone
Description
The following errors were reported by 4.3.0-dev.20210228, but not by 4.2.2
cdr/code-server
9 of 47 projects failed to build with the old tsc
lib/vscode/extensions/html-language-features/server/tsconfig.json
error TS2367: This condition will always return 'true' since the types 'Promise<import("/mnt/ts_downloads/code-server/lib/vscode/extensions/node_modules/typescript/lib/typescript").LanguageService>' and 'false' have no overlap.
lib/vscode/extensions/typescript-language-features/tsconfig.json
error TS2367: This condition will always return 'true' since the types 'Promise<import("/mnt/ts_downloads/code-server/lib/vscode/extensions/typescript-language-features/src/typescriptService").ServerResponse.Response<protocol.Response>>' and 'false' have no overlap.
ReactiveX/rxjs
7 of 11 projects failed to build with the old tsc
src/tsconfig.cjs.spec.json
error TS2769: No overload matches this call.
src/tsconfig.esm5.rollup.json
error TS2769: No overload matches this call.
typeorm/typeorm
tsconfig.json
error TS2367: This condition will always return 'true' since the types 'Promise<any>' and 'false' have no overlap.
reduxjs/redux-devtools
17 of 51 projects failed to build with the old tsc
packages/redux-devtools/tsconfig.json
error TS2322: Type 'MonitorProps' is not assignable to type 'IntrinsicAttributes & Omit<any, "monitorState" | "nextActionId" | "actionsById" | "stagedActionIds" | "skippedActionIds" | "committedState" | "currentStateIndex" | "computedStates" | "isLocked" | "isPaused" | "dispatch">'.error TS2322: Type 'MonitorProps & { store: LiftedStore<S, A, MonitorState>; }' is not assignable to type 'IntrinsicAttributes & Omit<any, "monitorState" | "nextActionId" | "actionsById" | "stagedActionIds" | "skippedActionIds" | "committedState" | "currentStateIndex" | "computedStates" | "isLocked" | "isPaused" | "dispatch">'.
Reactions are currently unavailable
Metadata
Metadata
Labels
InfrastructureIssue relates to TypeScript team infrastructureIssue relates to TypeScript team infrastructureRescheduledThis issue was previously scheduled to an earlier milestoneThis issue was previously scheduled to an earlier milestone
Activity
DanielRosenwasser commentedon Mar 1, 2021
I think the Redux changes might have been caused by #42819. I think the hint for me is the
Omit<any, ...>. (Wesley Wigham (@weswigham))The new "sufficiently overlaps" error is very confusing, but is expected fallout from #25330. I really wish we had discussed this at a design meeting since it's a potentially disruptive breaking change. In some of the examples above, we're seeing undesirable behavior due to
strictPropertyInitializationbeing off. I guess testing athis.funcand not calling it is always suspicious regardless ofstrictPropertyInitialization, so maybe that's why we never hit a similar issue with uncalled function checks. (Eli Barzilay (@elibarzilay), Ryan Cavanaugh (@RyanCavanaugh))weswigham commentedon Mar 2, 2021
Daniel Rosenwasser (@DanielRosenwasser) I've tracked down the change that broke
redux-devtools, and it's not that one; it's df5ffc0 .Omit<any, Whatever>is just an alias for{[index:string]: any; [index:number]: any}; the comparison in the error apparently only worked by virtue of thenumberindex signature assignability rule that got removed.MonitorPropsdoesn't have an index signature, so it fails now.RyanCavanaugh commentedon Mar 3, 2021
Daniel Rosenwasser (@DanielRosenwasser) Wes and I spoke and recommend that we keep the assignability-target rule in place when the target has both string and numeric index signatures
DanielRosenwasser commentedon Mar 3, 2021
Thanks for investigating! Let me look into it quickly.