File: ex1b-return-no-names-if-else.stderr

package info (click to toggle)
rustc-web 1.78.0%2Bdfsg1-2~deb11u3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,245,360 kB
  • sloc: xml: 147,985; javascript: 18,022; sh: 11,083; python: 10,265; ansic: 6,172; cpp: 5,023; asm: 4,390; makefile: 4,269
file content (31 lines) | stat: -rw-r--r-- 1,272 bytes parent folder | download
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
error[E0106]: missing lifetime specifier
  --> $DIR/ex1b-return-no-names-if-else.rs:1:29
   |
LL | fn foo(x: &i32, y: &i32) -> &i32 {
   |           ----     ----     ^ expected named lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y`
help: consider introducing a named lifetime parameter
   |
LL | fn foo<'a>(x: &'a i32, y: &'a i32) -> &'a i32 {
   |       ++++     ++          ++          ++

error: lifetime may not live long enough
  --> $DIR/ex1b-return-no-names-if-else.rs:2:16
   |
LL | fn foo(x: &i32, y: &i32) -> &i32 {
   |           - let's call the lifetime of this reference `'1`
LL |     if x > y { x } else { y }
   |                ^ returning this value requires that `'1` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/ex1b-return-no-names-if-else.rs:2:27
   |
LL | fn foo(x: &i32, y: &i32) -> &i32 {
   |                    - let's call the lifetime of this reference `'2`
LL |     if x > y { x } else { y }
   |                           ^ returning this value requires that `'2` must outlive `'static`

error: aborting due to 3 previous errors

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