diff options
| author | bors <bors@rust-lang.org> | 2015-06-25 10:39:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-06-25 10:39:09 +0000 |
| commit | b213c947f80582857681a8b8ed4033627997e7e5 (patch) | |
| tree | 6204f301e058210a747f48920cde62ac8e7685c4 /src | |
| parent | 688b62382c3eeeb0086eb4ada8ad25b08883960e (diff) | |
| parent | db9af26d762e15b7f96194145d7b1c17328db021 (diff) | |
| download | rust-b213c947f80582857681a8b8ed4033627997e7e5.tar.gz rust-b213c947f80582857681a8b8ed4033627997e7e5.zip | |
Auto merge of #26558 - nham:fix_24357, r=alexcrichton
Fixes #24357. Also adds a (totally separate) regression test, which Closes #18119
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_borrowck/borrowck/mod.rs | 2 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-18119.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-24357.rs | 18 |
3 files changed, 41 insertions, 1 deletions
diff --git a/src/librustc_borrowck/borrowck/mod.rs b/src/librustc_borrowck/borrowck/mod.rs index 6369621779c..ec92c2ed05a 100644 --- a/src/librustc_borrowck/borrowck/mod.rs +++ b/src/librustc_borrowck/borrowck/mod.rs @@ -734,7 +734,7 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> { has type `{}`, which is {}", ol, moved_lp_msg, - expr_ty, + moved_lp.ty, suggestion)); self.tcx.sess.fileline_help(expr_span, help); } diff --git a/src/test/compile-fail/issue-18119.rs b/src/test/compile-fail/issue-18119.rs new file mode 100644 index 00000000000..1270b094534 --- /dev/null +++ b/src/test/compile-fail/issue-18119.rs @@ -0,0 +1,22 @@ +// 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. + +const X: u8 = 1; +static Y: u8 = 1; +fn foo() {} + +impl X {} +//~^ ERROR use of undeclared type name `X` +impl Y {} +//~^ ERROR use of undeclared type name `Y` +impl foo {} +//~^ ERROR use of undeclared type name `foo` + +fn main() {} diff --git a/src/test/compile-fail/issue-24357.rs b/src/test/compile-fail/issue-24357.rs new file mode 100644 index 00000000000..f193a07b85a --- /dev/null +++ b/src/test/compile-fail/issue-24357.rs @@ -0,0 +1,18 @@ +// 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 NoCopy; +fn main() { + let x = NoCopy; + let f = move || { let y = x; }; + //~^ NOTE `x` moved into closure environment here because it has type `NoCopy` + let z = x; + //~^ ERROR use of moved value: `x` +} |
