File tree Expand file tree Collapse file tree 2 files changed +32
-9
lines changed
packages/language-core/lib/generators
test-workspace/tsc/vue3/#3845 Expand file tree Collapse file tree 2 files changed +32
-9
lines changed Original file line number Diff line number Diff line change @@ -211,19 +211,25 @@ const __VLS_intrinsicElements: __VLS_IntrinsicElements;
211211function __VLS_getVForSourceType(source: number): [number, number, number][];
212212function __VLS_getVForSourceType(source: string): [string, number, number][];
213213function __VLS_getVForSourceType<T extends any[]>(source: T): [
214- T[number], // item
215- number, // key
216- number, // index
214+ item: T[number],
215+ key: number,
216+ index: number,
217217][];
218218function __VLS_getVForSourceType<T extends { [Symbol.iterator](): Iterator<any> }>(source: T): [
219- T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never, // item
220- number, // key
221- undefined, // index
219+ item: T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never,
220+ key: number,
221+ index: undefined,
222+ ][];
223+ // #3845
224+ function __VLS_getVForSourceType<T extends number | { [Symbol.iterator](): Iterator<any> }>(source: T): [
225+ item: number | (Exclude<T, number> extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never),
226+ key: number,
227+ index: undefined,
222228][];
223229function __VLS_getVForSourceType<T>(source: T): [
224- T[keyof T], // item
225- keyof T, // key
226- number, // index
230+ item: T[keyof T],
231+ key: keyof T,
232+ index: number,
227233][];
228234
229235// @ts-ignore
Original file line number Diff line number Diff line change 1+ <script setup lang="ts">
2+ import { exactType } from ' ../../shared' ;
3+
4+ declare const list1: number | number [];
5+ declare const list2: string | number [];
6+ declare const list3: string | number ;
7+ declare const list4: string | number | { [Symbol .iterator ](): Iterator <any > };
8+ declare const list5: string | number | Set <string >;
9+ </script >
10+
11+ <template >
12+ <div v-for =" f in list1" :key =" f" >{{ exactType(f, 1 as number) }}</div >
13+ <div v-for =" f in list2" :key =" f" >{{ exactType(f, 1 as string | number) }}</div >
14+ <div v-for =" f in list3" :key =" f" >{{ exactType(f, 1 as string | number) }}</div >
15+ <div v-for =" f in list4" :key =" f" >{{ exactType(f, 1 as any) }}</div >
16+ <div v-for =" f in list5" :key =" f" >{{ exactType(f, 1 as string | number | string) }}</div >
17+ </template >
You can’t perform that action at this time.
0 commit comments