11indexedAccessPrivateMemberOfGenericConstraint.ts(9,24): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
22indexedAccessPrivateMemberOfGenericConstraint.ts(9,32): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
33indexedAccessPrivateMemberOfGenericConstraint.ts(10,27): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
4+ indexedAccessPrivateMemberOfGenericConstraint.ts(11,27): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
5+ indexedAccessPrivateMemberOfGenericConstraint.ts(12,37): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
6+ indexedAccessPrivateMemberOfGenericConstraint.ts(13,37): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
7+ indexedAccessPrivateMemberOfGenericConstraint.ts(14,23): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
8+ indexedAccessPrivateMemberOfGenericConstraint.ts(15,37): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
9+ indexedAccessPrivateMemberOfGenericConstraint.ts(16,37): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
10+ indexedAccessPrivateMemberOfGenericConstraint.ts(26,25): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
11+ indexedAccessPrivateMemberOfGenericConstraint.ts(26,33): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
12+ indexedAccessPrivateMemberOfGenericConstraint.ts(27,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
13+ indexedAccessPrivateMemberOfGenericConstraint.ts(28,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
14+ indexedAccessPrivateMemberOfGenericConstraint.ts(29,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
15+ indexedAccessPrivateMemberOfGenericConstraint.ts(30,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
16+ indexedAccessPrivateMemberOfGenericConstraint.ts(31,24): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
17+ indexedAccessPrivateMemberOfGenericConstraint.ts(32,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
18+ indexedAccessPrivateMemberOfGenericConstraint.ts(33,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
19+ indexedAccessPrivateMemberOfGenericConstraint.ts(43,33): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
20+ indexedAccessPrivateMemberOfGenericConstraint.ts(44,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
21+ indexedAccessPrivateMemberOfGenericConstraint.ts(45,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
22+ indexedAccessPrivateMemberOfGenericConstraint.ts(46,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
23+ indexedAccessPrivateMemberOfGenericConstraint.ts(47,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
24+ indexedAccessPrivateMemberOfGenericConstraint.ts(48,24): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
25+ indexedAccessPrivateMemberOfGenericConstraint.ts(49,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
26+ indexedAccessPrivateMemberOfGenericConstraint.ts(50,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
27+ indexedAccessPrivateMemberOfGenericConstraint.ts(60,25): error TS2536: Type '"a"' cannot be used to index type 'T'.
28+ indexedAccessPrivateMemberOfGenericConstraint.ts(60,33): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
29+ indexedAccessPrivateMemberOfGenericConstraint.ts(61,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
30+ indexedAccessPrivateMemberOfGenericConstraint.ts(62,28): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
31+ indexedAccessPrivateMemberOfGenericConstraint.ts(63,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
32+ indexedAccessPrivateMemberOfGenericConstraint.ts(64,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
33+ indexedAccessPrivateMemberOfGenericConstraint.ts(65,24): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
34+ indexedAccessPrivateMemberOfGenericConstraint.ts(66,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
35+ indexedAccessPrivateMemberOfGenericConstraint.ts(67,38): error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
436
537
6- ==== indexedAccessPrivateMemberOfGenericConstraint.ts (3 errors) ====
38+ ==== indexedAccessPrivateMemberOfGenericConstraint.ts (35 errors) ====
739 class A {
840 private a: number;
941 }
@@ -21,4 +53,124 @@ indexedAccessPrivateMemberOfGenericConstraint.ts(10,27): error TS4105: Private o
2153 ~~~~~~
2254!!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
2355 type Z<T extends A & B> = T["a"];
56+ ~~~~~~
57+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
58+ type R<T extends A, T2 extends B> = (T | T2)["a"];
59+ ~~~~~~~~~~~~~
60+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
61+ type S<T extends B, T2 extends A> = (T | T2)["a"];
62+ ~~~~~~~~~~~~~
63+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
64+ type U<T extends A> = (T & B)["a"];
65+ ~~~~~~~~~~~~
66+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
67+ type V<T extends A, T2 extends B> = (T & T2)["a"];
68+ ~~~~~~~~~~~~~
69+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
70+ type W<T extends B, T2 extends A> = (T & T2)["a"];
71+ ~~~~~~~~~~~~~
72+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
73+
74+ class C {
75+ declare private a: number;
76+ }
77+
78+ class D {
79+ declare a: string;
80+ }
81+
82+ type X2<T extends C> = [T["a"], (T | D)["a"]];
83+ ~~~~~~
84+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
85+ ~~~~~~~~~~~~
86+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
87+ type Y2<T extends C | D> = T["a"];
88+ ~~~~~~
89+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
90+ type Z2<T extends C & D> = T["a"];
91+ ~~~~~~
92+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
93+ type R2<T extends C, T2 extends D> = (T | T2)["a"];
94+ ~~~~~~~~~~~~~
95+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
96+ type S2<T extends D, T2 extends C> = (T | T2)["a"];
97+ ~~~~~~~~~~~~~
98+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
99+ type U2<T extends C> = (T & D)["a"];
100+ ~~~~~~~~~~~~
101+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
102+ type V2<T extends C, T2 extends D> = (T & T2)["a"];
103+ ~~~~~~~~~~~~~
104+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
105+ type W2<T extends D, T2 extends C> = (T & T2)["a"];
106+ ~~~~~~~~~~~~~
107+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
108+
109+ class E {
110+ declare a: number;
111+ }
112+
113+ class F {
114+ declare private a: string;
115+ }
116+
117+ type X3<T extends E> = [T["a"], (T | F)["a"]];
118+ ~~~~~~~~~~~~
119+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
120+ type Y3<T extends E | F> = T["a"];
121+ ~~~~~~
122+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
123+ type Z3<T extends E & F> = T["a"];
124+ ~~~~~~
125+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
126+ type R3<T extends E, T2 extends F> = (T | T2)["a"];
127+ ~~~~~~~~~~~~~
128+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
129+ type S3<T extends F, T2 extends E> = (T | T2)["a"];
130+ ~~~~~~~~~~~~~
131+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
132+ type U3<T extends E> = (T & F)["a"];
133+ ~~~~~~~~~~~~
134+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
135+ type V3<T extends E, T2 extends F> = (T & T2)["a"];
136+ ~~~~~~~~~~~~~
137+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
138+ type W3<T extends F, T2 extends E> = (T & T2)["a"];
139+ ~~~~~~~~~~~~~
140+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
141+
142+ class G {
143+ declare b: number;
144+ }
145+
146+ class H {
147+ declare private a: string;
148+ }
149+
150+ type X4<T extends G> = [T["a"], (T | H)["a"]];
151+ ~~~~~~
152+ !!! error TS2536: Type '"a"' cannot be used to index type 'T'.
153+ ~~~~~~~~~~~~
154+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
155+ type Y4<T extends G | H> = T["a"];
156+ ~~~~~~
157+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
158+ type Z4<T extends G & H> = T["a"];
159+ ~~~~~~
160+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
161+ type R4<T extends G, T2 extends H> = (T | T2)["a"];
162+ ~~~~~~~~~~~~~
163+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
164+ type S4<T extends H, T2 extends G> = (T | T2)["a"];
165+ ~~~~~~~~~~~~~
166+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
167+ type U4<T extends G> = (T & H)["a"];
168+ ~~~~~~~~~~~~
169+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
170+ type V4<T extends G, T2 extends H> = (T & T2)["a"];
171+ ~~~~~~~~~~~~~
172+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
173+ type W4<T extends H, T2 extends G> = (T & T2)["a"];
174+ ~~~~~~~~~~~~~
175+ !!! error TS4105: Private or protected member 'a' cannot be accessed on a type parameter.
24176
0 commit comments