File tree Expand file tree Collapse file tree 3 files changed +68
-1
lines changed
branches/snap-stage3/src/test/compile-fail Expand file tree Collapse file tree 3 files changed +68
-1
lines changed Original file line number Diff line number Diff line change 1
1
---
2
2
refs/heads/master: 7a93beef7f692b34168ad69633f56483d38ad8fc
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
- refs/heads/snap-stage3: d58412bfa13a21718c629407939d08b8fca2edc7
4
+ refs/heads/snap-stage3: bf61bb6b7f6522dc78a7100c18282282206af14a
5
5
refs/heads/try: 1813e5aa1a03b0596b8de7abd1af31edf5d6098f
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments