rust/tests/ui/lifetimes/issue-26638.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

75 lines
3.3 KiB
Plaintext
Raw Normal View History

error[E0106]: missing lifetime specifier
2019-05-28 18:46:13 +00:00
--> $DIR/issue-26638.rs:1:62
|
2019-05-28 18:46:13 +00:00
LL | fn parse_type(iter: Box<dyn Iterator<Item=&str>+'static>) -> &str { iter.next() }
| ------------------------------------ ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but the signature does not say which one of `iter`'s 2 lifetimes it is borrowed from
2020-01-17 06:05:31 +00:00
help: consider introducing a named lifetime parameter
|
2022-06-05 16:33:09 +00:00
LL | fn parse_type<'a>(iter: Box<dyn Iterator<Item=&'a str>+'static>) -> &'a str { iter.next() }
| ++++ ++ ++
error[E0106]: missing lifetime specifier
2024-03-19 20:58:37 +00:00
--> $DIR/issue-26638.rs:4:40
|
2018-02-23 00:42:32 +00:00
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
| ^ expected named lifetime parameter
|
2022-06-05 16:33:09 +00:00
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`
|
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &'static str { iter() }
2022-06-05 16:33:09 +00:00
| +++++++
help: instead, you are more likely to want to change the argument to be borrowed...
|
LL | fn parse_type_2(iter: &fn(&u8)->&u8) -> &str { iter() }
| +
2023-11-14 22:41:45 +00:00
help: ...or alternatively, you might want to return an owned value
|
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> String { iter() }
| ~~~~~~
error[E0106]: missing lifetime specifier
2024-03-19 20:58:37 +00:00
--> $DIR/issue-26638.rs:9:22
|
2018-02-23 00:42:32 +00:00
LL | fn parse_type_3() -> &str { unimplemented!() }
| ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`
|
LL | fn parse_type_3() -> &'static str { unimplemented!() }
2022-06-05 16:33:09 +00:00
| +++++++
help: instead, you are more likely to want to return an owned value
|
LL | fn parse_type_3() -> String { unimplemented!() }
| ~~~~~~
2022-06-05 16:33:09 +00:00
error[E0061]: this function takes 1 argument but 0 arguments were supplied
2024-03-19 20:58:37 +00:00
--> $DIR/issue-26638.rs:4:47
2022-06-05 16:33:09 +00:00
|
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
| ^^^^-- an argument of type `&u8` is missing
|
help: provide the argument
|
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter(/* &u8 */) }
| ~~~~~~~~~~~
2022-06-05 16:33:09 +00:00
error[E0308]: mismatched types
2024-03-19 20:58:37 +00:00
--> $DIR/issue-26638.rs:4:47
2022-06-05 16:33:09 +00:00
|
LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
| ---- ^^^^^^ expected `&str`, found `&u8`
2022-06-05 16:33:09 +00:00
| |
| expected `&'static str` because of return type
|
= note: expected reference `&'static str`
found reference `&u8`
2024-03-19 20:58:37 +00:00
error: aborting due to 5 previous errors
2022-06-05 16:33:09 +00:00
Some errors have detailed explanations: E0061, E0106, E0308.
For more information about an error, try `rustc --explain E0061`.