Skip to content

Commit 3c891a8

Browse files
edwardwalexcrichton
authored andcommitted
---
yaml --- r: 121439 b: refs/heads/snap-stage3 c: bf61bb6 h: refs/heads/master i: 121437: 442d916 121435: f7b078e 121431: acd9736 121423: 67fe9ef 121407: b488d6f v: v3
1 parent 49ef0ec commit 3c891a8

File tree

3 files changed

+68
-1
lines changed

3 files changed

+68
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 7a93beef7f692b34168ad69633f56483d38ad8fc
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: d58412bfa13a21718c629407939d08b8fca2edc7
4+
refs/heads/snap-stage3: bf61bb6b7f6522dc78a7100c18282282206af14a
55
refs/heads/try: 1813e5aa1a03b0596b8de7abd1af31edf5d6098f
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
trait Foo {}
12+
13+
struct A;
14+
15+
impl Foo for A {}
16+
17+
struct B<'a>(&'a Foo);
18+
19+
fn foo<'a>(a: &Foo) -> B<'a> {
20+
B(a) //~ ERROR cannot infer an appropriate lifetime
21+
}
22+
23+
fn main() {
24+
let _test = foo(&A);
25+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
trait X {
12+
fn get_i(&self) -> int;
13+
}
14+
15+
16+
struct B {
17+
i: int
18+
}
19+
20+
impl X for B {
21+
fn get_i(&self) -> int {
22+
self.i
23+
}
24+
}
25+
26+
struct A<'a> {
27+
p: &'a X
28+
}
29+
30+
fn make_a<'a>(p: &'a X) -> A<'a> {
31+
A { p: p }
32+
}
33+
34+
fn make_make_a() -> A {
35+
let b: Box<B> = box B {i:1};
36+
let bb: &B = b; //~ ERROR does not live long enough
37+
make_a(bb)
38+
}
39+
40+
fn main() {
41+
let _a = make_make_a();
42+
}

0 commit comments

Comments
 (0)