-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Defer keyof (T & U)
when constituents are generic
#56652
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # src/compiler/checker.ts
@typescript-bot test top100 |
Heya @ahejlsberg, I've started to run the diff-based user code test suite on this PR at fffbc04. You can monitor the build here. Update: The results are in! |
Heya @ahejlsberg, I've started to run the parallelized Definitely Typed test suite on this PR at fffbc04. You can monitor the build here. Update: The results are in! |
Heya @ahejlsberg, I've started to run the diff-based top-repos suite on this PR at fffbc04. You can monitor the build here. Update: The results are in! |
Heya @ahejlsberg, I've started to run the tsc-only perf test suite on this PR at fffbc04. You can monitor the build here. Update: The results are in! |
@ahejlsberg Here they are:
CompilerComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
@ahejlsberg Here are the results of running the user test suite comparing There were infrastructure failures potentially unrelated to your change:
Otherwise... Something interesting changed - please have a look. Details
|
Hey @ahejlsberg, the results of running the DT tests are ready. Branch only errors:Package: mongoose-id-validator
Package: mongoose-unique-validator
Package: mongoose-geojson-schema
Package: mongoose-simple-random
Package: mongoose-sequence
Package: koa2-ratelimit
Package: mongoose-deep-populate
Package: multer-gridfs-storage/v3
Package: mongoose-autopopulate
Package: multer-gridfs-storage
Package: mongoose-auto-increment
Package: mongoose-paginate
Package: forest-express-mongoose
Package: mongoose-mock
Package: mongoose-lean-virtuals
Package: passport-local-mongoose
|
@ahejlsberg Here are the results of running the top-repos suite comparing Something interesting changed - please have a look. Details
|
@typescript-bot pack this |
Hey @gabritto, I've packed this into an installable tgz. You can install it for testing by referencing it in your
and then running There is also a playground for this build and an npm module you can use via |
# Conflicts: # tests/baselines/reference/controlFlowGenericTypes.types # tests/baselines/reference/indexedAccessRelation.types # tests/baselines/reference/keyRemappingKeyofResult.types # tests/baselines/reference/keyofAndIndexedAccess.types # tests/baselines/reference/keyofAndIndexedAccessErrors.types # tests/baselines/reference/keyofIntersection.types # tests/baselines/reference/mappedTypeConstraints.types # tests/baselines/reference/mappedTypes4.types
With this PR we defer normalization of
keyof (T & U)
where one or both are generic types. Normalization intokeyof T | keyof U
now occurs ingetSimplifiedType
(where we similarly normalize indexed access and conditional types).Fixes #51331.