summary refs log tree commit diff
path: root/tests/ui/implied-bounds/impl-implied-bounds-compatibility.stderr
blob: 6a412eb5e4bee7386a0244ebcb8d99b22d2d9940 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
error[E0495]: cannot infer an appropriate lifetime for lifetime parameter 'b in generic type due to conflicting requirements
  --> $DIR/impl-implied-bounds-compatibility.rs:12:5
   |
LL |     fn listeners<'b>(&'b self) -> &'a MessageListeners<'b> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: first, the lifetime cannot outlive the lifetime `'c` as defined here...
  --> $DIR/impl-implied-bounds-compatibility.rs:12:5
   |
LL |     fn listeners<'b>(&'b self) -> &'a MessageListeners<'b> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: ...so that the method type is compatible with trait
  --> $DIR/impl-implied-bounds-compatibility.rs:12:5
   |
LL |     fn listeners<'b>(&'b self) -> &'a MessageListeners<'b> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: expected `fn(&'c MessageListeners<'_>) -> &'c MessageListeners<'c>`
              found `fn(&MessageListeners<'_>) -> &'a MessageListeners<'_>`
note: but, the lifetime must be valid for the lifetime `'a` as defined here...
  --> $DIR/impl-implied-bounds-compatibility.rs:11:6
   |
LL | impl<'a> MessageListenersInterface for MessageListeners<'a> {
   |      ^^
note: ...so that the reference type `&'a MessageListeners<'_>` does not outlive the data it points at
  --> $DIR/impl-implied-bounds-compatibility.rs:12:5
   |
LL |     fn listeners<'b>(&'b self) -> &'a MessageListeners<'b> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0495`.