Skip to content

Fix narrowing by typeof applied to discriminant property #51720

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

Merged
merged 3 commits into from
Dec 5, 2022
Merged

Conversation

ahejlsberg
Copy link
Member

Fixes #51700.

@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels Dec 2, 2022
Copy link
Contributor

@Andarist Andarist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth - LGTM. I was looking into this too and came up locally with a similar fix.

@DanielRosenwasser
Copy link
Member

@typescript-bot test this
@typescript-bot test top100
@typescript-bot user test this
@typescript-bot user test tsserver
@typescript-bot test tsserver top100
@typescript-bot run dt
@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the diff-based user code test suite (tsserver) on this PR at acfc111. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the extended test suite on this PR at acfc111. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the diff-based user code test suite on this PR at acfc111. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the diff-based top-repos suite (tsserver) on this PR at acfc111. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the abridged perf test suite on this PR at acfc111. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the diff-based top-repos suite on this PR at acfc111. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Dec 2, 2022

Heya @DanielRosenwasser, I've started to run the parallelized Definitely Typed test suite on this PR at acfc111. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

@DanielRosenwasser Here are the results of running the user test suite comparing main and refs/pull/51720/merge:

Everything looks good!

1 similar comment
@typescript-bot
Copy link
Collaborator

@DanielRosenwasser Here are the results of running the user test suite comparing main and refs/pull/51720/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@DanielRosenwasser
The results of the perf run you requested are in!

Here they are:

Comparison Report - main..51720

Metric main 51720 Delta Best Worst
Angular - node (v16.17.1, x64)
Memory used 340,646k (± 0.01%) 340,651k (± 0.02%) +5k (+ 0.00%) 340,420k 340,709k
Parse Time 1.90s (± 0.76%) 1.90s (± 0.42%) +0.00s (+ 0.21%) 1.88s 1.92s
Bind Time 0.65s (± 0.85%) 0.65s (± 0.51%) -0.00s (- 0.31%) 0.64s 0.66s
Check Time 5.16s (± 0.57%) 5.19s (± 0.48%) +0.03s (+ 0.68%) 5.14s 5.26s
Emit Time 5.13s (± 0.80%) 5.15s (± 0.92%) +0.03s (+ 0.51%) 5.01s 5.22s
Total Time 12.83s (± 0.50%) 12.90s (± 0.41%) +0.06s (+ 0.50%) 12.76s 12.97s
Compiler-Unions - node (v16.17.1, x64)
Memory used 187,692k (± 0.60%) 187,660k (± 0.59%) -33k (- 0.02%) 186,619k 190,061k
Parse Time 0.79s (± 0.46%) 0.79s (± 0.70%) +0.01s (+ 0.76%) 0.78s 0.80s
Bind Time 0.42s (± 1.33%) 0.42s (± 0.70%) +0.00s (+ 0.96%) 0.42s 0.43s
Check Time 6.04s (± 0.64%) 6.08s (± 0.66%) +0.04s (+ 0.70%) 6.02s 6.16s
Emit Time 1.96s (± 1.21%) 1.95s (± 0.78%) -0.01s (- 0.61%) 1.91s 1.98s
Total Time 9.21s (± 0.59%) 9.24s (± 0.44%) +0.04s (+ 0.38%) 9.15s 9.32s
Monaco - node (v16.17.1, x64)
Memory used 319,843k (± 0.01%) 319,825k (± 0.01%) -18k (- 0.01%) 319,759k 319,941k
Parse Time 1.42s (± 0.57%) 1.43s (± 0.57%) +0.01s (+ 0.92%) 1.42s 1.45s
Bind Time 0.59s (± 0.00%) 0.59s (± 1.00%) +0.00s (+ 0.68%) 0.58s 0.61s
Check Time 4.88s (± 0.39%) 4.89s (± 0.43%) +0.01s (+ 0.29%) 4.83s 4.93s
Emit Time 2.72s (± 0.80%) 2.74s (± 0.92%) +0.02s (+ 0.77%) 2.68s 2.79s
Total Time 9.61s (± 0.26%) 9.66s (± 0.43%) +0.05s (+ 0.49%) 9.57s 9.75s
TFS - node (v16.17.1, x64)
Memory used 282,273k (± 0.01%) 282,284k (± 0.01%) +11k (+ 0.00%) 282,133k 282,321k
Parse Time 1.17s (± 1.03%) 1.17s (± 0.90%) +0.01s (+ 0.51%) 1.15s 1.19s
Bind Time 0.65s (± 4.39%) 0.65s (± 3.41%) +0.01s (+ 0.93%) 0.60s 0.69s
Check Time 4.76s (± 0.47%) 4.75s (± 0.40%) -0.00s (- 0.11%) 4.71s 4.79s
Emit Time 2.80s (± 2.46%) 2.79s (± 1.91%) -0.01s (- 0.50%) 2.69s 2.89s
Total Time 9.37s (± 0.68%) 9.37s (± 0.60%) -0.00s (- 0.05%) 9.26s 9.51s
material-ui - node (v16.17.1, x64)
Memory used 435,310k (± 0.01%) 435,301k (± 0.01%) -10k (- 0.00%) 435,254k 435,381k
Parse Time 1.64s (± 0.55%) 1.65s (± 0.69%) +0.01s (+ 0.67%) 1.62s 1.67s
Bind Time 0.50s (± 0.94%) 0.50s (± 1.11%) +0.00s (+ 0.40%) 0.49s 0.51s
Check Time 11.89s (± 0.63%) 11.88s (± 1.16%) -0.00s (- 0.03%) 11.67s 12.32s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.03s (± 0.53%) 14.04s (± 1.01%) +0.01s (+ 0.05%) 13.84s 14.49s
xstate - node (v16.17.1, x64)
Memory used 516,031k (± 0.01%) 516,077k (± 0.01%) +46k (+ 0.01%) 515,960k 516,216k
Parse Time 2.31s (± 0.36%) 2.31s (± 0.32%) +0.00s (+ 0.09%) 2.30s 2.33s
Bind Time 0.84s (± 1.62%) 0.83s (± 0.91%) -0.00s (- 0.48%) 0.82s 0.86s
Check Time 1.36s (± 0.38%) 1.36s (± 0.75%) 0.00s ( 0.00%) 1.33s 1.38s
Emit Time 0.06s (± 0.00%) 0.06s (± 0.00%) 0.00s ( 0.00%) 0.06s 0.06s
Total Time 4.58s (± 0.36%) 4.58s (± 0.22%) 0.00s ( 0.00%) 4.55s 4.60s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-131-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current 51720 10
Baseline main 10

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

