@@ -34,13 +34,21 @@ The old ruleset is on the left, and the new one on the right.
3434 ---------------- - " DerefMutWithShared" |
3535 r , m ⊢ & p : & mut T |
3636
37- |
38- ------------------ " Binding " |
39- inh , m ⊢ mut x : & T |
37+ | inh , m ⊢ x : && T
38+ | ------------------ " BindingBorrow "
39+ | inh , m ⊢ ref x : & T
4040
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
4452
4553
4654allow_ref_pat_on_ref_mut : true - > false
@@ -50,8 +58,8 @@ eat_mut_inside_shared: true -> false
5058fallback_to_outer : " No"
5159inherited_ref_on_ref : " EatOuter" - > " Error"
5260match_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 "
5563simplify_deref_mut : true
5664Current and saved rulesets were swapped
5765The 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.
8593 | ---------------- - " DerefMutWithShared"
8694 | r , m ⊢ & p : & mut T
8795
88- |
89- | ------------------ " Binding "
90- | inh , m ⊢ mut x : & T
96+ inh , m ⊢ x : && T |
97+ ------------------ " BindingBorrow " |
98+ inh , m ⊢ ref x : & T |
9199
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 |
95111
96112
97113allow_ref_pat_on_ref_mut : false - > true
@@ -101,8 +117,8 @@ eat_mut_inside_shared: false -> true
101117fallback_to_outer : " No"
102118inherited_ref_on_ref : " Error" - > " EatOuter"
103119match_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"
106122simplify_deref_mut : true
107123Comparing against the saved ruleset . Use ` unsave` to forget the saved ruleset .
108124The 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.
152168 ------------------ " BindingBorrow" | ------------------ " BindingBorrow"
153169 real , m ⊢ ref x : T | real , m ⊢ ref x : T
154170
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+
155179 inh , m ⊢ x : & mut T | inh , m ⊢ x : & mut T
156180 ---------------------- " BindingBorrow" | ---------------------- " BindingBorrow"
157181 real , m ⊢ ref mut x : T | real , m ⊢ ref mut x : T
158182
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
162186
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
166190
167191 |
168- ------------------ " Binding" |
169- inh , m ⊢ mut x : & T |
192+ ---------- - " Binding" | ---------- - " Binding "
193+ r , m ⊢ x : T | r , m ⊢ x : T
170194
171195 |
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