Skip to content

Commit e5af71e

Browse files
committed
Accept new baselines
1 parent 34f6e68 commit e5af71e

File tree

4 files changed

+101
-98
lines changed

4 files changed

+101
-98
lines changed

tests/baselines/reference/neverReturningFunctions1.errors.txt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@ tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(139,9): error TS
2121
tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(141,5): error TS7027: Unreachable code detected.
2222
tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(148,9): error TS7027: Unreachable code detected.
2323
tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(153,5): error TS7027: Unreachable code detected.
24-
tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(159,5): error TS2775: Control flow effects of calls to assertion and never-returning functions are reflected only when every variable or property referenced in the function expression is declared with an explicit type annotation.
25-
tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(160,5): error TS2776: Control flow effects of calls to assertion and never-returning functions are reflected only when the function expression is an identifier or qualified-name.
2624

2725

28-
==== tests/cases/conformance/controlFlow/neverReturningFunctions1.ts (25 errors) ====
26+
==== tests/cases/conformance/controlFlow/neverReturningFunctions1.ts (23 errors) ====
2927
function fail(message?: string): never {
3028
throw new Error(message);
3129
}
@@ -230,12 +228,9 @@ tests/cases/conformance/controlFlow/neverReturningFunctions1.ts(160,5): error TS
230228
function f43() {
231229
const fail = (): never => { throw new Error(); };
232230
const f = [fail];
233-
fail(); // Error
234-
~~~~
235-
!!! error TS2775: Control flow effects of calls to assertion and never-returning functions are reflected only when every variable or property referenced in the function expression is declared with an explicit type annotation.
236-
f[0](); // Error
237-
~~~~
238-
!!! error TS2776: Control flow effects of calls to assertion and never-returning functions are reflected only when the function expression is an identifier or qualified-name.
231+
fail(); // No effect (missing type annotation)
232+
f[0](); // No effect (not a dotted name)
233+
f;
239234
}
240235

241236
// Repro from #33582

tests/baselines/reference/neverReturningFunctions1.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,9 @@ function f42(x: number) {
157157
function f43() {
158158
const fail = (): never => { throw new Error(); };
159159
const f = [fail];
160-
fail(); // Error
161-
f[0](); // Error
160+
fail(); // No effect (missing type annotation)
161+
f[0](); // No effect (not a dotted name)
162+
f;
162163
}
163164

164165
// Repro from #33582
@@ -385,8 +386,9 @@ function f42(x) {
385386
function f43() {
386387
var fail = function () { throw new Error(); };
387388
var f = [fail];
388-
fail(); // Error
389-
f[0](); // Error
389+
fail(); // No effect (missing type annotation)
390+
f[0](); // No effect (not a dotted name)
391+
f;
390392
}
391393
var Component = registerComponent('test-component', {
392394
schema: {

tests/baselines/reference/neverReturningFunctions1.symbols

Lines changed: 86 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -396,203 +396,206 @@ function f43() {
396396
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 157, 9))
397397
>fail : Symbol(fail, Decl(neverReturningFunctions1.ts, 156, 9))
398398

399-
fail(); // Error
399+
fail(); // No effect (missing type annotation)
400400
>fail : Symbol(fail, Decl(neverReturningFunctions1.ts, 156, 9))
401401

402-
f[0](); // Error
402+
f[0](); // No effect (not a dotted name)
403+
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 157, 9))
404+
405+
f;
403406
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 157, 9))
404407
}
405408

406409
// Repro from #33582
407410

408411
export interface Component<T extends object = any> {
409-
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 160, 1))
410-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 164, 27))
412+
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 161, 1))
413+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 165, 27))
411414

412415
attrName?: string;
413-
>attrName : Symbol(Component.attrName, Decl(neverReturningFunctions1.ts, 164, 52))
416+
>attrName : Symbol(Component.attrName, Decl(neverReturningFunctions1.ts, 165, 52))
414417

415418
data: T;
416-
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 165, 19))
417-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 164, 27))
419+
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 166, 19))
420+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 165, 27))
418421

419422
dependencies?: string[];
420-
>dependencies : Symbol(Component.dependencies, Decl(neverReturningFunctions1.ts, 166, 9))
423+
>dependencies : Symbol(Component.dependencies, Decl(neverReturningFunctions1.ts, 167, 9))
421424

422425
el: any;
423-
>el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 167, 25))
426+
>el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 168, 25))
424427

425428
id: string;
426-
>id : Symbol(Component.id, Decl(neverReturningFunctions1.ts, 168, 9))
429+
>id : Symbol(Component.id, Decl(neverReturningFunctions1.ts, 169, 9))
427430

428431
multiple?: boolean;
429-
>multiple : Symbol(Component.multiple, Decl(neverReturningFunctions1.ts, 169, 12))
432+
>multiple : Symbol(Component.multiple, Decl(neverReturningFunctions1.ts, 170, 12))
430433