Heya @DanielRosenwasser, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@typescript-bot
Copy link
Collaborator

@DanielRosenwasser Here are the results of running the top-repos suite comparing main and refs/pull/51720/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@DanielRosenwasser Here are the results of running the top-repos suite comparing main and refs/pull/51720/merge:

Something interesting changed - please have a look.

Details

ant-design/ant-design

⚠️ Note that built also had errors ⚠️
Req #235 - references
    at hasCovariantVoidArgument (/typescript-main/built/local/tsserver.js:59124:93)
    at relateVariances (/typescript-main/built/local/tsserver.js:58374:66)
    at structuredTypeRelatedToWorker (/typescript-main/built/local/tsserver.js:58043:34)
    at structuredTypeRelatedTo (/typescript-main/built/local/tsserver.js:57964:23)
    at recursiveTypeRelatedTo (/typescript-main/built/local/tsserver.js:57934:21)
    at isRelatedTo (/typescript-main/built/local/tsserver.js:57493:18)
    at compareSignaturesIdentical (/typescript-main/built/local/tsserver.js:59336:25)
    at signaturesIdenticalTo (/typescript-main/built/local/tsserver.js:58868:27)
    at signaturesRelatedTo (/typescript-main/built/local/tsserver.js:58753:18)
    at structuredTypeRelatedToWorker (/typescript-main/built/local/tsserver.js:58335:26)
    at structuredTypeRelatedTo (/typescript-main/built/local/tsserver.js:57964:23)
    at recursiveTypeRelatedTo (/typescript-main/built/local/tsserver.js:57934:21)
    at isRelatedTo (/typescript-main/built/local/tsserver.js:57493:18)
    at checkTypeRelatedTo (/typescript-main/built/local/tsserver.js:57227:22)
    at isTypeRelatedTo (/typescript-main/built/local/tsserver.js:57182:16)
    at isTypeIdenticalTo (/typescript-main/built/local/tsserver.js:56511:14)
    at isTypeOrBaseIdenticalTo (/typescript-main/built/local/tsserver.js:60727:74)
    at inferFromMatchingTypes (/typescript-main/built/local/tsserver.js:60397:17)
    at inferFromTypes (/typescript-main/built/local/tsserver.js:60229:46)
    at inferFromProperties (/typescript-main/built/local/tsserver.js:60674:13)
    at inferFromObjectTypes (/typescript-main/built/local/tsserver.js:60663:11)
    at invokeOnce (/typescript-main/built/local/tsserver.js:60382:11)
    at inferFromTypes (/typescript-main/built/local/tsserver.js:60340:13)
    at inferToMultipleTypes (/typescript-main/built/local/tsserver.js:60494:15)
    at inferFromTypes (/typescript-main/built/local/tsserver.js:60321:11)
    at inferTypes (/typescript-main/built/local/tsserver.js:60204:7)
    at inferJsxTypeArguments (/typescript-main/built/local/tsserver.js:65900:7)
    at inferTypeArguments (/typescript-main/built/local/tsserver.js:65912:16)
    at chooseOverload (/typescript-main/built/local/tsserver.js:66576:35)
    at resolveCall (/typescript-main/built/local/tsserver.js:66440:18)
    at resolveJsxOpeningLikeElement (/typescript-main/built/local/tsserver.js:67111:14)
    at resolveSignature (/typescript-main/built/local/tsserver.js:67128:18)
    at getResolvedSignature (/typescript-main/built/local/tsserver.js:67139:22)
    at getContextualTypeForArgumentAtIndex (/typescript-main/built/local/tsserver.js:63457:114)
    at getContextualJsxElementAttributesType (/typescript-main/built/local/tsserver.js:63882:14)
    at getContextualType2 (/typescript-main/built/local/tsserver.js:63867:18)
    at Object.getContextualType (/typescript-main/built/local/tsserver.js:43233:16)
    at forEachRelatedSymbol (/typescript-main/built/local/tsserver.js:139132:40)
    at getRelatedSymbol (/typescript-main/built/local/tsserver.js:139216:14)
    at getReferencesAtLocation (/typescript-main/built/local/tsserver.js:138712:29)
    at getReferencesInContainer (/typescript-main/built/local/tsserver.js:138683:9)
    at getReferencesInSourceFile (/typescript-main/built/local/tsserver.js:138676:14)
    at searchForName (/typescript-main/built/local/tsserver.js:138490:9)
    at getReferencesInContainerOrFiles (/typescript-main/built/local/tsserver.js:138316:11)
    at getReferencedSymbolsForSymbol (/typescript-main/built/local/tsserver.js:138305:9)
    at Object.getReferencedSymbolsForNode (/typescript-main/built/local/tsserver.js:138101:26)
    at Object.findReferencedSymbols (/typescript-main/built/local/tsserver.js:137707:36)
    at Object.findReferences (/typescript-main/built/local/tsserver.js:121949:43)
    at /typescript-main/built/local/tsserver.js:157949:45
    at searchPosition (/typescript-main/built/local/tsserver.js:158092:30)
    at getPerProjectReferences (/typescript-main/built/local/tsserver.js:158067:34)
    at getReferencesWorker (/typescript-main/built/local/tsserver.js:157942:31)
    at IOSession.getReferences (/typescript-main/built/local/tsserver.js:159491:26)
    at references (/typescript-main/built/local/tsserver.js:158320:45)
    at /typescript-main/built/local/tsserver.js:160420:71
    at IOSession.executeWithRequestId (/typescript-main/built/local/tsserver.js:160412:16)
    at IOSession.executeCommand (/typescript-main/built/local/tsserver.js:160420:31)
    at IOSession.onMessage (/typescript-main/built/local/tsserver.js:160448:53)
    at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:161983:16)
