File: primitiveConstraints2.types

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (35 lines) | stat: -rw-r--r-- 749 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
=== tests/cases/compiler/primitiveConstraints2.ts ===
class C<T> {
>C : C<T>

   public bar2<U extends T>(x: T, y: U): T {
>bar2 : <U extends T>(x: T, y: U) => T
>x : T
>y : U

      return null;
>null : null
     }
}
 
var x = new C<number>();
>x : C<number>
>new C<number>() : C<number>
>C : typeof C

x.bar2(2, ""); // should error
>x.bar2(2, "") : number
>x.bar2 : <U extends number>(x: number, y: U) => number
>x : C<number>
>bar2 : <U extends number>(x: number, y: U) => number
>2 : 2
>"" : ""

x.bar2<string>(2, ""); // should error
>x.bar2<string>(2, "") : number
>x.bar2 : <U extends number>(x: number, y: U) => number
>x : C<number>
>bar2 : <U extends number>(x: number, y: U) => number
>2 : 2
>"" : ""