Skip to content

Commit 528821b

Browse files
committed
---
yaml --- r: 133045 b: refs/heads/dist-snap c: 7932b71 h: refs/heads/master i: 133043: 042e026 v: v3
1 parent f55b0e2 commit 528821b

File tree

4 files changed

+49
-5
lines changed

4 files changed

+49
-5
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ refs/heads/try: 457a3c991d79b971be07fce75f9d0c12848fb37c
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9-
refs/heads/dist-snap: 08364a4cacdcd6f161e0fb0ab573ae825e22447b
9+
refs/heads/dist-snap: 7932b719ec2b65acfa8c3e74aad29346d47ee992
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/expr_use_visitor.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ impl<'d,'t,TYPER:mc::Typer> ExprUseVisitor<'d,'t,TYPER> {
234234
decl: &ast::FnDecl,
235235
body: &ast::Block) {
236236
for arg in decl.inputs.iter() {
237-
let arg_ty = ty::node_id_to_type(self.tcx(), arg.pat.id);
237+
let arg_ty = return_if_err!(self.typer.node_ty(arg.pat.id));
238238

239239
let arg_cmt = self.mc.cat_rvalue(
240240
arg.id,
@@ -414,7 +414,7 @@ impl<'d,'t,TYPER:mc::Typer> ExprUseVisitor<'d,'t,TYPER> {
414414

415415
// Fetch the type of the value that the iteration yields to
416416
// produce the pattern's categorized mutable type.
417-
let pattern_type = ty::node_id_to_type(self.tcx(), pat.id);
417+
let pattern_type = return_if_err!(self.typer.node_ty(pat.id));
418418
let pat_cmt = self.mc.cat_rvalue(pat.id,
419419
pat.span,
420420
ty::ReScope(blk.id),
@@ -820,7 +820,7 @@ impl<'d,'t,TYPER:mc::Typer> ExprUseVisitor<'d,'t,TYPER> {
820820
pat.repr(tcx));
821821

822822
// pat_ty: the type of the binding being produced.
823-
let pat_ty = ty::node_id_to_type(tcx, pat.id);
823+
let pat_ty = return_if_err!(typer.node_ty(pat.id));
824824

825825
// Each match binding is effectively an assignment to the
826826
// binding being produced.
@@ -963,7 +963,7 @@ impl<'d,'t,TYPER:mc::Typer> ExprUseVisitor<'d,'t,TYPER> {
963963
// Create the cmt for the variable being borrowed, from the
964964
// caller's perspective
965965
let var_id = upvar_def.def_id().node;
966-
let var_ty = ty::node_id_to_type(self.tcx(), var_id);
966+
let var_ty = try!(self.typer.node_ty(var_id));
967967
self.mc.cat_def(closure_id, closure_span, var_ty, upvar_def)
968968
}
969969
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#![crate_type = "lib"]
12+
13+
pub struct TreeBuilder<H>;
14+
15+
impl<H> TreeBuilder<H> {
16+
pub fn process_token(&mut self) {
17+
match self {
18+
_ => for _y in *self {}
19+
}
20+
}
21+
}
22+
23+
impl<H> Iterator<H> for TreeBuilder<H> {
24+
fn next(&mut self) -> Option<H> {
25+
None
26+
}
27+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// aux-build:issue-16643.rs
12+
13+
extern crate i = "issue-16643";
14+
15+
pub fn main() {
16+
i::TreeBuilder::<uint>.process_token();
17+
}

0 commit comments

Comments
 (0)