@@ -34,13 +34,21 @@ The old ruleset is on the left, and the new one on the right.
34
34
---------------- - " DerefMutWithShared" |
35
35
r , m ⊢ & p : & mut T |
36
36
37
- |
38
- ------------------ " Binding " |
39
- inh , m ⊢ mut x : & T |
37
+ | inh , m ⊢ x : && T
38
+ | ------------------ " BindingBorrow "
39
+ | inh , m ⊢ ref x : & T
40
40
41
- |
42
- ---------------------- " Binding" |
43
- inh , m ⊢ mut x : & mut T |
41
+ | inh , m ⊢ x : && mut T
42
+ | ---------------------- " BindingBorrow"
43
+ | inh , m ⊢ ref x : & mut T
44
+
45
+ | inh , m ⊢ x : & mut & T
46
+ | ---------------------- " BindingBorrow"
47
+ | inh , m ⊢ ref mut x : & T
48
+
49
+ | inh , m ⊢ x : & mut & mut T
50
+ | -------------------------- " BindingBorrow"
51
+ | inh , m ⊢ ref mut x : & mut T
44
52
45
53
46
54
allow_ref_pat_on_ref_mut : true - > false
@@ -50,8 +58,8 @@ eat_mut_inside_shared: true -> false
50
58
fallback_to_outer : " No"
51
59
inherited_ref_on_ref : " EatOuter" - > " Error"
52
60
match_constructor_through_ref : true - > false
53
- mut_binding_on_inherited : " Keep" - > " Error "
54
- ref_binding_on_inherited : " Error"
61
+ mut_binding_on_inherited : " Keep"
62
+ ref_binding_on_inherited : " Error" - > " AllocTemporary "
55
63
simplify_deref_mut : true
56
64
Current and saved rulesets were swapped
57
65
The two rulesets are described by the following sets of rules , with differences highlighted .
@@ -85,13 +93,21 @@ The old current ruleset is on the left, and the new current one on the right.
85
93
| ---------------- - " DerefMutWithShared"
86
94
| r , m ⊢ & p : & mut T
87
95
88
- |
89
- | ------------------ " Binding "
90
- | inh , m ⊢ mut x : & T
96
+ inh , m ⊢ x : && T |
97
+ ------------------ " BindingBorrow " |
98
+ inh , m ⊢ ref x : & T |
91
99
92
- |
93
- | ---------------------- " Binding"
94
- | inh , m ⊢ mut x : & mut T
100
+ inh , m ⊢ x : && mut T |
101
+ ---------------------- " BindingBorrow" |
102
+ inh , m ⊢ ref x : & mut T |
103
+
104
+ inh , m ⊢ x : & mut & T |
105
+ ---------------------- " BindingBorrow" |
106
+ inh , m ⊢ ref mut x : & T |
107
+
108
+ inh , m ⊢ x : & mut & mut T |
109
+ -------------------------- " BindingBorrow" |
110
+ inh , m ⊢ ref mut x : & mut T |
95
111
96
112
97
113
allow_ref_pat_on_ref_mut : false - > true
@@ -101,8 +117,8 @@ eat_mut_inside_shared: false -> true
101
117
fallback_to_outer : " No"
102
118
inherited_ref_on_ref : " Error" - > " EatOuter"
103
119
match_constructor_through_ref : false - > true
104
- mut_binding_on_inherited : " Error " - > " Keep"
105
- ref_binding_on_inherited : " Error"
120
+ mut_binding_on_inherited : " Keep"
121
+ ref_binding_on_inherited : " AllocTemporary " - > " Error"
106
122
simplify_deref_mut : true
107
123
Comparing against the saved ruleset . Use ` unsave` to forget the saved ruleset .
108
124
The two rulesets are described by the following sets of rules , with differences highlighted .
@@ -152,22 +168,30 @@ The current ruleset is on the left, and the saved one on the right.
152
168
------------------ " BindingBorrow" | ------------------ " BindingBorrow"
153
169
real , m ⊢ ref x : T | real , m ⊢ ref x : T
154
170
171
+ | inh , m ⊢ x : && T
172
+ | ------------------ " BindingBorrow"
173
+ | inh , m ⊢ ref x : & T
174
+
175
+ | inh , m ⊢ x : && mut T
176
+ | ---------------------- " BindingBorrow"
177
+ | inh , m ⊢ ref x : & mut T
178
+
155
179
inh , m ⊢ x : & mut T | inh , m ⊢ x : & mut T
156
180
---------------------- " BindingBorrow" | ---------------------- " BindingBorrow"
157
181
real , m ⊢ ref mut x : T | real , m ⊢ ref mut x : T
158
182
159
- |
160
- ---------- - " Binding " | ---------- - " Binding "
161
- r , m ⊢ x : T | r , m ⊢ x : T
183
+ | inh , m ⊢ x : & mut & T
184
+ | ---------------------- " BindingBorrow "
185
+ | inh , m ⊢ ref mut x : & T
162
186
163
- |
164
- ------------------ " Binding " | ------------------ " Binding "
165
- real , m ⊢ mut x : T | real , m ⊢ mut x : T
187
+ | inh , m ⊢ x : & mut & mut T
188
+ | -------------------------- " BindingBorrow "
189
+ | inh , m ⊢ ref mut x : & mut T
166
190
167
191
|
168
- ------------------ " Binding" |
169
- inh , m ⊢ mut x : & T |
192
+ ---------- - " Binding" | ---------- - " Binding "
193
+ r , m ⊢ x : T | r , m ⊢ x : T
170
194
171
195
|
172
- ---------------------- " Binding" |
173
- inh , m ⊢ mut x : & mut T |
196
+ -------------- - " Binding" | -------------- - " Binding "
197
+ r , m ⊢ mut x : T | r , m ⊢ mut x : T
0 commit comments