| //@ ignore-wasm32 FIXME: ignoring wasm as it suggests slightly different impls |
| |
| // Regression test for #72616, it used to emit incorrect diagnostics, like: |
| // error[E0283]: type annotations needed for `String` |
| // --> src/main.rs:8:30 |
| // | |
| // 5 | let _: String = "".to_owned().try_into().unwrap(); |
| // | - consider giving this pattern a type |
| // ... |
| // 8 | if String::from("a") == "a".try_into().unwrap() {} |
| // | ^^ cannot infer type for struct `String` |
| // | |
| // = note: cannot satisfy `String: PartialEq<_>` |
| |
| use std::convert::TryInto; |
| |
| pub fn main() { |
| { |
| let _: String = "".to_owned().try_into().unwrap(); |
| } |
| { |
| if String::from("a") == "a".try_into().unwrap() {} |
| //~^ ERROR type annotations needed |
| //~| ERROR type annotations needed |
| } |
| { |
| let _: String = match "_".try_into() { |
| Ok(a) => a, |
| Err(_) => "".into(), |
| }; |
| } |
| } |