File: assignmentCompatability_checking-apply-member-off-of-function-interface.symbols

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (60 lines) | stat: -rw-r--r-- 2,771 bytes parent folder | download | duplicates (5)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
=== tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts ===
// 3.8.4 Assignment Compatibility 

interface Applicable {
>Applicable : Symbol(Applicable, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 0, 0))

    apply(blah: any); // also works for 'apply'
>apply : Symbol(Applicable.apply, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 2, 22))
>blah : Symbol(blah, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 3, 10))
}

var x: Applicable;
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))
>Applicable : Symbol(Applicable, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 0, 0))

// Should fail
x = '';
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))

x = [''];
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))

x = 4;
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))

x = {};
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))

// Should work
function f() { };
>f : Symbol(f, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 12, 7))

x = f;
>x : Symbol(x, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 6, 3))
>f : Symbol(f, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 12, 7))

function fn(c: Applicable) { }
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))
>c : Symbol(c, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 18, 12))
>Applicable : Symbol(Applicable, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 0, 0))

// Should Fail
fn('');
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))

fn(['']);
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))

fn(4);
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))

fn({});
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))


// Should work
fn(a => { });
>fn : Symbol(fn, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 16, 6))
>a : Symbol(a, Decl(assignmentCompatability_checking-apply-member-off-of-function-interface.ts, 28, 3))