mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
librustc: Use expr_ty_adjusted in trans_overloaded_call.
This commit is contained in:
parent
ae7006e373
commit
8e9e17d188
@ -1463,7 +1463,7 @@ fn trans_overloaded_call<'a>(
|
||||
// Evaluate and tuple the arguments.
|
||||
let tuple_type = ty::mk_tup(bcx.tcx(),
|
||||
args.iter()
|
||||
.map(|e| expr_ty(bcx, &**e))
|
||||
.map(|e| ty::expr_ty_adjusted(bcx.tcx(), &**e))
|
||||
.collect());
|
||||
let repr = adt::represent_type(bcx.ccx(), tuple_type);
|
||||
let numbered_fields: Vec<(uint, Gc<ast::Expr>)> =
|
||||
|
29
src/test/run-pass/issue-14958.rs
Normal file
29
src/test/run-pass/issue-14958.rs
Normal file
@ -0,0 +1,29 @@
|
||||
// Copyright 2014 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.
|
||||
|
||||
#![feature(overloaded_calls)]
|
||||
|
||||
trait Foo {}
|
||||
|
||||
struct Bar;
|
||||
|
||||
impl<'a> std::ops::Fn<(&'a Foo,), ()> for Bar {
|
||||
fn call(&self, _: (&'a Foo,)) {}
|
||||
}
|
||||
|
||||
struct Baz;
|
||||
|
||||
impl Foo for Baz {}
|
||||
|
||||
fn main() {
|
||||
let bar = Bar;
|
||||
let baz = &Baz;
|
||||
bar(baz);
|
||||
}
|
Loading…
Reference in New Issue
Block a user