Skip to content

Fix: False Positive "Range out of order in character class" in Regular Expressions in Unicode Modes - #58982

Merged
Ron Buckton (rbuckton) merged 1 commit into
microsoft:mainfrom
graphemecluster:regex-char-class
Jul 17, 2024
Merged

Fix: False Positive "Range out of order in character class" in Regular Expressions in Unicode Modes#58982
Ron Buckton (rbuckton) merged 1 commit into
microsoft:mainfrom
graphemecluster:regex-char-class

Conversation

@graphemecluster

Copy link
Copy Markdown
Contributor

The first appears to be my fault; the second is a regression of #58339.

@typescript-botTypeScript Bot (typescript-bot) added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jun 23, 2024
@typescript-bot

Copy link
Copy Markdown
Contributor

This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The first change seems like a straightforward fix. Ron Buckton (@rbuckton) does the second change make sense?

@sandersn

Copy link
Copy Markdown
Member

graphemecluster (@graphemecluster) can you provide a link to a bug or at least the PR that caused the bug for the first fix?

@sandersn

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) test all

@sandersn

Copy link
Copy Markdown
Member

TypeScript Bot (@typescript-bot) test it

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 10, 2024

Copy link
Copy Markdown
Contributor

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

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

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Nathan Shively-Sanders (@sandersn), the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn) Here are the results of running the user tests with tsc comparing main and refs/pull/58982/merge:

