about summary refs log tree commit diff
path: root/src/test/ui/suggestions/str-array-assignment.stderr
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2017-11-24 14:47:40 -0800
committerEsteban Küber <esteban@kuber.com.ar>2017-11-25 06:08:30 -0800
commitfa6ae4c82872d4cd325072400a04e386f4004dc3 (patch)
treef962b080a96d91f5096334c22b3a3d3c44c645f8 /src/test/ui/suggestions/str-array-assignment.stderr
parent71da1c21ebc79f19e749344c8b4e2c13f533872e (diff)
downloadrust-fa6ae4c82872d4cd325072400a04e386f4004dc3.tar.gz
rust-fa6ae4c82872d4cd325072400a04e386f4004dc3.zip
Suggest using slice when encountering `let x = ""[..];`
Diffstat (limited to 'src/test/ui/suggestions/str-array-assignment.stderr')
-rw-r--r--src/test/ui/suggestions/str-array-assignment.stderr44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/str-array-assignment.stderr b/src/test/ui/suggestions/str-array-assignment.stderr
new file mode 100644
index 00000000000..225dfbd98fd
--- /dev/null
+++ b/src/test/ui/suggestions/str-array-assignment.stderr
@@ -0,0 +1,44 @@
+error[E0308]: if and else have incompatible types
+  --> $DIR/str-array-assignment.rs:13:11
+   |
+13 |   let t = if true { s[..2] } else { s };
+   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected str, found &str
+   |
+   = note: expected type `str`
+              found type `&str`
+
+error[E0308]: mismatched types
+  --> $DIR/str-array-assignment.rs:14:27
+   |
+11 | fn main() {
+   |           - expected `()` because of default return type
+...
+14 |   let u: &str = if true { s[..2] } else { s };
+   |                           ^^^^^^ expected &str, found str
+   |
+   = note: expected type `&str`
+              found type `str`
+
+error[E0277]: the trait bound `str: std::marker::Sized` is not satisfied
+  --> $DIR/str-array-assignment.rs:15:7
+   |
+15 |   let v = s[..2];
+   |       ^   ------ help: consider a slice instead: `&s[..2]`
+   |       |
+   |       `str` does not have a constant size known at compile-time
+   |
+   = help: the trait `std::marker::Sized` is not implemented for `str`
+   = note: all local variables must have a statically known size
+
+error[E0308]: mismatched types
+  --> $DIR/str-array-assignment.rs:16:17
+   |
+16 |   let w: &str = s[..2];
+   |                 ^^^^^^ expected &str, found str
+   |
+   = note: expected type `&str`
+              found type `str`
+   = help: try with `&s[..2]`
+
+error: aborting due to 4 previous errors
+