431434
name: string;
432-
>name : Symbol(Component.name, Decl(neverReturningFunctions1.ts, 170, 20))
435+
>name : Symbol(Component.name, Decl(neverReturningFunctions1.ts, 171, 20))
433436

434437
schema: unknown;
435-
>schema : Symbol(Component.schema, Decl(neverReturningFunctions1.ts, 171, 14))
438+
>schema : Symbol(Component.schema, Decl(neverReturningFunctions1.ts, 172, 14))
436439

437440
system: any;
438-
>system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 172, 17))
441+
>system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 173, 17))
439442

440443
init(data?: T): void;
441-
>init : Symbol(Component.init, Decl(neverReturningFunctions1.ts, 173, 13))
442-
>data : Symbol(data, Decl(neverReturningFunctions1.ts, 175, 6))
443-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 164, 27))
444+
>init : Symbol(Component.init, Decl(neverReturningFunctions1.ts, 174, 13))
445+
>data : Symbol(data, Decl(neverReturningFunctions1.ts, 176, 6))
446+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 165, 27))
444447

445448
pause(): void;
446-
>pause : Symbol(Component.pause, Decl(neverReturningFunctions1.ts, 175, 22))
449+
>pause : Symbol(Component.pause, Decl(neverReturningFunctions1.ts, 176, 22))
447450

448451
play(): void;
449-
>play : Symbol(Component.play, Decl(neverReturningFunctions1.ts, 176, 15))
452+
>play : Symbol(Component.play, Decl(neverReturningFunctions1.ts, 177, 15))
450453

451454
remove(): void;
452-
>remove : Symbol(Component.remove, Decl(neverReturningFunctions1.ts, 177, 14))
455+
>remove : Symbol(Component.remove, Decl(neverReturningFunctions1.ts, 178, 14))
453456

454457
tick?(time: number, timeDelta: number): void;
455-
>tick : Symbol(Component.tick, Decl(neverReturningFunctions1.ts, 178, 16))
456-
>time : Symbol(time, Decl(neverReturningFunctions1.ts, 179, 7))
457-
>timeDelta : Symbol(timeDelta, Decl(neverReturningFunctions1.ts, 179, 20))
458+
>tick : Symbol(Component.tick, Decl(neverReturningFunctions1.ts, 179, 16))
459+
>time : Symbol(time, Decl(neverReturningFunctions1.ts, 180, 7))
460+
>timeDelta : Symbol(timeDelta, Decl(neverReturningFunctions1.ts, 180, 20))
458461

459462
update(oldData: T): void;
460-
>update : Symbol(Component.update, Decl(neverReturningFunctions1.ts, 179, 46))
461-
>oldData : Symbol(oldData, Decl(neverReturningFunctions1.ts, 180, 8))
462-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 164, 27))
463+
>update : Symbol(Component.update, Decl(neverReturningFunctions1.ts, 180, 46))
464+
>oldData : Symbol(oldData, Decl(neverReturningFunctions1.ts, 181, 8))
465+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 165, 27))
463466

464467
updateSchema?(): void;
465-
>updateSchema : Symbol(Component.updateSchema, Decl(neverReturningFunctions1.ts, 180, 26))
468+
>updateSchema : Symbol(Component.updateSchema, Decl(neverReturningFunctions1.ts, 181, 26))
466469

467470
extendSchema(update: unknown): void;
468-
>extendSchema : Symbol(Component.extendSchema, Decl(neverReturningFunctions1.ts, 181, 23))
469-
>update : Symbol(update, Decl(neverReturningFunctions1.ts, 183, 14))
471+
>extendSchema : Symbol(Component.extendSchema, Decl(neverReturningFunctions1.ts, 182, 23))
472+
>update : Symbol(update, Decl(neverReturningFunctions1.ts, 184, 14))
470473

471474
flushToDOM(): void;
472-
>flushToDOM : Symbol(Component.flushToDOM, Decl(neverReturningFunctions1.ts, 183, 37))
475+
>flushToDOM : Symbol(Component.flushToDOM, Decl(neverReturningFunctions1.ts, 184, 37))
473476
}
474477

475478
export interface ComponentConstructor<T extends object> {
476-
>ComponentConstructor : Symbol(ComponentConstructor, Decl(neverReturningFunctions1.ts, 185, 1))
477-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 187, 38))
479+
>ComponentConstructor : Symbol(ComponentConstructor, Decl(neverReturningFunctions1.ts, 186, 1))
480+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 188, 38))
478481

