Adding new ui test for trait impl
This commit is contained in:
parent
176225c4dd
commit
5df7a2c863
3 changed files with 54 additions and 1 deletions
|
|
@ -40,7 +40,6 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> {
|
|||
let node_id = self.tcx.hir.as_local_node_id(id).unwrap();
|
||||
match self.tcx.hir.find(node_id) {
|
||||
Some(hir_map::NodeItem(..)) |
|
||||
Some(hir_map::NodeImplItem(..)) |
|
||||
Some(hir_map::NodeTraitItem(..)) => { /* proceed ahead */ }
|
||||
_ => return false, // inapplicable
|
||||
// we target only top-level functions
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright 2016 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.
|
||||
|
||||
trait Foo {
|
||||
|
||||
fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32;
|
||||
|
||||
}
|
||||
|
||||
impl Foo for () {
|
||||
|
||||
fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 {
|
||||
|
||||
if x > y { x } else { y }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
error[E0312]: lifetime of reference outlives lifetime of borrowed content...
|
||||
--> $DIR/ex1-return-one-existing-name-if-else-using-impl.rs:21:20
|
||||
|
|
||||
21 | if x > y { x } else { y }
|
||||
| ^
|
||||
|
|
||||
note: ...the reference is valid for the lifetime 'a as defined on the method body at 19:5...
|
||||
--> $DIR/ex1-return-one-existing-name-if-else-using-impl.rs:19:5
|
||||
|
|
||||
19 | / fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 {
|
||||
20 | |
|
||||
21 | | if x > y { x } else { y }
|
||||
22 | |
|
||||
23 | | }
|
||||
| |_____^
|
||||
note: ...but the borrowed content is only valid for the anonymous lifetime #1 defined on the method body at 19:5
|
||||
--> $DIR/ex1-return-one-existing-name-if-else-using-impl.rs:19:5
|
||||
|
|
||||
19 | / fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 {
|
||||
20 | |
|
||||
21 | | if x > y { x } else { y }
|
||||
22 | |
|
||||
23 | | }
|
||||
| |_____^
|
||||
|
||||
error: aborting due to previous error(s)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue