Skip to content

Commit 8b31d7b

Browse files
committed
---
yaml --- r: 52160 b: refs/heads/dist-snap c: 2d1ce01 h: refs/heads/master v: v3
1 parent 7977215 commit 8b31d7b

File tree

2 files changed

+11
-2
lines changed
  • branches/dist-snap/src/librustc/middle/typeck/infer

2 files changed

+11
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
99
refs/heads/incoming: 44d4d6de762f3f9aae1fedcf454c66b79b3ad58d
10-
refs/heads/dist-snap: b43e639bf65cb0935fa75da81d1da282c0cdc8f2
10+
refs/heads/dist-snap: 2d1ce01a8a8ef491d0490b5627c9b21076c03c10
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1212
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1313
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0

branches/dist-snap/src/librustc/middle/typeck/infer/mod.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,10 +737,19 @@ impl infer_ctxt {
737737
fn type_error_message(sp: span, mk_msg: fn(~str) -> ~str,
738738
actual_ty: ty::t, err: Option<&ty::type_err>) {
739739
let actual_ty = self.resolve_type_vars_if_possible(actual_ty);
740+
let mut actual_sty = ty::get(copy actual_ty);
740741

741742
// Don't report an error if actual type is ty_err.
742-
match ty::get(actual_ty).sty {
743+
match actual_sty.sty {
743744
ty::ty_err => return,
745+
// Should really not report an error if the type
746+
// has ty_err anywhere as a component, but that's
747+
// annoying since we haven't written a visitor for
748+
// ty::t yet
749+
ty::ty_fn(ref fty) => match ty::get(fty.sig.output).sty {
750+
ty::ty_err => return,
751+
_ => ()
752+
},
744753
_ => ()
745754
}
746755
let error_str = err.map_default(~"", |t_err|

0 commit comments

Comments
 (0)