diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2013-04-30 14:07:26 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2013-04-30 14:07:26 -0400 |
| commit | aa48a170d55e3003b70626b16ccd698b5aca8269 (patch) | |
| tree | df6d01830a1f49420542676320dea97e5717c264 /src | |
| parent | a896440ca1b93cc5dc6edd827ea2ae89602bfa9e (diff) | |
dataflow: fix flow of information through pattern variants
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/middle/dataflow.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/librustc/middle/dataflow.rs b/src/librustc/middle/dataflow.rs index cfdd7f95030..9d032a1839e 100644 --- a/src/librustc/middle/dataflow.rs +++ b/src/librustc/middle/dataflow.rs @@ -846,10 +846,9 @@ impl<'self, O:DataFlowOperator> PropagationContext<'self, O> { // alternatives, so we must treat this like an N-way select // statement. let initial_state = reslice(in_out).to_vec(); - self.reset(in_out); for pats.each |&pat| { let mut temp = copy initial_state; - self.walk_pat(pat, in_out, loop_scopes); + self.walk_pat(pat, temp, loop_scopes); join_bits(&self.dfcx.oper, temp, in_out); } } |
