Defer union or intersection property type normalization#31486
Defer union or intersection property type normalization#31486weswigham merged 3 commits intomicrosoft:masterfrom
Conversation
|
@typescript-bot pack this |
|
Heya @weswigham, I've started to run the tarball bundle task on this PR at 1ac8380. You can monitor the build here. It should now contribute to this PR's status checks. |
|
@typescript-bot test this |
|
Heya @weswigham, I've started to run the community code test suite on this PR at 1ac8380. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the extended test suite on this PR at 1ac8380. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at 1ac8380. You can monitor the build here. It should now contribute to this PR's status checks. |
|
This code passes in 3.3 and 3.4, but errors in 3.5 without the PR interface Obj<T> {
ref: T;
}
interface Func<T> {
(x: T): void;
}
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
type CtorOf<T> = (arg: UnionToIntersection<T>) => T;
interface Big {
"0": { common?: string; "0"?: number, ref?: Obj<Big["0"]> | Func<Big["0"]>; }
"1": { common?: string; "1"?: number, ref?: Obj<Big["1"]> | Func<Big["1"]>; }
"2": { common?: string; "2"?: number, ref?: Obj<Big["2"]> | Func<Big["2"]>; }
"3": { common?: string; "3"?: number, ref?: Obj<Big["3"]> | Func<Big["3"]>; }
"4": { common?: string; "4"?: number, ref?: Obj<Big["4"]> | Func<Big["4"]>; }
"5": { common?: string; "5"?: number, ref?: Obj<Big["5"]> | Func<Big["5"]>; }
"6": { common?: string; "6"?: number, ref?: Obj<Big["6"]> | Func<Big["6"]>; }
"7": { common?: string; "7"?: number, ref?: Obj<Big["7"]> | Func<Big["7"]>; }
"8": { common?: string; "8"?: number, ref?: Obj<Big["8"]> | Func<Big["8"]>; }
"9": { common?: string; "9"?: number, ref?: Obj<Big["9"]> | Func<Big["9"]>; }
"10": { common?: string; "10"?: number, ref?: Obj<Big["10"]> | Func<Big["10"]>; }
"11": { common?: string; "11"?: number, ref?: Obj<Big["11"]> | Func<Big["11"]>; }
"12": { common?: string; "12"?: number, ref?: Obj<Big["12"]> | Func<Big["12"]>; }
"13": { common?: string; "13"?: number, ref?: Obj<Big["13"]> | Func<Big["13"]>; }
"14": { common?: string; "14"?: number, ref?: Obj<Big["14"]> | Func<Big["14"]>; }
"15": { common?: string; "15"?: number, ref?: Obj<Big["15"]> | Func<Big["15"]>; }
"16": { common?: string; "16"?: number, ref?: Obj<Big["16"]> | Func<Big["16"]>; }
"17": { common?: string; "17"?: number, ref?: Obj<Big["17"]> | Func<Big["17"]>; }
}
declare function getCtor<T extends keyof Big>(comp: T): CtorOf<Big[T]>
declare var all: keyof Big;
const ctor = getCtor(all);
const comp = ctor({ common: "ok" }); |
|
RWC failures are just from this branch being out of date from earlier this week, there's no actual RWC failures ❤️ (will merge and run again just in case tho) |
|
@typescript-bot test this |
|
Heya @weswigham, I've started to run the community code test suite on this PR at e1ba024. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at e1ba024. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the extended test suite on this PR at e1ba024. You can monitor the build here. It should now contribute to this PR's status checks. |
|
@typescript-bot perf test this |
|
Heya @weswigham, I've started to run the perf test suite on this PR at e1ba024. You can monitor the build here. It should now contribute to this PR's status checks. |
|
hoookay, canceled all the inflight ones - everything's up to date, there's no lint errors, and the baseline diff with master is accepted. Once more my bot, orchestrate: @typescript-bot test this |
|
Heya @weswigham, I've started to run the extended test suite on this PR at b37a3f8. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the perf test suite on this PR at b37a3f8. You can monitor the build here. It should now contribute to this PR's status checks. Update: The results are in! |
|
Heya @weswigham, I've started to run the community code test suite on this PR at b37a3f8. You can monitor the build here. It should now contribute to this PR's status checks. |
|
Heya @weswigham, I've started to run the parallelized Definitely Typed test suite on this PR at b37a3f8. You can monitor the build here. It should now contribute to this PR's status checks. |
|
@weswigham Here they are:Comparison Report - master..31486
System
Hosts
Scenarios
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fixes #31441