479482
new (el: unknown, attrValue: string, id: string): T & Component;
480-
>el : Symbol(el, Decl(neverReturningFunctions1.ts, 188, 6))
481-
>attrValue : Symbol(attrValue, Decl(neverReturningFunctions1.ts, 188, 18))
482-
>id : Symbol(id, Decl(neverReturningFunctions1.ts, 188, 37))
483-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 187, 38))
484-
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 160, 1))
483+
>el : Symbol(el, Decl(neverReturningFunctions1.ts, 189, 6))
484+
>attrValue : Symbol(attrValue, Decl(neverReturningFunctions1.ts, 189, 18))
485+
>id : Symbol(id, Decl(neverReturningFunctions1.ts, 189, 37))
486+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 188, 38))
487+
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 161, 1))
485488

486489
prototype: T & {
487-
>prototype : Symbol(ComponentConstructor.prototype, Decl(neverReturningFunctions1.ts, 188, 65))
488-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 187, 38))
490+
>prototype : Symbol(ComponentConstructor.prototype, Decl(neverReturningFunctions1.ts, 189, 65))
491+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 188, 38))
489492

490493
name: string;
491-
>name : Symbol(name, Decl(neverReturningFunctions1.ts, 189, 17))
494+
>name : Symbol(name, Decl(neverReturningFunctions1.ts, 190, 17))
492495

493496
system: unknown;
494-
>system : Symbol(system, Decl(neverReturningFunctions1.ts, 190, 15))
497+
>system : Symbol(system, Decl(neverReturningFunctions1.ts, 191, 15))
495498

496499
play(): void;
497-
>play : Symbol(play, Decl(neverReturningFunctions1.ts, 191, 18))
500+
>play : Symbol(play, Decl(neverReturningFunctions1.ts, 192, 18))
498501

499502
pause(): void;
500-
>pause : Symbol(pause, Decl(neverReturningFunctions1.ts, 192, 15))
503+
>pause : Symbol(pause, Decl(neverReturningFunctions1.ts, 193, 15))
501504

502505
};
503506
}
504507

505508
declare function registerComponent<T extends object>(
506-
>registerComponent : Symbol(registerComponent, Decl(neverReturningFunctions1.ts, 195, 1))
507-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 197, 35))
509+
>registerComponent : Symbol(registerComponent, Decl(neverReturningFunctions1.ts, 196, 1))
510+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 198, 35))
508511

509512
name: string,
510-
>name : Symbol(name, Decl(neverReturningFunctions1.ts, 197, 53))
513+
>name : Symbol(name, Decl(neverReturningFunctions1.ts, 198, 53))
511514

512515
component: ComponentDefinition<T>
513-
>component : Symbol(component, Decl(neverReturningFunctions1.ts, 198, 17))
514-
>ComponentDefinition : Symbol(ComponentDefinition, Decl(neverReturningFunctions1.ts, 200, 27))
515-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 197, 35))
516+
>component : Symbol(component, Decl(neverReturningFunctions1.ts, 199, 17))
517+
>ComponentDefinition : Symbol(ComponentDefinition, Decl(neverReturningFunctions1.ts, 201, 27))
518+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 198, 35))
516519

517520
): ComponentConstructor<T>;
518-
>ComponentConstructor : Symbol(ComponentConstructor, Decl(neverReturningFunctions1.ts, 185, 1))
519-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 197, 35))
521+
>ComponentConstructor : Symbol(ComponentConstructor, Decl(neverReturningFunctions1.ts, 186, 1))
522+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 198, 35))
520523

521524
export type ComponentDefinition<T extends object = object> = T & Partial<Component> & ThisType<T & Component>;
522-
>ComponentDefinition : Symbol(ComponentDefinition, Decl(neverReturningFunctions1.ts, 200, 27))
523-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 202, 32))
524-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 202, 32))
525+
>ComponentDefinition : Symbol(ComponentDefinition, Decl(neverReturningFunctions1.ts, 201, 27))
526+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 203, 32))
527+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 203, 32))
525528
>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --))
526-
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 160, 1))
529+
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 161, 1))
527530
>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --))
528-
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 202, 32))
529-
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 160, 1))
531+
>T : Symbol(T, Decl(neverReturningFunctions1.ts, 203, 32))
532+
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 161, 1))
530533

531534
const Component = registerComponent('test-component', {
532-
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 160, 1), Decl(neverReturningFunctions1.ts, 204, 5))
533-
>registerComponent : Symbol(registerComponent, Decl(neverReturningFunctions1.ts, 195, 1))
535+
>Component : Symbol(Component, Decl(neverReturningFunctions1.ts, 161, 1), Decl(neverReturningFunctions1.ts, 205, 5))
536+
>registerComponent : Symbol(registerComponent, Decl(neverReturningFunctions1.ts, 196, 1))
534537

