Skip to content

[experiment] merge iterable decls in DOM#63193

Closed
jakebailey wants to merge 1 commit intomicrosoft:mainfrom
jakebailey:dom-update-iterable-merging
Closed

[experiment] merge iterable decls in DOM#63193
jakebailey wants to merge 1 commit intomicrosoft:mainfrom
jakebailey:dom-update-iterable-merging

Conversation

@jakebailey
Copy link
Member

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Feb 25, 2026
@jakebailey
Copy link
Member Author

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 25, 2026

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.

There were interesting changes:

Branch only errors:

Package: w3c-css-typed-object-model-level-1
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/w3c-css-typed-object-model-level-1/index.d.ts
   30:13  error  TypeScript@local compile error: 
Subsequent variable declarations must have the same type.  Variable 'CSSUnparsedValue' must be of type '{ new (members: Iterable<CSSUnparsedSegment>): CSSUnparsedValue; prototype: CSSUnparsedValue; }', but here has type '{ new (members: CSSUnparsedSegment[]): CSSUnparsedValue; prototype: CSSUnparsedValue; }'                   @definitelytyped/expect
  180:13  error  TypeScript@local compile error: 
Subsequent variable declarations must have the same type.  Variable 'CSSTransformValue' must be of type '{ new (transforms: Iterable<CSSTransformComponent>): CSSTransformValue; prototype: CSSTransformValue; }', but here has type '{ new (transforms: CSSTransformComponent[]): CSSTransformValue; prototype: CSSTransformValue; }'  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.2.38_typescript@6.0.0-dev.20260225/node_modules/@definitelytyped/dtslint/dist/index.js:199:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.2.38_typescript@6.0.0-dev.20260225/node_modules/@definitelytyped/dtslint/dist/index.js:191:20)

Package: resize-observer-browser
Error:

Error: 
/mnt/vss/_work/1/DefinitelyTyped/types/resize-observer-browser/resize-observer-browser-tests.ts
   2:63  error  TypeScript@local compile error: 
Argument of type '(entries: ResizeObserverEntry[]) => void' is not assignable to parameter of type 'ResizeObserverCallback'.
  Types of parameters 'entries' and 'entries' are incompatible.
    Type 'Iterable<ResizeObserverEntry>' is missing the following properties from type 'ResizeObserverEntry[]': length, pop, push, concat, and 24 more                      @definitelytyped/expect
  34:70  error  TypeScript@local compile error: 
Argument of type '(entries: readonly ResizeObserverEntry[]) => void' is not assignable to parameter of type 'ResizeObserverCallback'.
  Types of parameters 'entries' and 'entries' are incompatible.
    Type 'Iterable<ResizeObserverEntry>' is missing the following properties from type 'readonly ResizeObserverEntry[]': length, concat, join, slice, and 15 more  @definitelytyped/expect

✖ 2 problems (2 errors, 0 warnings)

    at combineErrorsAndWarnings (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.2.38_typescript@6.0.0-dev.20260225/node_modules/@definitelytyped/dtslint/dist/index.js:199:28)
    at runTests (/mnt/vss/_work/1/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.2.38_typescript@6.0.0-dev.20260225/node_modules/@definitelytyped/dtslint/dist/index.js:191:20)

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/63193/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Git clone failed"

Otherwise...

Something interesting changed - please have a look.

Details

effect

packages/effect/benchmark/tsconfig.json

puppeteer

packages/puppeteer-core/tsconfig.json

