summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/chain-method-call-mutation-in-place.stderr
blob: 128160f10adb342e3099620b16ef8fce1b604255 (plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
error[E0308]: mismatched types
  --> $DIR/chain-method-call-mutation-in-place.rs:2:23
   |
LL |     let x: Vec<i32> = vec![1, 2, 3].into_iter().collect::<Vec<i32>>().sort_by_key(|i| i);
   |            --------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Vec<i32>`, found `()`
   |            |
   |            expected due to this
   |
   = note: expected struct `Vec<i32>`
           found unit type `()`
note: method `sort_by_key` modifies its receiver in-place, it is not meant to be used in method chains.
  --> $DIR/chain-method-call-mutation-in-place.rs:2:71
   |
LL |     let x: Vec<i32> = vec![1, 2, 3].into_iter().collect::<Vec<i32>>().sort_by_key(|i| i);
   |                                                                       ^^^^^^^^^^^ this call modifies its receiver in-place

error[E0599]: no method named `sort` found for unit type `()` in the current scope
  --> $DIR/chain-method-call-mutation-in-place.rs:3:72
   |
LL |     vec![1, 2, 3].into_iter().collect::<Vec<i32>>().sort_by_key(|i| i).sort();
   |                                                                        ^^^^ method not found in `()`
   |
note: method `sort_by_key` modifies its receiver in-place, it is not meant to be used in method chains.
  --> $DIR/chain-method-call-mutation-in-place.rs:3:53
   |
LL |     vec![1, 2, 3].into_iter().collect::<Vec<i32>>().sort_by_key(|i| i).sort();
   |                                                     ^^^^^^^^^^^ this call modifies its receiver in-place

error[E0308]: mismatched types
  --> $DIR/chain-method-call-mutation-in-place.rs:7:5
   |
LL | fn foo(mut s: String) -> String {
   |                          ------ expected `String` because of return type
LL |     s.push_str("asdf")
   |     ^^^^^^^^^^^^^^^^^^ expected `String`, found `()`
   |
note: method `push_str` modifies its receiver in-place
  --> $DIR/chain-method-call-mutation-in-place.rs:7:7
   |
LL |     s.push_str("asdf")
   |     - ^^^^^^^^ this call modifies `s` in-place
   |     |
   |     you probably want to use this value after calling the method...
   = note: ...instead of the `()` output of method `push_str`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.