diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-07-06 18:06:29 -0400 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-07-06 18:06:29 -0400 |
| commit | 539cc55018da6505b532dbdfb9f60e04f50a9250 (patch) | |
| tree | 204f70236331e95786fd9928b94b27498c060c93 | |
| parent | aef38ef8190d492607e4ca2629e0ce5889db157e (diff) | |
| parent | 0e714c19839412474ef7b7741a19f942c4327645 (diff) | |
| download | rust-539cc55018da6505b532dbdfb9f60e04f50a9250.tar.gz rust-539cc55018da6505b532dbdfb9f60e04f50a9250.zip | |
Rollup merge of #26807 - eddyb:trans-normalize, r=cmr
Fixes #26805. f? @jroesch.
| -rw-r--r-- | src/librustc_trans/trans/_match.rs | 2 | ||||
| -rw-r--r-- | src/librustc_trans/trans/common.rs | 2 | ||||
| -rw-r--r-- | src/test/run-pass/issue-26805.rs | 15 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/librustc_trans/trans/_match.rs b/src/librustc_trans/trans/_match.rs index c2397ec31cf..936b0070dfc 100644 --- a/src/librustc_trans/trans/_match.rs +++ b/src/librustc_trans/trans/_match.rs @@ -1351,7 +1351,7 @@ fn is_discr_reassigned(bcx: Block, discr: &ast::Expr, body: &ast::Expr) -> bool reassigned: false }; { - let infcx = infer::new_infer_ctxt(bcx.tcx(), &bcx.tcx().tables, None, false); + let infcx = infer::normalizing_infer_ctxt(bcx.tcx(), &bcx.tcx().tables); let mut visitor = euv::ExprUseVisitor::new(&mut rc, &infcx); visitor.walk_expr(body); } diff --git a/src/librustc_trans/trans/common.rs b/src/librustc_trans/trans/common.rs index e1c1ac9a772..a4559708bf4 100644 --- a/src/librustc_trans/trans/common.rs +++ b/src/librustc_trans/trans/common.rs @@ -936,7 +936,7 @@ pub fn normalize_and_test_predicates<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, predicates); let tcx = ccx.tcx(); - let infcx = infer::new_infer_ctxt(tcx, &tcx.tables, None, true); + let infcx = infer::normalizing_infer_ctxt(tcx, &tcx.tables); let mut selcx = traits::SelectionContext::new(&infcx); let mut fulfill_cx = infcx.fulfillment_cx.borrow_mut(); let cause = traits::ObligationCause::dummy(); diff --git a/src/test/run-pass/issue-26805.rs b/src/test/run-pass/issue-26805.rs new file mode 100644 index 00000000000..c996c8f65ac --- /dev/null +++ b/src/test/run-pass/issue-26805.rs @@ -0,0 +1,15 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +struct NonOrd; + +fn main() { + let _: Box<Iterator<Item = _>> = Box::new(vec![NonOrd].into_iter()); +} |
