File tree 2 files changed +7
-3
lines changed
2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -281,8 +281,12 @@ impl<'tcx> MopGraph<'tcx> {
281
281
&& idx != node. index
282
282
&& node. local != results_nodes[ idx] . local
283
283
{
284
- let left_node = node;
285
- let right_node = & results_nodes[ idx] ;
284
+ let left_node;
285
+ let right_node;
286
+ match results_nodes[ idx] . local {
287
+ 0 => { left_node = & results_nodes[ idx] ; right_node = node; } ,
288
+ _ => { left_node = node; right_node = & results_nodes[ idx] ; }
289
+ }
286
290
let mut new_alias = RetAlias :: new (
287
291
left_node. local ,
288
292
left_node. may_drop ,
Original file line number Diff line number Diff line change @@ -192,8 +192,8 @@ impl<'tcx> SafeDropGraph<'tcx> {
192
192
// } else {
193
193
// self.values[lv].alias = self.values[rv].alias.clone();
194
194
// }
195
+ if lv > self . values . len ( ) || rv > self . values . len ( ) { return ; }
195
196
self . union_merge ( lv, rv) ;
196
-
197
197
for field in self . values [ rv] . fields . clone ( ) . into_iter ( ) {
198
198
if !self . values [ lv] . fields . contains_key ( & field. 0 ) {
199
199
let mut node = ValueNode :: new (
You can’t perform that action at this time.
0 commit comments