Skip to content

Commit c0647b1

Browse files
committed
---
yaml --- r: 136982 b: refs/heads/dist-snap c: 931f59f h: refs/heads/master v: v3
1 parent 9b9dfe3 commit c0647b1

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 189b7332968972f34cdbbbd9b62d97ababf53059
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: 4e5666eace14651539ca2a1f5eed8cdf0ccfb130
9+
refs/heads/dist-snap: 931f59f214f68bf2a5656d605cb200f22d47cdf8
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1212
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustc/middle/mem_categorization.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -604,17 +604,21 @@ impl<'t,'tcx,TYPER:Typer<'tcx>> MemCategorizationContext<'t,TYPER> {
604604
ty::FnMutUnboxedClosureKind => ast::Many,
605605
ty::FnOnceUnboxedClosureKind => ast::Once,
606606
};
607-
Ok(Rc::new(cmt_ {
608-
id: id,
609-
span: span,
610-
cat: cat_copied_upvar(CopiedUpvar {
611-
upvar_id: var_id,
612-
onceness: onceness,
613-
capturing_proc: fn_node_id,
614-
}),
615-
mutbl: MutabilityCategory::from_local(self.tcx(), var_id),
616-
ty: expr_ty
617-
}))
607+
if self.typer.capture_mode(fn_node_id) == ast::CaptureByRef {
608+
self.cat_upvar(id, span, var_id, fn_node_id)
609+
} else {
610+
Ok(Rc::new(cmt_ {
611+
id: id,
612+
span: span,
613+
cat: cat_copied_upvar(CopiedUpvar {
614+
upvar_id: var_id,
615+
onceness: onceness,
616+
capturing_proc: fn_node_id,
617+
}),
618+
mutbl: MutabilityCategory::from_local(self.tcx(), var_id),
619+
ty: expr_ty
620+
}))
621+
}
618622
}
619623
_ => {
620624
self.tcx().sess.span_bug(

0 commit comments

Comments
 (0)