Req #235 - references
    at hasCovariantVoidArgument (/typescript-51720/built/local/tsserver.js:59124:93)
    at relateVariances (/typescript-51720/built/local/tsserver.js:58374:66)
    at structuredTypeRelatedToWorker (/typescript-51720/built/local/tsserver.js:58043:34)
    at structuredTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57964:23)
    at recursiveTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57934:21)
    at isRelatedTo (/typescript-51720/built/local/tsserver.js:57493:18)
    at compareSignaturesIdentical (/typescript-51720/built/local/tsserver.js:59336:25)
    at signaturesIdenticalTo (/typescript-51720/built/local/tsserver.js:58868:27)
    at signaturesRelatedTo (/typescript-51720/built/local/tsserver.js:58753:18)
    at structuredTypeRelatedToWorker (/typescript-51720/built/local/tsserver.js:58335:26)
    at structuredTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57964:23)
    at recursiveTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57934:21)
    at isRelatedTo (/typescript-51720/built/local/tsserver.js:57493:18)
    at checkTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57227:22)
    at isTypeRelatedTo (/typescript-51720/built/local/tsserver.js:57182:16)
    at isTypeIdenticalTo (/typescript-51720/built/local/tsserver.js:56511:14)
    at isTypeOrBaseIdenticalTo (/typescript-51720/built/local/tsserver.js:60727:74)
    at inferFromMatchingTypes (/typescript-51720/built/local/tsserver.js:60397:17)
    at inferFromTypes (/typescript-51720/built/local/tsserver.js:60229:46)
    at inferFromProperties (/typescript-51720/built/local/tsserver.js:60674:13)
    at inferFromObjectTypes (/typescript-51720/built/local/tsserver.js:60663:11)
    at invokeOnce (/typescript-51720/built/local/tsserver.js:60382:11)
    at inferFromTypes (/typescript-51720/built/local/tsserver.js:60340:13)
    at inferToMultipleTypes (/typescript-51720/built/local/tsserver.js:60494:15)
    at inferFromTypes (/typescript-51720/built/local/tsserver.js:60321:11)
    at inferTypes (/typescript-51720/built/local/tsserver.js:60204:7)
    at inferJsxTypeArguments (/typescript-51720/built/local/tsserver.js:65900:7)
    at inferTypeArguments (/typescript-51720/built/local/tsserver.js:65912:16)
    at chooseOverload (/typescript-51720/built/local/tsserver.js:66576:35)
    at resolveCall (/typescript-51720/built/local/tsserver.js:66440:18)
    at resolveJsxOpeningLikeElement (/typescript-51720/built/local/tsserver.js:67111:14)
    at resolveSignature (/typescript-51720/built/local/tsserver.js:67128:18)
    at getResolvedSignature (/typescript-51720/built/local/tsserver.js:67139:22)
    at getContextualTypeForArgumentAtIndex (/typescript-51720/built/local/tsserver.js:63457:114)
    at getContextualJsxElementAttributesType (/typescript-51720/built/local/tsserver.js:63882:14)
    at getContextualType2 (/typescript-51720/built/local/tsserver.js:63867:18)
    at Object.getContextualType (/typescript-51720/built/local/tsserver.js:43233:16)
    at forEachRelatedSymbol (/typescript-51720/built/local/tsserver.js:139132:40)
    at getRelatedSymbol (/typescript-51720/built/local/tsserver.js:139216:14)
    at getReferencesAtLocation (/typescript-51720/built/local/tsserver.js:138712:29)
    at getReferencesInContainer (/typescript-51720/built/local/tsserver.js:138683:9)
    at getReferencesInSourceFile (/typescript-51720/built/local/tsserver.js:138676:14)
    at searchForName (/typescript-51720/built/local/tsserver.js:138490:9)
    at getReferencesInContainerOrFiles (/typescript-51720/built/local/tsserver.js:138316:11)
    at getReferencedSymbolsForSymbol (/typescript-51720/built/local/tsserver.js:138305:9)
    at Object.getReferencedSymbolsForNode (/typescript-51720/built/local/tsserver.js:138101:26)
    at Object.findReferencedSymbols (/typescript-51720/built/local/tsserver.js:137707:36)
    at Object.findReferences (/typescript-51720/built/local/tsserver.js:121949:43)
    at /typescript-51720/built/local/tsserver.js:157949:45
    at searchPosition (/typescript-51720/built/local/tsserver.js:158092:30)
    at getPerProjectReferences (/typescript-51720/built/local/tsserver.js:158067:34)
    at getReferencesWorker (/typescript-51720/built/local/tsserver.js:157942:31)
    at IOSession.getReferences (/typescript-51720/built/local/tsserver.js:159491:26)
    at references (/typescript-51720/built/local/tsserver.js:158320:45)
    at /typescript-51720/built/local/tsserver.js:160420:71
    at IOSession.executeWithRequestId (/typescript-51720/built/local/tsserver.js:160412:16)
    at IOSession.executeCommand (/typescript-51720/built/local/tsserver.js:160420:31)
    at IOSession.onMessage (/typescript-51720/built/local/tsserver.js:160448:53)
    at Interface.<anonymous> (/typescript-51720/built/local/tsserver.js:161983:16)