@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 3 3 ~ ~ ~ p=1.000 n=6
Symbols 82,521 82,521 ~ ~ ~ p=1.000 n=6
Types 125,280 125,280 ~ ~ ~ p=1.000 n=6
Memory used 276,727k (± 0.64%) 275,639k (± 0.66%) ~ 274,388k 278,081k p=0.471 n=6
Parse Time 1.30s (± 0.58%) 1.31s (± 0.64%) ~ 1.29s 1.31s p=0.432 n=6
Bind Time 0.75s (± 0.68%) 0.75s (± 0.72%) ~ 0.75s 0.76s p=0.640 n=6
Check Time 14.12s (± 0.82%) 14.12s (± 0.60%) ~ 13.98s 14.23s p=0.936 n=6
Emit Time 2.67s (± 0.61%) 2.67s (± 0.31%) ~ 2.66s 2.68s p=0.866 n=6
Total Time 18.84s (± 0.70%) 18.85s (± 0.53%) ~ 18.68s 18.98s p=0.873 n=6
angular-1 - node (v18.15.0, x64)
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 959,140 958,620 -520 (- 0.05%) ~ ~ p=0.001 n=6
Types 416,034 416,056 +22 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 1,261,022k (± 0.01%) 1,260,308k (± 0.00%) -714k (- 0.06%) 1,260,248k 1,260,397k p=0.005 n=6
Parse Time 8.01s (± 0.64%) 8.03s (± 0.82%) ~ 7.96s 8.11s p=0.419 n=6
Bind Time 2.40s (± 0.81%) 2.40s (± 0.78%) ~ 2.37s 2.42s p=0.870 n=6
Check Time 38.89s (± 0.38%) 38.75s (± 0.19%) ~ 38.66s 38.87s p=0.109 n=6
Emit Time 18.03s (± 0.38%) 17.98s (± 0.77%) ~ 17.83s 18.16s p=0.521 n=6
Total Time 67.32s (± 0.25%) 67.16s (± 0.32%) ~ 66.95s 67.51s p=0.173 n=6
mui-docs - node (v18.15.0, x64)
Errors 11,438 11,438 ~ ~ ~ p=1.000 n=6
Symbols 2,723,472 2,723,149 -323 (- 0.01%) ~ ~ p=0.001 n=6
Types 968,213 968,212 -1 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 3,066,732k (± 0.02%) 3,066,624k (± 0.01%) ~ 3,066,169k 3,066,983k p=0.810 n=6
Parse Time 10.32s (± 0.74%) 10.32s (± 0.42%) ~ 10.25s 10.37s p=0.573 n=6
Bind Time 2.76s (± 0.77%) 2.76s (± 0.67%) ~ 2.73s 2.78s p=0.806 n=6
Check Time 116.05s (± 0.50%) 115.17s (± 0.28%) -0.88s (- 0.76%) 114.71s 115.46s p=0.005 n=6
Emit Time 0.40s (± 1.87%) 0.40s (± 1.87%) ~ 0.39s 0.41s p=1.000 n=6
Total Time 129.53s (± 0.49%) 128.65s (± 0.29%) -0.88s (- 0.68%) 128.17s 129.02s p=0.020 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,253,407 1,253,407 ~ ~ ~ p=1.000 n=6
Types 260,208 260,208 ~ ~ ~ p=1.000 n=6
Memory used 2,396,195k (± 0.01%) 2,396,641k (± 0.01%) +447k (+ 0.02%) 2,396,450k 2,396,916k p=0.005 n=6
Parse Time 5.16s (± 0.57%) 5.16s (± 1.22%) ~ 5.09s 5.24s p=0.936 n=6
Bind Time 1.86s (± 1.21%) 1.85s (± 1.70%) ~ 1.81s 1.89s p=0.629 n=6
Check Time 35.59s (± 0.23%) 35.63s (± 0.28%) ~ 35.47s 35.75s p=0.521 n=6
Emit Time 3.03s (± 1.28%) 3.04s (± 2.16%) ~ 2.97s 3.15s p=1.000 n=6
Total Time 45.67s (± 0.16%) 45.71s (± 0.27%) ~ 45.56s 45.89s p=0.810 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,253,407 1,253,407 ~ ~ ~ p=1.000 n=6
Types 260,208 260,208 ~ ~ ~ p=1.000 n=6
Memory used 3,194,118k (± 0.02%) 3,072,899k (± 9.65%) ~ 2,467,089k 3,194,725k p=0.575 n=6
Parse Time 8.46s (± 0.90%) 8.39s (± 1.18%) ~ 8.21s 8.50s p=0.377 n=6
Bind Time 2.75s (± 0.93%) 2.77s (± 1.26%) ~ 2.72s 2.83s p=0.125 n=6
Check Time 53.60s (± 0.24%) 53.49s (± 0.52%) ~ 53.05s 53.92s p=0.230 n=6
Emit Time 4.37s (± 1.66%) 4.35s (± 1.27%) ~ 4.29s 4.45s p=0.471 n=6
Total Time 69.18s (± 0.12%) 69.00s (± 0.56%) ~ 68.40s 69.62s p=0.066 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 265,173 265,173 ~ ~ ~ p=1.000 n=6
Types 104,282 104,282 ~ ~ ~ p=1.000 n=6
Memory used 444,297k (± 0.01%) 444,335k (± 0.01%) ~ 444,264k 444,412k p=0.471 n=6
Parse Time 2.88s (± 0.31%) 2.88s (± 0.77%) ~ 2.86s 2.91s p=0.684 n=6
Bind Time 1.16s (± 0.45%) 1.16s (± 0.54%) ~ 1.15s 1.17s p=0.386 n=6
Check Time 16.07s (± 0.36%) 16.05s (± 0.22%) ~ 16.00s 16.09s p=0.936 n=6
Emit Time 1.32s (± 0.75%) 1.32s (± 0.62%) ~ 1.31s 1.33s p=0.383 n=6
Total Time 21.42s (± 0.34%) 21.42s (± 0.15%) ~ 21.37s 21.46s p=0.809 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 271 271 ~ ~ ~ p=1.000 n=6
Symbols 225,897 225,897 ~ ~ ~ p=1.000 n=6
Types 93,564 93,564 ~ ~ ~ p=1.000 n=6
Memory used 371,645k (± 0.02%) 371,619k (± 0.03%) ~ 371,450k 371,771k p=0.936 n=6
Parse Time 2.85s (± 0.75%) 2.85s (± 0.98%) ~ 2.81s 2.89s p=0.936 n=6
Bind Time 1.64s (± 1.05%) 1.62s (± 0.96%) -0.02s (- 1.32%) 1.59s 1.63s p=0.048 n=6
Check Time 17.46s (± 0.36%) 17.46s (± 0.41%) ~ 17.38s 17.58s p=0.809 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 21.96s (± 0.23%) 21.93s (± 0.35%) ~ 21.83s 22.06s p=0.376 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=NaN n=0
Symbols 0 0 ~ ~ ~ p=NaN n=0
Types 0 0 ~ ~ ~ p=NaN n=0
Memory used 0k 0k ~ ~ ~ p=NaN n=0
Parse Time 0s 0s ~ ~ ~ p=NaN n=0
Bind Time 0s 0s ~ ~ ~ p=NaN n=0
Check Time 0s 0s ~ ~ ~ p=NaN n=0
Emit Time 0s 0s ~ ~ ~ p=NaN n=0
Total Time 0s 0s ~ ~ ~ p=NaN n=0
webpack - node (v18.15.0, x64)
Errors 42 42 ~ ~ ~ p=1.000 n=6
Symbols 407,558 407,231 -327 (- 0.08%) ~ ~ p=0.001 n=6
Types 186,243 186,227 -16 (- 0.01%) ~ ~ p=0.001 n=6
Memory used 569,232k (± 0.02%) 568,610k (± 0.01%) -623k (- 0.11%) 568,492k 568,699k p=0.005 n=6
Parse Time 4.76s (± 1.10%) 4.76s (± 0.88%) ~ 4.73s 4.83s p=0.872 n=6
Bind Time 2.03s (± 0.74%) 2.04s (± 0.84%) ~ 2.02s 2.07s p=0.511 n=6
Check Time 24.52s (± 0.30%) 24.54s (± 0.42%) ~ 24.45s 24.72s p=0.748 n=6
Emit Time 0.00s (±154.76%) 0.00s (±154.76%) ~ 0.00s 0.01s p=1.000 n=6
Total Time 31.32s (± 0.35%) 31.35s (± 0.41%) ~ 31.24s 31.60s p=0.748 n=6
xstate-main - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 764,212 763,905 -307 (- 0.04%) ~ ~ p=0.001 n=6
Types 219,050 219,048 -2 (- 0.00%) ~ ~ p=0.001 n=6
Memory used 684,898k (± 0.01%) 684,395k (± 0.01%) -503k (- 0.07%) 684,328k 684,451k p=0.005 n=6
Parse Time 4.92s (± 1.35%) 4.92s (± 0.35%) ~ 4.90s 4.95s p=0.686 n=6
Bind Time 1.58s (± 0.78%) 1.60s (± 1.25%) +0.03s (+ 1.59%) 1.57s 1.63s p=0.032 n=6
Check Time 22.66s (± 0.50%) 22.65s (± 0.52%) ~ 22.53s 22.86s p=0.936 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 29.16s (± 0.42%) 29.17s (± 0.44%) ~ 29.01s 29.39s p=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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

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

