File: noImplicitSymbolToString.symbols

package info (click to toggle)
node-typescript 5.0.4%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 459,140 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (115 lines) | stat: -rw-r--r-- 4,118 bytes parent folder | download | duplicates (3)
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
=== tests/cases/compiler/noImplicitSymbolToString.ts ===
// Fix #19666

let symbol!: symbol;
>symbol : Symbol(symbol, Decl(noImplicitSymbolToString.ts, 2, 3))

let str = "hello ";
>str : Symbol(str, Decl(noImplicitSymbolToString.ts, 3, 3))

const templateStr = `hello ${symbol}`;
>templateStr : Symbol(templateStr, Decl(noImplicitSymbolToString.ts, 5, 5))
>symbol : Symbol(symbol, Decl(noImplicitSymbolToString.ts, 2, 3))

const appendStr = "hello " + symbol;
>appendStr : Symbol(appendStr, Decl(noImplicitSymbolToString.ts, 6, 5))
>symbol : Symbol(symbol, Decl(noImplicitSymbolToString.ts, 2, 3))

str += symbol;
>str : Symbol(str, Decl(noImplicitSymbolToString.ts, 3, 3))
>symbol : Symbol(symbol, Decl(noImplicitSymbolToString.ts, 2, 3))

let symbolUnionNumber!: symbol | number;
>symbolUnionNumber : Symbol(symbolUnionNumber, Decl(noImplicitSymbolToString.ts, 9, 3))

let symbolUnionString!: symbol | string;
>symbolUnionString : Symbol(symbolUnionString, Decl(noImplicitSymbolToString.ts, 10, 3))

const templateStrUnion = `union with number ${symbolUnionNumber} and union with string ${symbolUnionString}`;
>templateStrUnion : Symbol(templateStrUnion, Decl(noImplicitSymbolToString.ts, 12, 5))
>symbolUnionNumber : Symbol(symbolUnionNumber, Decl(noImplicitSymbolToString.ts, 9, 3))
>symbolUnionString : Symbol(symbolUnionString, Decl(noImplicitSymbolToString.ts, 10, 3))


// Fix #44462

type StringOrSymbol = string | symbol;
>StringOrSymbol : Symbol(StringOrSymbol, Decl(noImplicitSymbolToString.ts, 12, 109))

function getKey<S extends StringOrSymbol>(key: S) {
>getKey : Symbol(getKey, Decl(noImplicitSymbolToString.ts, 17, 38))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 19, 16))
>StringOrSymbol : Symbol(StringOrSymbol, Decl(noImplicitSymbolToString.ts, 12, 109))
>key : Symbol(key, Decl(noImplicitSymbolToString.ts, 19, 42))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 19, 16))

    return `${key} is the key`;
>key : Symbol(key, Decl(noImplicitSymbolToString.ts, 19, 42))
}

function getKey1<S extends symbol>(key: S) {
>getKey1 : Symbol(getKey1, Decl(noImplicitSymbolToString.ts, 21, 1))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 23, 17))
>key : Symbol(key, Decl(noImplicitSymbolToString.ts, 23, 35))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 23, 17))

    let s1!: S;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 24, 7))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 23, 17))

    `${s1}`;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 24, 7))

    s1 + '';
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 24, 7))

    +s1;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 24, 7))

    let s2!: S | string;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 29, 7))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 23, 17))

    `${s2}`;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 29, 7))

    s2 + '';
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 29, 7))

    +s2;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 29, 7))
}

function getKey2<S extends string>(key: S) {
>getKey2 : Symbol(getKey2, Decl(noImplicitSymbolToString.ts, 33, 1))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 35, 17))
>key : Symbol(key, Decl(noImplicitSymbolToString.ts, 35, 35))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 35, 17))

    let s1!: S;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 36, 7))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 35, 17))

    `${s1}`;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 36, 7))

    s1 + '';
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 36, 7))

    +s1;
>s1 : Symbol(s1, Decl(noImplicitSymbolToString.ts, 36, 7))

    let s2!: S | symbol;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 41, 7))
>S : Symbol(S, Decl(noImplicitSymbolToString.ts, 35, 17))

    `${s2}`;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 41, 7))

    s2 + '';
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 41, 7))

    +s2;
>s2 : Symbol(s2, Decl(noImplicitSymbolToString.ts, 41, 7))
}