That is a filtered view of the text. To see the raw error text, go to RepoResults1/ant-design.ant-design.rawError.txt in the artifact folder

Last few requests

{"seq":232,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/components/alert/index.tsx","line":142,"offset":30,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":233,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/components/alert/index.tsx","line":142,"offset":30,"entryNames":["action"]}}
{"seq":234,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/components/alert/index.tsx","line":150,"offset":10,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":235,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/components/alert/index.tsx","line":174,"offset":20}}

Repro Steps

  1. git clone https://github.com/ant-design/ant-design --recurse-submodules
  2. In dir ant-design, run git reset --hard 4d33b7443b514acefe40a0a30bacb39bb0932690
  3. In dir ant-design, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
  4. Back in the initial folder, download RepoResults1/ant-design.ant-design.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./ant-design ./ant-design.ant-design.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

felixrieseberg/windows95

⚠️ Note that built also had errors ⚠️
Req #1053 - references
    at formatMessage2 (/typescript-main/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-main/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-main/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-main/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-main/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:161983:16)
Req #1053 - references
    at formatMessage2 (/typescript-51720/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-51720/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-51720/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-51720/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-51720/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-51720/built/local/tsserver.js:161983:16)

That is a filtered view of the text. To see the raw error text, go to RepoResults4/felixrieseberg.windows95.rawError.txt in the artifact folder

Last few requests

{"seq":1050,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":355160,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":1051,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":355160,"entryNames":["_"]}}
{"seq":1052,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":355167}}
{"seq":1053,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":358092}}

Repro Steps

  1. git clone https://github.com/felixrieseberg/windows95 --recurse-submodules
  2. In dir windows95, run git reset --hard 17a81393467e2668eb2eea291ab4b6a749756dad
  3. In dir windows95, run yarn install --ignore-engines --ignore-scripts --silent
  4. Back in the initial folder, download RepoResults4/felixrieseberg.windows95.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./windows95 ./felixrieseberg.windows95.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

palantir/blueprint

⚠️ Note that built also had errors ⚠️
Req #12877 - references
    at formatMessage2 (/typescript-main/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-main/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-main/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-main/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-main/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:161983:16)
Req #12877 - references
    at formatMessage2 (/typescript-51720/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-51720/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-51720/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-51720/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-51720/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-51720/built/local/tsserver.js:161983:16)

That is a filtered view of the text. To see the raw error text, go to RepoResults4/palantir.blueprint.rawError.txt in the artifact folder

Last few requests

{"seq":12874,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":356179,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":12875,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":356179,"entryNames":["_"]}}
{"seq":12876,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":357151,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":"."}}
{"seq":12877,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":358467}}

Repro Steps

  1. git clone https://github.com/palantir/blueprint --recurse-submodules
  2. In dir blueprint, run git reset --hard 3bfc3f1e9a9b4e0716ed58d6ba20f4786b564057
  3. In dir blueprint, run yarn install --ignore-engines --ignore-scripts --silent
  4. Back in the initial folder, download RepoResults4/palantir.blueprint.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./blueprint ./palantir.blueprint.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

vercel/hyper

⚠️ Note that built also had errors ⚠️
Req #12538 - references
    at formatMessage2 (/typescript-main/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-main/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-main/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-main/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-main/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:161983:16)
Req #12538 - references
    at formatMessage2 (/typescript-51720/built/local/tsserver.js:157806:23)
    at IOSession.writeMessage (/typescript-51720/built/local/tsserver.js:158813:23)
    at IOSession.send (/typescript-51720/built/local/tsserver.js:158810:12)
    at IOSession.doOutput (/typescript-51720/built/local/tsserver.js:158857:12)
    at IOSession.onMessage (/typescript-51720/built/local/tsserver.js:160461:16)
    at Interface.<anonymous> (/typescript-51720/built/local/tsserver.js:161983:16)

That is a filtered view of the text. To see the raw error text, go to RepoResults1/vercel.hyper.rawError.txt in the artifact folder

Last few requests

{"seq":12535,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/bin/yarn-standalone.js","line":84971,"offset":8877,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":"."}}
{"seq":12536,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/bin/yarn-standalone.js","line":84971,"offset":9349}}
{"seq":12537,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/bin/yarn-standalone.js","line":84971,"offset":9594,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":"\""}}
{"seq":12538,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/bin/yarn-standalone.js","line":84971,"offset":9866}}

Repro Steps

  1. git clone https://github.com/vercel/hyper --recurse-submodules
  2. In dir hyper, run git reset --hard 50b0b61ddd5a1ea5eb3c7a054e2600d9f4ae9693
  3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
    1. In dir hyper/app, run yarn install --ignore-engines --ignore-scripts --silent
    2. In dir hyper, run yarn install --ignore-engines --ignore-scripts --silent
  4. Back in the initial folder, download RepoResults1/vercel.hyper.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./hyper ./vercel.hyper.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

@ahejlsberg
Copy link
Member Author

Tests and perf look good. Merging now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Milestone Bug PRs that fix a bug with a specific milestone
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Narrowing with typeof and optional chaining does not work specifically with a union containing boolean unless wrapped in parentheses
4 participants