1 error[E0308]: mismatched types
2 --> $DIR/type-ascription-precedence.rs:41:7
4 LL | &(S: &S); //~ ERROR mismatched types
5 | ^ expected &S, found struct `S`
7 = note: expected type `&S`
10 error[E0308]: mismatched types
11 --> $DIR/type-ascription-precedence.rs:45:7
13 LL | *(S: Z); //~ ERROR mismatched types
14 | ^ expected struct `Z`, found struct `S`
16 = note: expected type `Z`
19 error[E0614]: type `Z` cannot be dereferenced
20 --> $DIR/type-ascription-precedence.rs:45:5
22 LL | *(S: Z); //~ ERROR mismatched types
25 error[E0308]: mismatched types
26 --> $DIR/type-ascription-precedence.rs:50:7
28 LL | -(S: Z); //~ ERROR mismatched types
29 | ^ expected struct `Z`, found struct `S`
31 = note: expected type `Z`
34 error[E0600]: cannot apply unary operator `-` to type `Z`
35 --> $DIR/type-ascription-precedence.rs:50:5
37 LL | -(S: Z); //~ ERROR mismatched types
38 | ^^^^^^^ cannot apply unary operator `-`
40 = note: an implementation of `std::ops::Neg` might be missing for `Z`
42 error[E0308]: mismatched types
43 --> $DIR/type-ascription-precedence.rs:55:5
45 LL | (S + Z): Z; //~ ERROR mismatched types
46 | ^^^^^^^ expected struct `Z`, found struct `S`
48 = note: expected type `Z`
51 error[E0308]: mismatched types
52 --> $DIR/type-ascription-precedence.rs:59:5
54 LL | (S * Z): Z; //~ ERROR mismatched types
55 | ^^^^^^^ expected struct `Z`, found struct `S`
57 = note: expected type `Z`
60 error[E0308]: mismatched types
61 --> $DIR/type-ascription-precedence.rs:63:5
63 LL | (S .. S): S; //~ ERROR mismatched types
64 | ^^^^^^^^ expected struct `S`, found struct `std::ops::Range`
66 = note: expected type `S`
67 found type `std::ops::Range<S>`
69 error: aborting due to 8 previous errors
71 Some errors occurred: E0308, E0600, E0614.
72 For more information about an error, try `rustc --explain E0308`.