Skip to content
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

Fixed syntactic nullisness semantics for tagged template expressions #60616

Conversation

Andarist
Copy link
Contributor

fixes #60614

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Nov 26, 2024
@Andarist Andarist force-pushed the fix/nullish-syntactic-semantics-tagged-templates branch from b918877 to 4a63167 Compare November 26, 2024 20:29
@jakebailey
Copy link
Member

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 26, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
test top400 ✅ Started ✅ Results
user test this ✅ Started ✅ Results
run dt ✅ Started ✅ Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/60616/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 34 34 ~ ~ ~ p=1.000 n=6
Symbols 62,363 62,363 ~ ~ ~ p=1.000 n=6
Types 50,395 50,395 ~ ~ ~ p=1.000 n=6
Memory used 194,356k (± 0.92%) 193,030k (± 0.01%) ~ 192,997k 193,047k p=0.128 n=6
Parse Time 1.29s (± 1.06%) 1.32s (± 0.39%) +0.02s (+ 1.80%) 1.31s 1.32s p=0.022 n=6
Bind Time 0.72s 0.72s ~ ~ ~ p=1.000 n=6
Check Time 9.83s (± 0.20%) 9.81s (± 0.64%) ~ 9.69s 9.87s p=0.742 n=6
Emit Time 2.73s (± 0.44%) 2.73s (± 0.59%) ~ 2.70s 2.74s p=1.000 n=6
Total Time 14.57s (± 0.28%) 14.58s (± 0.45%) ~ 14.46s 14.65s p=0.687 n=6
angular-1 - node (v18.15.0, x64)
Errors 37 37 ~ ~ ~ p=1.000 n=6
Symbols 947,936 947,936 ~ ~ ~ p=1.000 n=6
Types 410,955 410,955 ~ ~ ~ p=1.000 n=6
Memory used 1,226,042k (± 0.00%) 1,226,027k (± 0.00%) ~ 1,225,994k 1,226,061k p=0.748 n=6
Parse Time 6.65s (± 0.58%) 6.66s (± 0.83%) ~ 6.55s 6.70s p=0.466 n=6
Bind Time 1.88s (± 0.29%) 1.88s (± 0.43%) ~ 1.87s 1.89s p=0.859 n=6
Check Time 31.87s (± 0.10%) 31.96s (± 0.30%) ~ 31.82s 32.08s p=0.126 n=6
Emit Time 15.22s (± 0.38%) 15.22s (± 0.24%) ~ 15.18s 15.27s p=1.000 n=6
Total Time 55.61s (± 0.14%) 55.72s (± 0.21%) ~ 55.59s 55.87s p=0.173 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,500,013 2,500,013 ~ ~ ~ p=1.000 n=6
Types 909,416 909,416 ~ ~ ~ p=1.000 n=6
Memory used 2,318,018k (± 0.00%) 2,318,213k (± 0.01%) +195k (+ 0.01%) 2,318,096k 2,318,509k p=0.008 n=6
Parse Time 11.16s (± 0.83%) 11.19s (± 0.35%) ~ 11.16s 11.27s p=0.872 n=6
Bind Time 2.64s (± 0.70%) 2.63s (± 0.40%) ~ 2.61s 2.64s p=0.086 n=6
Check Time 91.17s (± 2.19%) 90.72s (± 1.39%) ~ 89.27s 92.58s p=0.936 n=6
Emit Time 0.35s (± 2.16%) 0.36s (± 2.08%) +0.01s (+ 3.83%) 0.35s 0.37s p=0.024 n=6
Total Time 105.32s (± 1.85%) 104.89s (± 1.20%) ~ 103.43s 106.74s p=1.000 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,251 1,225,251 ~ ~ ~ p=1.000 n=6
Types 266,545 266,545 ~ ~ ~ p=1.000 n=6
Memory used 2,720,992k (±14.64%) 2,841,774k (±13.20%) ~ 2,356,785k 3,084,967k p=0.873 n=6
Parse Time 6.69s (± 1.63%) 6.71s (± 1.88%) ~ 6.57s 6.89s p=0.810 n=6
Bind Time 2.13s (± 0.91%) 2.13s (± 0.91%) ~ 2.10s 2.15s p=0.687 n=6
Check Time 42.51s (± 0.38%) 42.60s (± 0.50%) ~ 42.32s 42.92s p=0.471 n=6
Emit Time 3.39s (± 1.16%) 3.52s (± 3.50%) +0.13s (+ 3.83%) 3.42s 3.74s p=0.037 n=6
Total Time 54.73s (± 0.45%) 54.98s (± 0.42%) ~ 54.64s 55.25s p=0.149 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,225,251 1,225,251 ~ ~ ~ p=1.000 n=6
Types 266,545 266,545 ~ ~ ~ p=1.000 n=6
Memory used 2,907,326k (±12.88%) 3,149,634k (± 0.03%) ~ 3,148,316k 3,150,854k p=0.128 n=6
Parse Time 6.94s (± 1.71%) 7.03s (± 0.98%) ~ 6.93s 7.10s p=0.261 n=6
Bind Time 2.16s (± 1.57%) 2.14s (± 1.57%) ~ 2.11s 2.19s p=0.418 n=6
Check Time 42.75s (± 0.38%) 42.79s (± 0.56%) ~ 42.42s 43.05s p=0.575 n=6
Emit Time 3.45s (± 1.84%) 3.46s (± 3.38%) ~ 3.32s 3.64s p=1.000 n=6
Total Time 55.28s (± 0.43%) 55.42s (± 0.24%) ~ 55.18s 55.53s p=0.336 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 262,223 262,223 ~ ~ ~ p=1.000 n=6
Types 106,606 106,606 ~ ~ ~ p=1.000 n=6
Memory used 439,757k (± 0.01%) 439,793k (± 0.01%) ~ 439,713k 439,881k p=0.471 n=6
Parse Time 3.54s (± 0.79%) 3.56s (± 1.03%) ~ 3.52s 3.61s p=0.256 n=6
Bind Time 1.32s (± 2.77%) 1.31s (± 1.04%) ~ 1.30s 1.33s p=0.934 n=6
Check Time 18.94s (± 0.48%) 18.92s (± 0.41%) ~ 18.83s 19.03s p=0.630 n=6
Emit Time 1.53s (± 0.87%) 1.52s (± 0.68%) ~ 1.51s 1.54s p=0.301 n=6
Total Time 25.33s (± 0.52%) 25.32s (± 0.32%) ~ 25.19s 25.40s p=0.809 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 70 70 ~ ~ ~ p=1.000 n=6
Symbols 226,062 226,062 ~ ~ ~ p=1.000 n=6
Types 94,488 94,488 ~ ~ ~ p=1.000 n=6
Memory used 371,686k (± 0.03%) 371,595k (± 0.01%) ~ 371,566k 371,667k p=0.065 n=6
Parse Time 2.88s (± 1.15%) 2.88s (± 1.41%) ~ 2.85s 2.96s p=0.871 n=6
Bind Time 1.59s (± 0.89%) 1.58s (± 0.76%) ~ 1.57s 1.60s p=0.458 n=6
Check Time 16.49s (± 0.46%) 16.52s (± 0.40%) ~ 16.43s 16.61s p=0.630 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.96s (± 0.42%) 20.98s (± 0.47%) ~ 20.87s 21.14s p=0.809 n=6
vscode - node (v18.15.0, x64)
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 3,179,733 3,179,733 ~ ~ ~ p=1.000 n=6
Types 1,093,537 1,093,537 ~ ~ ~ p=1.000 n=6
Memory used 3,254,653k (± 0.01%) 3,254,834k (± 0.01%) ~ 3,254,390k 3,255,424k p=1.000 n=6
Parse Time 14.13s (± 0.19%) 14.07s (± 0.33%) -0.06s (- 0.41%) 14.01s 14.13s p=0.029 n=6
Bind Time 4.52s (± 0.80%) 4.50s (± 0.61%) ~ 4.47s 4.55s p=0.466 n=6
Check Time 87.01s (± 1.60%) 87.53s (± 1.83%) ~ 85.96s 90.11s p=0.575 n=6
Emit Time 27.41s (± 7.82%) 27.37s (± 8.00%) ~ 23.08s 28.88s p=0.936 n=6
Total Time 133.06s (± 0.66%) 133.48s (± 0.93%) ~ 131.74s 134.80s p=0.298 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 288,684 288,684 ~ ~ ~ p=1.000 n=6
Types 117,136 117,136 ~ ~ ~ p=1.000 n=6
Memory used 440,706k (± 0.01%) 440,667k (± 0.02%) ~ 440,596k 440,765k p=0.298 n=6
Parse Time 3.27s (± 0.16%) 3.27s (± 0.23%) ~ 3.26s 3.28s p=0.241 n=6
Bind Time 1.47s (± 0.35%) 1.47s (± 0.51%) ~ 1.46s 1.48s p=0.241 n=6
Check Time 15.62s (± 0.31%) 15.60s (± 0.42%) ~ 15.49s 15.66s p=0.629 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.36s (± 0.22%) 20.34s (± 0.31%) ~ 20.24s 20.40s p=0.560 n=6
xstate-main - node (v18.15.0, x64)
Errors 8 8 ~ ~ ~ p=1.000 n=6
Symbols 551,583 551,583 ~ ~ ~ p=1.000 n=6
Types 184,808 184,808 ~ ~ ~ p=1.000 n=6
Memory used 491,878k (± 0.02%) 491,874k (± 0.01%) ~ 491,783k 491,921k p=0.471 n=6
Parse Time 3.44s (± 0.80%) 3.43s (± 0.65%) ~ 3.40s 3.45s p=1.000 n=6
Bind Time 1.18s (± 1.07%) 1.18s (± 1.07%) ~ 1.16s 1.19s p=1.000 n=6
Check Time 19.71s (± 1.11%) 19.64s (± 0.18%) ~ 19.61s 19.70s p=0.872 n=6
Emit Time 0.00s (±244.70%) 0.00s (±244.70%) ~ 0.00s 0.01s p=1.000 n=6
Total Time 24.33s (± 0.92%) 24.25s (± 0.16%) ~ 24.19s 24.29s p=1.000 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

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

I think this is right, though a shame. At least regular template strings are not affected.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top 400 repos with tsc comparing main and refs/pull/60616/merge:

Everything looks good!

@RyanCavanaugh RyanCavanaugh merged commit 9fe6c36 into microsoft:main Nov 26, 2024
30 checks passed
@jakebailey
Copy link
Member

@typescript-bot cherry-pick this to release-5.7

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 27, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
cherry-pick this to release-5.7 ✅ Started ❌ Results

@typescript-bot
Copy link
Collaborator

Hey, @jakebailey! I was unable to cherry-pick this PR.

Check the logs at: https://github.com/microsoft/TypeScript/actions/runs/12041395613

@Andarist Andarist deleted the fix/nullish-syntactic-semantics-tagged-templates branch November 27, 2024 06:21
@jakebailey
Copy link
Member

This failed to cherry pick because these two are not in the release branch:

DanielRosenwasser pushed a commit that referenced this pull request Dec 17, 2024
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
Co-authored-by: Ryan Cavanaugh <RyanCavanaugh@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

False positive: Right operand of ?? is unreachable
4 participants