@@ -494,160 +494,149 @@ const c30 = f30(42, x => "" + x, x => x + 1); // [(x: number) => string, (x: nu
494
494
>x : Symbol(x, Decl(genericRestParameters1.ts, 124, 32))
495
495
>x : Symbol(x, Decl(genericRestParameters1.ts, 124, 32))
496
496
497
- type Parameters<T extends Function> = T extends ((...args: infer U) => any) | (new(...args: infer U) => any) ? U : any[];
498
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1.ts, 124, 45))
499
- >T : Symbol(T, Decl(genericRestParameters1.ts, 126, 16))
500
- >Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
501
- >T : Symbol(T, Decl(genericRestParameters1.ts, 126, 16))
502
- >args : Symbol(args, Decl(genericRestParameters1.ts, 126, 50))
503
- >U : Symbol(U, Decl(genericRestParameters1.ts, 126, 64), Decl(genericRestParameters1.ts, 126, 97))
504
- >args : Symbol(args, Decl(genericRestParameters1.ts, 126, 83))
505
- >U : Symbol(U, Decl(genericRestParameters1.ts, 126, 64), Decl(genericRestParameters1.ts, 126, 97))
506
- >U : Symbol(U, Decl(genericRestParameters1.ts, 126, 64), Decl(genericRestParameters1.ts, 126, 97))
507
-
508
497
type T01 = Parameters<(x: number, y: string, z: boolean) => void>;
509
- >T01 : Symbol(T01, Decl(genericRestParameters1.ts, 126, 121 ))
510
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1. ts, 124, 45 ))
511
- >x : Symbol(x, Decl(genericRestParameters1.ts, 128 , 23))
512
- >y : Symbol(y, Decl(genericRestParameters1.ts, 128 , 33))
513
- >z : Symbol(z, Decl(genericRestParameters1.ts, 128 , 44))
498
+ >T01 : Symbol(T01, Decl(genericRestParameters1.ts, 124, 45 ))
499
+ >Parameters : Symbol(Parameters, Decl(lib.es5.d. ts, --, -- ))
500
+ >x : Symbol(x, Decl(genericRestParameters1.ts, 126 , 23))
501
+ >y : Symbol(y, Decl(genericRestParameters1.ts, 126 , 33))
502
+ >z : Symbol(z, Decl(genericRestParameters1.ts, 126 , 44))
514
503
515
504
type T02 = Parameters<(...args: [number, string, boolean]) => void>;
516
- >T02 : Symbol(T02, Decl(genericRestParameters1.ts, 128 , 66))
517
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1. ts, 124, 45 ))
518
- >args : Symbol(args, Decl(genericRestParameters1.ts, 129 , 23))
519
-
520
- type T03 = Parameters <new (x: number, y: string, z: boolean) => void>;
521
- >T03 : Symbol(T03, Decl(genericRestParameters1.ts, 129 , 68))
522
- >Parameters : Symbol(Parameters , Decl(genericRestParameters1. ts, 124, 45 ))
523
- >x : Symbol(x, Decl(genericRestParameters1.ts, 130, 27 ))
524
- >y : Symbol(y, Decl(genericRestParameters1.ts, 130, 37 ))
525
- >z : Symbol(z, Decl(genericRestParameters1.ts, 130, 48 ))
526
-
527
- type T04 = Parameters <new (...args: [number, string, boolean]) => void>;
528
- >T04 : Symbol(T04, Decl(genericRestParameters1.ts, 130, 70 ))
529
- >Parameters : Symbol(Parameters , Decl(genericRestParameters1. ts, 124, 45 ))
530
- >args : Symbol(args, Decl(genericRestParameters1.ts, 131, 27 ))
505
+ >T02 : Symbol(T02, Decl(genericRestParameters1.ts, 126 , 66))
506
+ >Parameters : Symbol(Parameters, Decl(lib.es5.d. ts, --, -- ))
507
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 127 , 23))
508
+
509
+ type T03 = ConstructorParameters <new (x: number, y: string, z: boolean) => void>;
510
+ >T03 : Symbol(T03, Decl(genericRestParameters1.ts, 127 , 68))
511
+ >ConstructorParameters : Symbol(ConstructorParameters , Decl(lib.es5.d. ts, --, -- ))
512
+ >x : Symbol(x, Decl(genericRestParameters1.ts, 128, 38 ))
513
+ >y : Symbol(y, Decl(genericRestParameters1.ts, 128, 48 ))
514
+ >z : Symbol(z, Decl(genericRestParameters1.ts, 128, 59 ))
515
+
516
+ type T04 = ConstructorParameters <new (...args: [number, string, boolean]) => void>;
517
+ >T04 : Symbol(T04, Decl(genericRestParameters1.ts, 128, 81 ))
518
+ >ConstructorParameters : Symbol(ConstructorParameters , Decl(lib.es5.d. ts, --, -- ))
519
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 129, 38 ))
531
520
532
521
type T05<T> = Parameters<(...args: T[]) => void>;
533
- >T05 : Symbol(T05, Decl(genericRestParameters1.ts, 131, 72))
522
+ >T05 : Symbol(T05, Decl(genericRestParameters1.ts, 129, 83))
523
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 130, 9))
524
+ >Parameters : Symbol(Parameters, Decl(lib.es5.d.ts, --, --))
525
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 130, 26))
526
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 130, 9))
527
+
528
+ type T06<T> = ConstructorParameters<new (...args: []) => void>;
529
+ >T06 : Symbol(T06, Decl(genericRestParameters1.ts, 130, 49))
530
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 131, 9))
531
+ >ConstructorParameters : Symbol(ConstructorParameters, Decl(lib.es5.d.ts, --, --))
532
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 131, 41))
533
+
534
+ type T07<T extends any[]> = Parameters<(...args: T) => void>;
535
+ >T07 : Symbol(T07, Decl(genericRestParameters1.ts, 131, 63))
534
536
>T : Symbol(T, Decl(genericRestParameters1.ts, 132, 9))
535
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1. ts, 124, 45 ))
536
- >args : Symbol(args, Decl(genericRestParameters1.ts, 132, 26 ))
537
+ >Parameters : Symbol(Parameters, Decl(lib.es5.d. ts, --, -- ))
538
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 132, 40 ))
537
539
>T : Symbol(T, Decl(genericRestParameters1.ts, 132, 9))
538
540
539
- type T06<T> = Parameters<new (...args: []) => void>;
540
- >T06 : Symbol(T06, Decl(genericRestParameters1.ts, 132, 49))
541
+ type T08<T extends any[]> = ConstructorParameters<new (...args: T) => void>;
542
+ >T08 : Symbol(T08, Decl(genericRestParameters1.ts, 132, 61))
543
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 133, 9))
544
+ >ConstructorParameters : Symbol(ConstructorParameters, Decl(lib.es5.d.ts, --, --))
545
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 133, 55))
541
546
>T : Symbol(T, Decl(genericRestParameters1.ts, 133, 9))
542
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1.ts, 124, 45))
543
- >args : Symbol(args, Decl(genericRestParameters1.ts, 133, 30))
544
-
545
- type T07<T extends any[]> = Parameters<(...args: T) => void>;
546
- >T07 : Symbol(T07, Decl(genericRestParameters1.ts, 133, 52))
547
- >T : Symbol(T, Decl(genericRestParameters1.ts, 134, 9))
548
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1.ts, 124, 45))
549
- >args : Symbol(args, Decl(genericRestParameters1.ts, 134, 40))
550
- >T : Symbol(T, Decl(genericRestParameters1.ts, 134, 9))
551
-
552
- type T08<T extends any[]> = Parameters<new (...args: T) => void>;
553
- >T08 : Symbol(T08, Decl(genericRestParameters1.ts, 134, 61))
554
- >T : Symbol(T, Decl(genericRestParameters1.ts, 135, 9))
555
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1.ts, 124, 45))
556
- >args : Symbol(args, Decl(genericRestParameters1.ts, 135, 44))
557
- >T : Symbol(T, Decl(genericRestParameters1.ts, 135, 9))
558
547
559
548
type T09 = Parameters<Function>;
560
- >T09 : Symbol(T09, Decl(genericRestParameters1.ts, 135, 65 ))
561
- >Parameters : Symbol(Parameters, Decl(genericRestParameters1. ts, 124, 45 ))
549
+ >T09 : Symbol(T09, Decl(genericRestParameters1.ts, 133, 76 ))
550
+ >Parameters : Symbol(Parameters, Decl(lib.es5.d. ts, --, -- ))
562
551
>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
563
552
564
553
type Record1 = {
565
- >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 136 , 32))
554
+ >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 134 , 32))
566
555
567
556
move: [number, 'left' | 'right'];
568
- >move : Symbol(move, Decl(genericRestParameters1.ts, 138 , 16))
557
+ >move : Symbol(move, Decl(genericRestParameters1.ts, 136 , 16))
569
558
570
559
jump: [number, 'up' | 'down'];
571
- >jump : Symbol(jump, Decl(genericRestParameters1.ts, 139 , 35))
560
+ >jump : Symbol(jump, Decl(genericRestParameters1.ts, 137 , 35))
572
561
573
562
stop: string;
574
- >stop : Symbol(stop, Decl(genericRestParameters1.ts, 140 , 32))
563
+ >stop : Symbol(stop, Decl(genericRestParameters1.ts, 138 , 32))
575
564
576
565
done: [];
577
- >done : Symbol(done, Decl(genericRestParameters1.ts, 141 , 15))
566
+ >done : Symbol(done, Decl(genericRestParameters1.ts, 139 , 15))
578
567
}
579
568
580
569
type EventType<T> = {
581
- >EventType : Symbol(EventType, Decl(genericRestParameters1.ts, 143 , 1))
582
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
570
+ >EventType : Symbol(EventType, Decl(genericRestParameters1.ts, 141 , 1))
571
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
583
572
584
573
emit<K extends keyof T = keyof T>(e: K, ...payload: T[K] extends any[] ? T[K] : [T[K]]): void;
585
- >emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
586
- >K : Symbol(K, Decl(genericRestParameters1.ts, 146 , 7))
587
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
588
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
589
- >e : Symbol(e, Decl(genericRestParameters1.ts, 146 , 36))
590
- >K : Symbol(K, Decl(genericRestParameters1.ts, 146 , 7))
591
- >payload : Symbol(payload, Decl(genericRestParameters1.ts, 146 , 41))
592
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
593
- >K : Symbol(K, Decl(genericRestParameters1.ts, 146 , 7))
594
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
595
- >K : Symbol(K, Decl(genericRestParameters1.ts, 146 , 7))
596
- >T : Symbol(T, Decl(genericRestParameters1.ts, 145 , 15))
597
- >K : Symbol(K, Decl(genericRestParameters1.ts, 146 , 7))
574
+ >emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
575
+ >K : Symbol(K, Decl(genericRestParameters1.ts, 144 , 7))
576
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
577
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
578
+ >e : Symbol(e, Decl(genericRestParameters1.ts, 144 , 36))
579
+ >K : Symbol(K, Decl(genericRestParameters1.ts, 144 , 7))
580
+ >payload : Symbol(payload, Decl(genericRestParameters1.ts, 144 , 41))
581
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
582
+ >K : Symbol(K, Decl(genericRestParameters1.ts, 144 , 7))
583
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
584
+ >K : Symbol(K, Decl(genericRestParameters1.ts, 144 , 7))
585
+ >T : Symbol(T, Decl(genericRestParameters1.ts, 143 , 15))
586
+ >K : Symbol(K, Decl(genericRestParameters1.ts, 144 , 7))
598
587
}
599
588
600
589
declare var events: EventType<Record1>;
601
- >events : Symbol(events, Decl(genericRestParameters1.ts, 149 , 11))
602
- >EventType : Symbol(EventType, Decl(genericRestParameters1.ts, 143 , 1))
603
- >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 136 , 32))
590
+ >events : Symbol(events, Decl(genericRestParameters1.ts, 147 , 11))
591
+ >EventType : Symbol(EventType, Decl(genericRestParameters1.ts, 141 , 1))
592
+ >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 134 , 32))
604
593
605
594
events.emit('move', 10, 'left');
606
- >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
607
- >events : Symbol(events, Decl(genericRestParameters1.ts, 149 , 11))
608
- >emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
595
+ >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
596
+ >events : Symbol(events, Decl(genericRestParameters1.ts, 147 , 11))
597
+ >emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
609
598
610
599
events.emit('jump', 20, 'up');
611
- >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
612
- >events : Symbol(events, Decl(genericRestParameters1.ts, 149 , 11))
613
- >emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
600
+ >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
601
+ >events : Symbol(events, Decl(genericRestParameters1.ts, 147 , 11))
602
+ >emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
614
603
615
604
events.emit('stop', 'Bye!');
616
- >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
617
- >events : Symbol(events, Decl(genericRestParameters1.ts, 149 , 11))
618
- >emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
605
+ >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
606
+ >events : Symbol(events, Decl(genericRestParameters1.ts, 147 , 11))
607
+ >emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
619
608
620
609
events.emit('done');
621
- >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
622
- >events : Symbol(events, Decl(genericRestParameters1.ts, 149 , 11))
623
- >emit : Symbol(emit, Decl(genericRestParameters1.ts, 145 , 21))
610
+ >events.emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
611
+ >events : Symbol(events, Decl(genericRestParameters1.ts, 147 , 11))
612
+ >emit : Symbol(emit, Decl(genericRestParameters1.ts, 143 , 21))
624
613
625
614
// Repro from #25871
626
615
627
616
declare var ff1: (... args: any[]) => void;
628
- >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157 , 11))
629
- >args : Symbol(args, Decl(genericRestParameters1.ts, 157 , 18))
617
+ >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 155 , 11))
618
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 155 , 18))
630
619
631
620
declare var ff2: () => void;
632
- >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 159 , 11))
621
+ >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 157 , 11))
633
622
634
623
declare var ff3: (...args: []) => void;
635
- >ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 160 , 11))
636
- >args : Symbol(args, Decl(genericRestParameters1.ts, 160 , 18))
624
+ >ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 158 , 11))
625
+ >args : Symbol(args, Decl(genericRestParameters1.ts, 158 , 18))
637
626
638
627
declare var ff4: (a: never) => void;
639
- >ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 161 , 11))
640
- >a : Symbol(a, Decl(genericRestParameters1.ts, 161 , 18))
628
+ >ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 159 , 11))
629
+ >a : Symbol(a, Decl(genericRestParameters1.ts, 159 , 18))
641
630
642
631
ff1 = ff2;
643
- >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157 , 11))
644
- >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 159 , 11))
632
+ >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 155 , 11))
633
+ >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 157 , 11))
645
634
646
635
ff1 = ff3;
647
- >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157 , 11))
648
- >ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 160 , 11))
636
+ >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 155 , 11))
637
+ >ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 158 , 11))
649
638
650
639
ff1 = ff4; // Error
651
- >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157 , 11))
652
- >ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 161 , 11))
640
+ >ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 155 , 11))
641
+ >ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 159 , 11))
653
642
0 commit comments