Something interesting changed - please have a look.

Details

bvaughn/react-window

3 of 4 projects failed to build with the old tsc and were ignored

tsconfig.json

RSSNext/Folo

14 of 18 projects failed to build with the old tsc and were ignored

apps/mobile/web-app/html-renderer/tsconfig.json

tldraw/tldraw

29 of 34 projects failed to build with the old tsc and were ignored

apps/analytics/tsconfig.json

transloadit/uppy

19 of 62 projects failed to build with the old tsc and were ignored

private/dev/tsconfig.json

packages/@uppy/zoom/tsconfig.json

packages/@uppy/webdav/tsconfig.json

packages/@uppy/webdav/tsconfig.build.json

packages/@uppy/webcam/tsconfig.json

packages/@uppy/vue/tsconfig.json

packages/@uppy/vue/tsconfig.build.json

packages/@uppy/utils/tsconfig.json

packages/@uppy/url/tsconfig.json

packages/@uppy/unsplash/tsconfig.json

packages/@uppy/tus/tsconfig.json

packages/@uppy/transloadit/tsconfig.json

packages/@uppy/thumbnail-generator/tsconfig.json

packages/@uppy/status-bar/tsconfig.json

packages/@uppy/screen-capture/tsconfig.json

packages/@uppy/remote-sources/tsconfig.json

