summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lifetimes/issue-26638.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lifetimes/issue-26638.stderr')
-rw-r--r--src/test/ui/lifetimes/issue-26638.stderr73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/test/ui/lifetimes/issue-26638.stderr b/src/test/ui/lifetimes/issue-26638.stderr
new file mode 100644
index 000000000..f3af5cf5a
--- /dev/null
+++ b/src/test/ui/lifetimes/issue-26638.stderr
@@ -0,0 +1,73 @@
+error[E0106]: missing lifetime specifier
+ --> $DIR/issue-26638.rs:1:62
+ |
+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
+help: consider introducing a named lifetime parameter
+ |
+LL | fn parse_type<'a>(iter: Box<dyn Iterator<Item=&'a str>+'static>) -> &'a str { iter.next() }
+ | ++++ ++ ++
+
+error[E0106]: missing lifetime specifier
+ --> $DIR/issue-26638.rs:5:40
+ |
+LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
+ | ^ 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
+ |
+LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &'static str { iter() }
+ | +++++++
+
+error[E0106]: missing lifetime specifier
+ --> $DIR/issue-26638.rs:10:22
+ |
+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
+ |
+LL | fn parse_type_3() -> &'static str { unimplemented!() }
+ | +++++++
+
+error[E0308]: mismatched types
+ --> $DIR/issue-26638.rs:1:69
+ |
+LL | fn parse_type(iter: Box<dyn Iterator<Item=&str>+'static>) -> &str { iter.next() }
+ | ---- ^^^^^^^^^^^ expected `&str`, found enum `Option`
+ | |
+ | expected `&'static str` because of return type
+ |
+ = note: expected reference `&'static str`
+ found enum `Option<&str>`
+
+error[E0061]: this function takes 1 argument but 0 arguments were supplied
+ --> $DIR/issue-26638.rs:5:47
+ |
+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 */) }
+ | ~~~~~~~~~~~~~~~
+
+error[E0308]: mismatched types
+ --> $DIR/issue-26638.rs:5:47
+ |
+LL | fn parse_type_2(iter: fn(&u8)->&u8) -> &str { iter() }
+ | ---- ^^^^^^ expected `str`, found `u8`
+ | |
+ | expected `&'static str` because of return type
+ |
+ = note: expected reference `&'static str`
+ found reference `&u8`
+
+error: aborting due to 6 previous errors
+
+Some errors have detailed explanations: E0061, E0106, E0308.
+For more information about an error, try `rustc --explain E0061`.