535538
schema: {
536-
>schema : Symbol(schema, Decl(neverReturningFunctions1.ts, 204, 55))
539+
>schema : Symbol(schema, Decl(neverReturningFunctions1.ts, 205, 55))
537540

538541
myProperty: {
539-
>myProperty : Symbol(myProperty, Decl(neverReturningFunctions1.ts, 205, 10))
542+
>myProperty : Symbol(myProperty, Decl(neverReturningFunctions1.ts, 206, 10))
540543

541544
default: [],
542-
>default : Symbol(default, Decl(neverReturningFunctions1.ts, 206, 15))
545+
>default : Symbol(default, Decl(neverReturningFunctions1.ts, 207, 15))
543546

544547
parse() {
545-
>parse : Symbol(parse, Decl(neverReturningFunctions1.ts, 207, 15))
548+
>parse : Symbol(parse, Decl(neverReturningFunctions1.ts, 208, 15))
546549

547550
return [true];
548551
}
549552
},
550553
string: { type: 'string' },
551-
>string : Symbol(string, Decl(neverReturningFunctions1.ts, 211, 4))
552-
>type : Symbol(type, Decl(neverReturningFunctions1.ts, 212, 11))
554+
>string : Symbol(string, Decl(neverReturningFunctions1.ts, 212, 4))
555+
>type : Symbol(type, Decl(neverReturningFunctions1.ts, 213, 11))
553556

554557
num: 0
555-
>num : Symbol(num, Decl(neverReturningFunctions1.ts, 212, 29))
558+
>num : Symbol(num, Decl(neverReturningFunctions1.ts, 213, 29))
556559

557560
},
558561
init() {
559-
>init : Symbol(init, Decl(neverReturningFunctions1.ts, 214, 3))
562+
>init : Symbol(init, Decl(neverReturningFunctions1.ts, 215, 3))
560563

561564
this.data.num = 0;
562-
>this.data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 165, 19))
563-
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 165, 19))
565+
>this.data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 166, 19))
566+
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 166, 19))
564567

565568
this.el.setAttribute('custom-attribute', 'custom-value');
566-
>this.el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 167, 25))
567-
>el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 167, 25))
569+
>this.el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 168, 25))
570+
>el : Symbol(Component.el, Decl(neverReturningFunctions1.ts, 168, 25))
568571

569572
},
570573
update() {},
571-
>update : Symbol(update, Decl(neverReturningFunctions1.ts, 218, 3))
574+
>update : Symbol(update, Decl(neverReturningFunctions1.ts, 219, 3))
572575

573576
tick() {},
574-
>tick : Symbol(tick, Decl(neverReturningFunctions1.ts, 219, 13))
577+
>tick : Symbol(tick, Decl(neverReturningFunctions1.ts, 220, 13))
575578

576579
remove() {},
577-
>remove : Symbol(remove, Decl(neverReturningFunctions1.ts, 220, 11))
580+
>remove : Symbol(remove, Decl(neverReturningFunctions1.ts, 221, 11))
578581

579582
pause() {},
580-
>pause : Symbol(pause, Decl(neverReturningFunctions1.ts, 221, 13))
583+
>pause : Symbol(pause, Decl(neverReturningFunctions1.ts, 222, 13))
581584

582585
play() {},
583-
>play : Symbol(play, Decl(neverReturningFunctions1.ts, 222, 12))
586+
>play : Symbol(play, Decl(neverReturningFunctions1.ts, 223, 12))
584587

585588
multiply(f: number) {
586-
>multiply : Symbol(multiply, Decl(neverReturningFunctions1.ts, 223, 11))
587-
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 225, 10))
589+
>multiply : Symbol(multiply, Decl(neverReturningFunctions1.ts, 224, 11))
590+
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 226, 10))
588591

589592
// Reference to system because both were registered with the same name.
590593
return f * this.data.num * this.system!.data.counter;
591-
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 225, 10))
592-
>this.data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 165, 19))
593-
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 165, 19))
594-
>this.system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 172, 17))
595-
>system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 172, 17))
594+
>f : Symbol(f, Decl(neverReturningFunctions1.ts, 226, 10))
595+
>this.data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 166, 19))
596+
>data : Symbol(Component.data, Decl(neverReturningFunctions1.ts, 166, 19))
597+
>this.system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 173, 17))
598+
>system : Symbol(Component.system, Decl(neverReturningFunctions1.ts, 173, 17))
596599
}
597600
});
598601

tests/baselines/reference/neverReturningFunctions1.types

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,15 +451,18 @@ function f43() {
451451
>[fail] : (() => never)[]
452452
>fail : () => never
453453

454-
fail(); // Error
454+
fail(); // No effect (missing type annotation)
455455
>fail() : never
456456
>fail : () => never
457457

458-
f[0](); // Error
458+
f[0](); // No effect (not a dotted name)
459459
>f[0]() : never
460460
>f[0] : () => never
461461
>f : (() => never)[]
462462
>0 : 0
463+
464+
f;
465+
>f : (() => never)[]
463466
}
464467

465468
// Repro from #33582

0 commit comments

Comments
 (0)