packages/@uppy/react/tsconfig.json

packages/@uppy/react/tsconfig.build.json

packages/@uppy/provider-views/tsconfig.json

packages/@uppy/onedrive/tsconfig.json

packages/@uppy/locales/tsconfig.json

packages/@uppy/locales/tsconfig.build.json

packages/@uppy/instagram/tsconfig.json

packages/@uppy/image-generator/tsconfig.json

packages/@uppy/image-generator/tsconfig.build.json

packages/@uppy/image-editor/tsconfig.json

packages/@uppy/google-photos-picker/tsconfig.json

packages/@uppy/google-drive-picker/tsconfig.json

packages/@uppy/google-drive/tsconfig.json

packages/@uppy/form/tsconfig.json

packages/@uppy/facebook/tsconfig.json

packages/@uppy/dropbox/tsconfig.json

packages/@uppy/drop-target/tsconfig.json

packages/@uppy/drag-drop/tsconfig.json

packages/@uppy/drag-drop/tsconfig.build.json

packages/@uppy/core/tsconfig.json

packages/@uppy/compressor/tsconfig.json

packages/@uppy/components/tsconfig.json

packages/@uppy/companion-client/tsconfig.json

packages/@uppy/box/tsconfig.json

packages/@uppy/aws-s3/tsconfig.json

packages/@uppy/audio/tsconfig.json

tusen-ai/naive-ui

4 of 7 projects failed to build with the old tsc and were ignored

src/tsconfig.demo.json

yamadashy/repomix

4 of 7 projects failed to build with the old tsc and were ignored

website/client/tsconfig.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants