File: genericSpecializations1.types

package info (click to toggle)
node-typescript 2.1.5-1~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 203,960 kB
  • sloc: sh: 11; makefile: 5
file content (45 lines) | stat: -rw-r--r-- 846 bytes parent folder | download | duplicates (2)
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
36
37
38
39
40
41
42
43
44
45
=== tests/cases/compiler/genericSpecializations1.ts ===
interface IFoo<T> {
>IFoo : IFoo<T>
>T : T

    foo<T>(x: T): T; // no error on implementors because IFoo's T is different from foo's T
>foo : <T>(x: T) => T
>T : T
>x : T
>T : T
>T : T
}

class IntFooBad implements IFoo<number> {
>IntFooBad : IntFooBad
>IFoo : IFoo<T>

    foo(x: string): string { return null; }
>foo : (x: string) => string
>x : string
>null : null
}

class StringFoo2 implements IFoo<string> {
>StringFoo2 : StringFoo2
>IFoo : IFoo<T>

    foo(x: string): string { return null; }
>foo : (x: string) => string
>x : string
>null : null
}

class StringFoo3 implements IFoo<string> {
>StringFoo3 : StringFoo3
>IFoo : IFoo<T>

    foo<T>(x: T): T { return null; }
>foo : <T>(x: T) => T
>T : T
>x : T
>T : T
>T : T
>null : null
}