Everything looks good!

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used193,971k (± 1.01%)193,975k (± 1.01%)~192,162k195,895kp=0.810 n=6
Parse Time1.57s (± 0.99%)1.57s (± 0.66%)~1.56s1.58sp=0.793 n=6
Bind Time0.85s (± 1.37%)0.85s (± 0.96%)~0.84s0.86sp=0.738 n=6
Check Time11.24s (± 0.26%)11.23s (± 0.45%)~11.13s11.27sp=1.000 n=6
Emit Time3.27s (± 0.84%)3.27s (± 0.76%)~3.24s3.31sp=0.872 n=6
Total Time16.93s (± 0.23%)16.92s (± 0.37%)~16.83s17.01sp=0.748 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,114944,114~~~p=1.000 n=6
Types407,050407,050~~~p=1.000 n=6
Memory used1,218,390k (± 0.01%)1,218,389k (± 0.00%)~1,218,337k1,218,472kp=1.000 n=6
Parse Time8.01s (± 0.33%)8.01s (± 0.64%)~7.96s8.10sp=0.560 n=6
Bind Time2.21s (± 0.38%)2.21s (± 0.23%)~2.21s2.22sp=0.923 n=6
Check Time35.71s (± 0.22%)35.88s (± 0.35%)+0.17s (+ 0.47%)35.70s36.00sp=0.045 n=6
Emit Time16.11s (± 0.22%)16.14s (± 0.56%)~16.02s16.29sp=0.521 n=6
Total Time62.05s (± 0.14%)62.24s (± 0.22%)+0.19s (+ 0.31%)62.12s62.46sp=0.016 n=6
mui-docs - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,130,2962,130,296~~~p=1.000 n=6
Types927,656927,656~~~p=1.000 n=6
Memory used2,106,998k (± 0.01%)2,107,103k (± 0.00%)~2,106,992k2,107,208kp=0.298 n=6
Parse Time9.63s (± 0.52%)9.67s (± 0.39%)~9.61s9.72sp=0.229 n=6
Bind Time3.37s (± 0.62%)3.37s (± 0.52%)~3.34s3.38sp=0.871 n=6
Check Time101.37s (± 1.94%)102.47s (± 0.37%)~101.86s102.90sp=0.173 n=6
Emit Time0.76s (±122.23%)0.19s (± 2.81%)~0.19s0.20sp=0.663 n=6
Total Time115.13s (± 1.02%)115.71s (± 0.33%)~115.10s116.09sp=0.173 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,9701,225,970~~~p=1.000 n=6
Types261,580261,580~~~p=1.000 n=6
Memory used2,338,862k (± 0.02%)2,339,354k (± 0.05%)~2,338,021k2,341,110kp=0.575 n=6
Parse Time6.07s (± 0.70%)6.06s (± 0.82%)~5.99s6.12sp=0.809 n=6
Bind Time2.25s (± 0.52%)2.25s (± 0.36%)~2.24s2.26sp=0.622 n=6
Check Time40.17s (± 0.23%)40.27s (± 0.24%)~40.18s40.44sp=0.066 n=6
Emit Time3.84s (± 1.78%)3.85s (± 1.73%)~3.79s3.96sp=0.521 n=6
Total Time52.35s (± 0.14%)52.45s (± 0.28%)~52.26s52.67sp=0.173 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,225,9701,225,970~~~p=1.000 n=6
Types261,580261,580~~~p=1.000 n=6
Memory used2,413,576k (± 0.02%)2,412,733k (± 0.03%)~2,411,626k2,413,811kp=0.109 n=6
Parse Time7.86s (± 0.55%)7.87s (± 1.22%)~7.71s7.97sp=0.521 n=6
Bind Time2.52s (± 1.61%)2.49s (± 1.17%)~2.46s2.54sp=0.172 n=6
Check Time50.18s (± 0.22%)50.26s (± 0.33%)~49.95s50.42sp=0.298 n=6
Emit Time4.82s (± 1.56%)4.85s (± 2.18%)~4.74s4.98sp=0.688 n=6
Total Time65.39s (± 0.17%)65.49s (± 0.26%)~65.25s65.73sp=0.378 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,280258,280~~~p=1.000 n=6
Types104,782104,782~~~p=1.000 n=6
Memory used427,150k (± 0.01%)427,180k (± 0.02%)~427,071k427,271kp=0.575 n=6
Parse Time4.10s (± 0.39%)4.09s (± 0.53%)~4.07s4.13sp=0.607 n=6
Bind Time1.62s (± 1.43%)1.63s (± 1.00%)~1.60s1.65sp=0.682 n=6
Check Time22.01s (± 0.37%)22.02s (± 0.33%)~21.94s22.10sp=1.000 n=6
Emit Time2.03s (± 1.02%)2.04s (± 0.86%)~2.01s2.06sp=0.123 n=6
Total Time29.75s (± 0.31%)29.79s (± 0.31%)~29.68s29.90sp=0.748 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,444k (± 0.01%)369,522k (± 0.03%)~369,419k369,695kp=0.173 n=6
Parse Time2.77s (± 1.23%)2.76s (± 0.42%)~2.74s2.77sp=0.418 n=6
Bind Time1.58s (± 0.87%)1.58s (± 0.35%)~1.57s1.58sp=0.235 n=6
Check Time15.48s (± 0.38%)15.50s (± 0.40%)~15.40s15.57sp=0.936 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time19.83s (± 0.47%)19.83s (± 0.37%)~19.73s19.92sp=0.872 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,889,4392,889,439~~~p=1.000 n=6
Types977,632977,632~~~p=1.000 n=6
Memory used3,052,934k (± 0.00%)3,052,920k (± 0.00%)~3,052,851k3,053,029kp=0.575 n=6
Parse Time13.70s (± 0.41%)13.72s (± 0.43%)~13.61s13.78sp=0.686 n=6
Bind Time4.21s (± 0.37%)4.23s (± 0.37%)~4.21s4.25sp=0.078 n=6
Check Time75.85s (± 2.84%)74.11s (± 0.62%)~73.58s74.82sp=0.298 n=6
Emit Time22.03s (± 9.71%)23.96s (± 0.38%)~23.81s24.06sp=0.230 n=6
Total Time115.79s (± 0.23%)116.03s (± 0.38%)~115.56s116.60sp=0.471 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols267,235267,235~~~p=1.000 n=6
Types108,815108,815~~~p=1.000 n=6
Memory used411,818k (± 0.01%)411,823k (± 0.02%)~411,745k411,930kp=0.689 n=6
Parse Time4.75s (± 0.49%)4.74s (± 0.59%)~4.71s4.78sp=0.683 n=6
Bind Time2.08s (± 0.71%)2.08s (± 0.58%)~2.07s2.10sp=0.616 n=6
Check Time20.74s (± 0.21%)20.75s (± 0.29%)~20.69s20.86sp=0.870 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time27.56s (± 0.22%)27.58s (± 0.32%)~27.49s27.73sp=0.936 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols510,050510,050~~~p=1.000 n=6
Types161,597161,597~~~p=1.000 n=6
Memory used447,405k (± 0.06%)447,382k (± 0.08%)~446,971k447,895kp=0.810 n=6
Parse Time3.88s (± 0.40%)3.89s (± 0.66%)~3.85s3.92sp=0.685 n=6
Bind Time1.48s (± 0.66%)1.47s (± 1.27%)~1.45s1.49sp=0.156 n=6
Check Time21.08s (± 0.52%)21.12s (± 0.33%)~21.01s21.20sp=0.574 n=6
Emit Time0.00s (±244.70%)0.00s~~~p=0.405 n=6
Total Time26.45s (± 0.43%)26.47s (± 0.36%)~26.36s26.61sp=0.936 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)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn) Here are the results of running the top 400 repos with tsc comparing main and refs/pull/58982/merge:

Everything looks good!

@graphemecluster

Copy link
Copy Markdown
ContributorAuthor

Ron Buckton (@rbuckton) Just as a heads up, you might want to merge this (and also #58981) before the beta release.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@graphemecluster@typescript-bot@sandersn@rbuckton