]> git.lizzy.rs Git - rust.git/commit
Provide hint when cast needs a dereference
authorEsteban Küber <esteban@kuber.com.ar>
Fri, 28 Oct 2016 02:02:27 +0000 (19:02 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Sun, 20 Nov 2016 01:17:02 +0000 (17:17 -0800)
commitec24442e60bce2605a64ac3aef5784510e4a5fd5
tree28a579e94c392baf1a5e7fbd7155ca6985a10443
parentfb025b483a5ef96bba944055c47af620d2afb602
Provide hint when cast needs a dereference

For a given code:

```rust
vec![0.0].iter().map(|s| s as i16).collect::<Vec<i16>>();
```

display:

```nocode
error: casting `&f64` as `i16` is invalid
 --> foo.rs:2:35
  |
2 |     vec![0.0].iter().map(|s| s as i16).collect::<Vec<i16>>();
  |                              -    ^^^ cannot cast `&f64` as `i16`
  |                              |
  |                              did you mean `*s`?
```

instead of:

```nocode
error: casting `&f64` as `i16` is invalid
 --> <anon>:2:30
  |
2 |     vec![0.0].iter().map(|s| s as i16).collect();
  |                              ^^^^^^^^
  |
  = help: cast through a raw pointer first
```
src/librustc_typeck/check/cast.rs
src/test/compile-fail/cast-rfc0401.rs