File: readonlyMembers.errors.txt

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 (113 lines) | stat: -rw-r--r-- 4,878 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
tests/cases/compiler/readonlyMembers.ts(6,3): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(7,3): error TS2540: Cannot assign to 'b' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(16,14): error TS2540: Cannot assign to 'c' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(18,18): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(19,18): error TS2540: Cannot assign to 'b' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(20,18): error TS2540: Cannot assign to 'c' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(24,14): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(25,14): error TS2540: Cannot assign to 'b' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(26,14): error TS2540: Cannot assign to 'c' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(35,3): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(39,3): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(48,3): error TS2540: Cannot assign to 'A' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(55,3): error TS2540: Cannot assign to 'a' because it is a read-only property.
tests/cases/compiler/readonlyMembers.ts(61,1): error TS2542: Index signature in type '{ readonly [x: string]: string; }' only permits reading.
tests/cases/compiler/readonlyMembers.ts(64,1): error TS2542: Index signature in type '{ readonly [x: number]: string; [x: string]: string; }' only permits reading.


==== tests/cases/compiler/readonlyMembers.ts (15 errors) ====
    interface X {
        readonly a: number;
        readonly b?: number;
    }
    var x: X = { a: 0 };
    x.a = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
    x.b = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'b' because it is a read-only property.
    
    class C {
        readonly a: number;
        readonly b = 1;
        get c() { return 1 }
        constructor() {
            this.a = 1;  // Ok
            this.b = 1;  // Ok
            this.c = 1;  // Error
                 ~
!!! error TS2540: Cannot assign to 'c' because it is a read-only property.
            const f = () => {
                this.a = 1;  // Error
                     ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
                this.b = 1;  // Error
                     ~
!!! error TS2540: Cannot assign to 'b' because it is a read-only property.
                this.c = 1;  // Error
                     ~
!!! error TS2540: Cannot assign to 'c' because it is a read-only property.
            }
        }
        foo() {
            this.a = 1;  // Error
                 ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
            this.b = 1;  // Error
                 ~
!!! error TS2540: Cannot assign to 'b' because it is a read-only property.
            this.c = 1;  // Error
                 ~
!!! error TS2540: Cannot assign to 'c' because it is a read-only property.
        }
    }
    
    var o = {
        get a() { return 1 },
        get b() { return 1 },
        set b(value) { }
    };
    o.a = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
    o.b = 1;
    
    var p: { readonly a: number, b: number } = { a: 1, b: 1 };
    p.a = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
    p.b = 1;
    var q: { a: number, b: number } = p;
    q.a = 1;
    q.b = 1;
    
    enum E {
        A, B, C
    }
    E.A = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'A' because it is a read-only property.
    
    namespace N {
        export const a = 1;
        export let b = 1;
        export var c = 1;
    }
    N.a = 1;  // Error
      ~
!!! error TS2540: Cannot assign to 'a' because it is a read-only property.
    N.b = 1;
    N.c = 1;
    
    let xx: { readonly [x: string]: string };
    let s = xx["foo"];
    xx["foo"] = "abc";  // Error
    ~~~~~~~~~
!!! error TS2542: Index signature in type '{ readonly [x: string]: string; }' only permits reading.
    
    let yy: { readonly [x: number]: string, [x: string]: string };
    yy[1] = "abc";  // Error
    ~~~~~
!!! error TS2542: Index signature in type '{ readonly [x: number]: string; [x: string]: string; }' only permits reading.
    yy["foo"] = "abc";