]> git.lizzy.rs Git - rust.git/blob - src/test/ui/str/str-array-assignment.stderr
Suggest borrowing in more unsized fn param cases
[rust.git] / src / test / ui / str / str-array-assignment.stderr
1 error[E0308]: `if` and `else` have incompatible types
2   --> $DIR/str-array-assignment.rs:3:37
3    |
4 LL |   let t = if true { s[..2] } else { s };
5    |                     ------          ^ expected `str`, found `&str`
6    |                     |
7    |                     expected because of this
8
9 error[E0308]: mismatched types
10   --> $DIR/str-array-assignment.rs:5:27
11    |
12 LL |   let u: &str = if true { s[..2] } else { s };
13    |                           ^^^^^^
14    |                           |
15    |                           expected `&str`, found `str`
16    |                           help: consider borrowing here: `&s[..2]`
17
18 error[E0277]: the size for values of type `str` cannot be known at compilation time
19   --> $DIR/str-array-assignment.rs:7:7
20    |
21 LL |   let v = s[..2];
22    |       ^ doesn't have a size known at compile-time
23    |
24    = help: the trait `std::marker::Sized` is not implemented for `str`
25    = note: all local variables must have a statically known size
26    = help: unsized locals are gated as an unstable feature
27 help: consider borrowing here
28    |
29 LL |   let v = &s[..2];
30    |           ^
31
32 error[E0308]: mismatched types
33   --> $DIR/str-array-assignment.rs:9:17
34    |
35 LL |   let w: &str = s[..2];
36    |          ----   ^^^^^^
37    |          |      |
38    |          |      expected `&str`, found `str`
39    |          |      help: consider borrowing here: `&s[..2]`
40    |          expected due to this
41
42 error: aborting due to 4 previous errors
43
44 Some errors have detailed explanations: E0277, E0308.
45 For more information about an error, try `rustc --explain E0277`.