Skip to content

Commit cb7efa4

Browse files
committed
Commit output with new ruleset names
1 parent 5d5bafd commit cb7efa4

14 files changed

+1126
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
source: src/analyses/compute_rules.rs
3+
info:
4+
bundle_name: rfc3627_2021_always_eat_both
5+
options:
6+
match_constructor_through_ref: true
7+
eat_inherited_ref_alone: true
8+
inherited_ref_on_ref: EatBoth
9+
fallback_to_outer: EatBoth
10+
allow_ref_pat_on_ref_mut: true
11+
simplify_deref_mut: true
12+
downgrade_mut_inside_shared: true
13+
eat_mut_inside_shared: true
14+
ref_binding_on_inherited: ResetBindingMode
15+
mut_binding_on_inherited: ResetBindingMode
16+
---
17+
let p0: T0 = e.0, let p1: T1 = e.1
18+
----------------------------------- "Constructor"
19+
let [p0, p1]: [T0, T1] = e
20+
21+
let p0: &T0 = &(*e).0, let p1: &T1 = &(*e).1
22+
--------------------------------------------- "ConstructorRef"
23+
let [p0, p1]: &[T0, T1] = e
24+
25+
let p0: &mut T0 = &mut (*e).0, let p1: &mut T1 = &mut (*e).1
26+
------------------------------------------------------------- "ConstructorRef"
27+
let [p0, p1]: &mut [T0, T1] = e, e mutable
28+
29+
let p0: &T0 = &(*e).0, let p1: &T1 = &(*e).1
30+
--------------------------------------------- "ConstructorRef(ForceReadOnly)"
31+
let [p0, p1]: &mut [T0, T1] = e, e read-only
32+
33+
let [p0, p1]: &T = &**e
34+
----------------------- "ConstructorMultiRef"
35+
let [p0, p1]: &&T = e
36+
37+
let [p0, p1]: &T = &**e
38+
------------------------- "ConstructorMultiRef"
39+
let [p0, p1]: &&mut T = e
40+
41+
let [p0, p1]: &T = &**e
42+
------------------------- "ConstructorMultiRef"
43+
let [p0, p1]: &mut &T = e
44+
45+
let [p0, p1]: &mut T = &mut **e
46+
---------------------------------------- "ConstructorMultiRef"
47+
let [p0, p1]: &mut &mut T = e, e mutable
48+
49+
let [p0, p1]: &T = &**e
50+
------------------------------------------ "ConstructorMultiRef(ForceReadOnly)"
51+
let [p0, p1]: &mut &mut T = e, e read-only
52+
53+
let p: T = *e
54+
------------------------------------ "Deref(EatOuter)"
55+
let &p: &T = e, e is not a reference
56+
57+
let p: T = *&e
58+
------------------------------------- "Deref(EatOuter)"
59+
let &p: &T = &e, T is not a reference
60+
61+
let p: T = *e
62+
-------------------------------------------- "Deref(EatOuter)"
63+
let &mut p: &mut T = e, e is not a reference
64+
65+
let p: T = *&mut e
66+
------------------------------------------------- "Deref(EatOuter)"
67+
let &mut p: &mut T = &mut e, T is not a reference
68+
69+
let p: T = *e
70+
---------------- "Deref(EatBoth)"
71+
let &p: &&T = &e
72+
73+
let p: T = *e
74+
------------------------ "Deref(EatBoth)"
75+
let &p: &mut &T = &mut e
76+
77+
let p: T = *e
78+
------------------------ "Deref(EatBoth)"
79+
let &mut p: &&mut T = &e
80+
81+
let p: T = *e
82+
-------------------------------- "Deref(EatBoth)"
83+
let &mut p: &mut &mut T = &mut e
84+
85+
let p: T = **&mut e
86+
---------------------------- "Deref(EatBoth, FallbackToOuter(EatBoth))"
87+
let &mut p: &mut &T = &mut e
88+
89+
let p: T = *&*e
90+
---------------------------------------- "DerefMutWithShared(EatOuter)"
91+
let &p: &mut T = e, e is not a reference
92+
93+
let p: T = *&*&mut e
94+
--------------------------------------------- "DerefMutWithShared(EatOuter)"
95+
let &p: &mut T = &mut e, T is not a reference
96+
97+
let p: T = *&*e
98+
-------------------- "DerefMutWithShared(EatBoth)"
99+
let &p: &&mut T = &e
100+
101+
let p: T = *&*e
102+
---------------------------- "DerefMutWithShared(EatBoth)"
103+
let &p: &mut &mut T = &mut e
104+
105+
let ref x: T = e
106+
------------------ "RefBindingResetBindingMode"
107+
let ref x: &T = &e
108+
109+
let ref x: T = e
110+
-------------------------- "RefBindingResetBindingMode"
111+
let ref x: &mut T = &mut e
112+
113+
let ref mut x: T = e
114+
---------------------- "RefBindingResetBindingMode"
115+
let ref mut x: &T = &e
116+
117+
let ref mut x: T = e
118+
------------------------------ "RefBindingResetBindingMode"
119+
let ref mut x: &mut T = &mut e
120+
121+
let mut x: T = e
122+
------------------ "MutBindingResetBindingMode"
123+
let mut x: &T = &e
124+
125+
let mut x: T = e
126+
-------------------------- "MutBindingResetBindingMode"
127+
let mut x: &mut T = &mut e
128+
129+
let x: &T = &e
130+
-------------------------------------- "BindingBorrow"
131+
let ref x: T = e, e is not a reference
132+
133+
let x: &mut T = &mut e
134+
------------------------------------------ "BindingBorrow"
135+
let ref mut x: T = e, e is not a reference
136+
137+
138+
------------ "Binding"
139+
let x: T = e
140+
141+
142+
-------------------------------------- "Binding"
143+
let mut x: T = e, e is not a reference
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
---
2+
source: src/analyses/compute_rules.rs
3+
info:
4+
bundle_name: rfc3627_2021_always_eat_both
5+
options:
6+
match_constructor_through_ref: true
7+
eat_inherited_ref_alone: true
8+
inherited_ref_on_ref: EatBoth
9+
fallback_to_outer: EatBoth
10+
allow_ref_pat_on_ref_mut: true
11+
simplify_deref_mut: true
12+
downgrade_mut_inside_shared: true
13+
eat_mut_inside_shared: true
14+
ref_binding_on_inherited: ResetBindingMode
15+
mut_binding_on_inherited: ResetBindingMode
16+
---
17+
move, mp0: T0, move, mp1: T1
18+
----------------------------------- "Constructor"
19+
move, m ⊢ [p0, p1]: [T0, T1]
20+
21+
ref, rop0: T0, ref, rop1: T1
22+
----------------------------------- "ConstructorRef"
23+
move, m ⊢ [p0, p1]: &[T0, T1]
24+
25+
ref, rop0: T0, ref, rop1: T1
26+
----------------------------------- "ConstructorRef"
27+
ref, m ⊢ [p0, p1]: [T0, T1]
28+
29+
ref mut, rwp0: T0, ref mut, rwp1: T1
30+
------------------------------------------- "ConstructorRef"
31+
move, rw ⊢ [p0, p1]: &mut [T0, T1]
32+
33+
ref mut, rwp0: T0, ref mut, rwp1: T1
34+
------------------------------------------- "ConstructorRef"
35+
ref mut, rw ⊢ [p0, p1]: [T0, T1]
36+
37+
ref, rop0: T0, ref, rop1: T1
38+
----------------------------------- "ConstructorRef(ForceReadOnly)"
39+
move, ro ⊢ [p0, p1]: &mut [T0, T1]
40+
41+
ref, rop0: T0, ref, rop1: T1
42+
----------------------------------- "ConstructorRef(ForceReadOnly)"
43+
ref mut, ro ⊢ [p0, p1]: [T0, T1]
44+
45+
ref, ro ⊢ [p0, p1]: T
46+
----------------------- "ConstructorMultiRef"
47+
move, m ⊢ [p0, p1]: &&T
48+
49+
ref, ro ⊢ [p0, p1]: T
50+
--------------------------- "ConstructorMultiRef"
51+
move, m ⊢ [p0, p1]: &&mut T
52+
53+
ref, ro ⊢ [p0, p1]: T
54+
--------------------- "ConstructorMultiRef"
55+
ref, m ⊢ [p0, p1]: &T
56+
57+
ref, ro ⊢ [p0, p1]: T
58+
------------------------- "ConstructorMultiRef"
59+
ref, m ⊢ [p0, p1]: &mut T
60+
61+
ref, ro ⊢ [p0, p1]: T
62+
--------------------------- "ConstructorMultiRef"
63+
move, m ⊢ [p0, p1]: &mut &T
64+
65+
ref mut, rw ⊢ [p0, p1]: T
66+
-------------------------------- "ConstructorMultiRef"
67+
move, rw ⊢ [p0, p1]: &mut &mut T
68+
69+
ref, ro ⊢ [p0, p1]: T
70+
------------------------- "ConstructorMultiRef"
71+
ref mut, m ⊢ [p0, p1]: &T
72+
73+
ref mut, rw ⊢ [p0, p1]: T
74+
------------------------------ "ConstructorMultiRef"
75+
ref mut, rw ⊢ [p0, p1]: &mut T
76+
77+
ref, ro ⊢ [p0, p1]: T
78+
-------------------------------- "ConstructorMultiRef(ForceReadOnly)"
79+
move, ro ⊢ [p0, p1]: &mut &mut T
80+
81+
ref, ro ⊢ [p0, p1]: T
82+
------------------------------ "ConstructorMultiRef(ForceReadOnly)"
83+
ref mut, ro ⊢ [p0, p1]: &mut T
84+
85+
move, rop: T
86+
---------------- "Deref(EatOuter)"
87+
move, m&p: &T
88+
89+
move, rop: T
90+
------------------------------------ "Deref(EatOuter)"
91+
ref, m&p: T, T is not a reference
92+
93+
move, mp: T
94+
------------------------ "Deref(EatOuter)"
95+
move, m&mut p: &mut T
96+
97+
move, mp: T
98+
-------------------------------------------- "Deref(EatOuter)"
99+
ref mut, m&mut p: T, T is not a reference
100+
101+
move, rop: T
102+
--------------- "Deref(EatBoth)"
103+
ref, m&p: &T
104+
105+
move, rop: T
106+
------------------- "Deref(EatBoth)"
107+
ref mut, m&p: &T
108+
109+
move, mp: T
110+
----------------------- "Deref(EatBoth)"
111+
ref, m&mut p: &mut T
112+
113+
move, mp: T
114+
--------------------------- "Deref(EatBoth)"
115+
ref mut, m&mut p: &mut T
116+
117+
move, rop: T
118+
----------------------- "Deref(EatBoth, FallbackToOuter(EatBoth))"
119+
ref mut, m&mut p: &T
120+
121+
move, rop: T
122+
-------------------- "DerefMutWithShared(EatOuter)"
123+
move, m&p: &mut T
124+
125+
move, rop: T
126+
---------------------------------------- "DerefMutWithShared(EatOuter)"
127+
ref mut, m&p: T, T is not a reference
128+
129+
move, rop: T
130+
------------------- "DerefMutWithShared(EatBoth)"
131+
ref, m&p: &mut T
132+
133+
move, rop: T
134+
----------------------- "DerefMutWithShared(EatBoth)"
135+
ref mut, m&p: &mut T
136+
137+
bm, mref x: T
138+
----------------- "RefBindingResetBindingMode"
139+
ref, mref x: T
140+
141+
bm, mref x: T
142+
--------------------- "RefBindingResetBindingMode"
143+
ref mut, mref x: T
144+
145+
bm, mref mut x: T
146+
--------------------- "RefBindingResetBindingMode"
147+
ref, mref mut x: T
148+
149+
bm, mref mut x: T
150+
------------------------- "RefBindingResetBindingMode"
151+
ref mut, mref mut x: T
152+
153+
bm, mmut x: T
154+
----------------- "MutBindingResetBindingMode"
155+
ref, mmut x: T
156+
157+
bm, mmut x: T
158+
--------------------- "MutBindingResetBindingMode"
159+
ref mut, mmut x: T
160+
161+
ref, mx: T
162+
------------------ "BindingBorrow"
163+
move, mref x: T
164+
165+
ref mut, mx: T
166+
---------------------- "BindingBorrow"
167+
move, mref mut x: T
168+
169+
170+
------------ "Binding"
171+
bm, mx: T
172+
173+
174+
------------------ "Binding"
175+
move, mmut x: T

0 commit comments

Comments
 (0)