summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/lint-const-item-mutation.stderr
blob: 94d876423e7491c67401406c96d28be75a82d6d0 (plain)
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
116
117
118
119
120
121
warning: attempting to modify a `const` item
  --> $DIR/lint-const-item-mutation.rs:37:5
   |
LL |     ARRAY[0] = 5;
   |     ^^^^^^^^^^^^
   |
   = note: `#[warn(const_item_mutation)]` on by default
   = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:26:1
   |
LL | const ARRAY: [u8; 1] = [25];
   | ^^^^^^^^^^^^^^^^^^^^

warning: attempting to modify a `const` item
  --> $DIR/lint-const-item-mutation.rs:38:5
   |
LL |     MY_STRUCT.field = false;
   |     ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:27:1
   |
LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: attempting to modify a `const` item
  --> $DIR/lint-const-item-mutation.rs:39:5
   |
LL |     MY_STRUCT.inner_array[0] = 'b';
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:27:1
   |
LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: taking a mutable reference to a `const` item
  --> $DIR/lint-const-item-mutation.rs:40:5
   |
LL |     MY_STRUCT.use_mut();
   |     ^^^^^^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary
   = note: the mutable reference will refer to this temporary, not the original `const` item
note: mutable reference created due to call to this method
  --> $DIR/lint-const-item-mutation.rs:9:5
   |
LL |     fn use_mut(&mut self) {}
   |     ^^^^^^^^^^^^^^^^^^^^^
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:27:1
   |
LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: taking a mutable reference to a `const` item
  --> $DIR/lint-const-item-mutation.rs:41:5
   |
LL |     &mut MY_STRUCT;
   |     ^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary
   = note: the mutable reference will refer to this temporary, not the original `const` item
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:27:1
   |
LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: taking a mutable reference to a `const` item
  --> $DIR/lint-const-item-mutation.rs:42:5
   |
LL |     (&mut MY_STRUCT).use_mut();
   |     ^^^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary
   = note: the mutable reference will refer to this temporary, not the original `const` item
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:27:1
   |
LL | const MY_STRUCT: MyStruct = MyStruct { field: true, inner_array: ['a'], raw_ptr: 2 as *mut u8 };
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: attempting to modify a `const` item
  --> $DIR/lint-const-item-mutation.rs:54:5
   |
LL |     MUTABLE2.msg = "wow";
   |     ^^^^^^^^^^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary; the original `const` item will not be modified
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:30:1
   |
LL | const MUTABLE2: Mutable2 = Mutable2 { msg: "", other: String::new() };
   | ^^^^^^^^^^^^^^^^^^^^^^^^

warning: taking a mutable reference to a `const` item
  --> $DIR/lint-const-item-mutation.rs:55:5
   |
LL |     VEC.push(0);
   |     ^^^^^^^^^^^
   |
   = note: each usage of a `const` item creates a new temporary
   = note: the mutable reference will refer to this temporary, not the original `const` item
note: mutable reference created due to call to this method
  --> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
   |
LL |     pub fn push(&mut self, value: T) {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: `const` item defined here
  --> $DIR/lint-const-item-mutation.rs:31:1
   |
LL | const VEC: Vec<i32> = Vec::new();
   | ^^^^^^^^^^^^^^^^^^^

warning: 8 warnings emitted