@@ -494,160 +494,149 @@ const c30 = f30(42, x => "" + x, x => x + 1); // [(x: number) => string, (x: nu
494494>x : Symbol(x, Decl(genericRestParameters1.ts, 124, 32))
495495>x : Symbol(x, Decl(genericRestParameters1.ts, 124, 32))
496496
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-
508497type 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))
514503
515504type 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 ))
531520
532521type 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))
534536>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 ))
537539>T : Symbol(T, Decl(genericRestParameters1.ts, 132, 9))
538540
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))
541546>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))
558547
559548type 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, --, -- ))
562551>Function : Symbol(Function, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
563552
564553type Record1 = {
565- >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 136 , 32))
554+ >Record1 : Symbol(Record1, Decl(genericRestParameters1.ts, 134 , 32))
566555
567556 move: [number, 'left' | 'right'];
568- >move : Symbol(move, Decl(genericRestParameters1.ts, 138 , 16))
557+ >move : Symbol(move, Decl(genericRestParameters1.ts, 136 , 16))
569558
570559 jump: [number, 'up' | 'down'];
571- >jump : Symbol(jump, Decl(genericRestParameters1.ts, 139 , 35))
560+ >jump : Symbol(jump, Decl(genericRestParameters1.ts, 137 , 35))
572561
573562 stop: string;
574- >stop : Symbol(stop, Decl(genericRestParameters1.ts, 140 , 32))
563+ >stop : Symbol(stop, Decl(genericRestParameters1.ts, 138 , 32))
575564
576565 done: [];
577- >done : Symbol(done, Decl(genericRestParameters1.ts, 141 , 15))
566+ >done : Symbol(done, Decl(genericRestParameters1.ts, 139 , 15))
578567}
579568
580569type 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))
583572
584573 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))
598587}
599588
600589declare 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))
604593
605594events.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))
609598
610599events.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))
614603
615604events.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))
619608
620609events.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))
624613
625614// Repro from #25871
626615
627616declare 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))
630619
631620declare var ff2: () => void;
632- >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 159 , 11))
621+ >ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 157 , 11))
633622
634623declare 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))
637626
638627declare 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))
641630
642631ff1 = 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))
645634
646635ff1 = 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))
649638
650639ff1 = 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))
653642
0 commit comments