File: self-without-lifetime-constraint.stderr

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (29 lines) | stat: -rw-r--r-- 1,950 bytes parent folder | download | duplicates (5)
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
error: `impl` item signature doesn't match `trait` item signature
  --> $DIR/self-without-lifetime-constraint.rs:46:5
   |
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |     -------------------------------------------------------------------- expected `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>`
...
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<&str, &&str> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>`
   |
   = note: expected signature `fn(ValueRef<'1>) -> Result<(&'2 str, &'1 &'2 str), FromSqlError>`
              found signature `fn(ValueRef<'1>) -> Result<(&'1 str, &'1 &'1 str), FromSqlError>`
help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
  --> $DIR/self-without-lifetime-constraint.rs:42:60
   |
LL |     fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self, &Self>;
   |                                                            ^^^^ consider borrowing this type parameter in the trait

error[E0515]: cannot return value referencing function parameter `x`
  --> $DIR/self-without-lifetime-constraint.rs:17:87
   |
LL |                 std::str::from_utf8(t).map_err(|_| FromSqlError::InvalidType).map(|x| (x, &x))
   |                                                                                       ^^^^--^
   |                                                                                       |   |
   |                                                                                       |   `x` is borrowed here
   |                                                                                       returns a value referencing data owned by the current function

error: aborting due to 2 previous errors

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