forked from microsoft/TypeScript
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathaugmentedTypesFunction.types
76 lines (56 loc) · 1.38 KB
/
augmentedTypesFunction.types
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
=== tests/cases/compiler/augmentedTypesFunction.ts ===
// function then var
function y1() { } // error
>y1 : () => void
var y1 = 1; // error
>y1 : number
>1 : 1
// function then function
function y2() { } // error
>y2 : () => void
function y2() { } // error
>y2 : () => void
function y2a() { } // error
>y2a : () => void
var y2a = () => { } // error
>y2a : () => void
>() => { } : () => void
// function then class
function y3() { } // error
>y3 : typeof y3
class y3 { } // error
>y3 : y3
function y3a() { } // error
>y3a : typeof y3a
class y3a { public foo() { } } // error
>y3a : y3a
>foo : () => void
// function then enum
function y4() { } // error
>y4 : () => void
enum y4 { One } // error
>y4 : y4
>One : y4.One
// function then internal module
function y5() { }
>y5 : () => void
module y5 { } // ok since module is not instantiated
function y5a() { }
>y5a : typeof y5a
module y5a { var y = 2; } // should be an error
>y5a : typeof y5a
>y : number
>2 : 2
function y5b() { }
>y5b : typeof y5b
module y5b { export var y = 3; } // should be an error
>y5b : typeof y5b
>y : number
>3 : 3
function y5c() { }
>y5c : () => void
module y5c { export interface I { foo(): void } } // should be an error
>foo : () => void
// function then import, messes with other errors
//function y6() { }
//import y6 = require('');