diff --git a/compiler/rustc_parse/src/lib.rs b/compiler/rustc_parse/src/lib.rs index 1502e5ef5496f..fa9ec01233b6e 100644 --- a/compiler/rustc_parse/src/lib.rs +++ b/compiler/rustc_parse/src/lib.rs @@ -118,16 +118,9 @@ pub fn new_parser_from_file<'a>( let msg = format!("couldn't read `{}`: {}", path.display(), e); let mut err = psess.dcx().struct_fatal(msg); if let Ok(contents) = std::fs::read(path) - && let Err(utf8err) = String::from_utf8(contents.clone()) + && let Err(utf8err) = std::str::from_utf8(&contents) { - utf8_error( - sm, - &path.display().to_string(), - sp, - &mut err, - utf8err.utf8_error(), - &contents, - ); + utf8_error(sm, &path.display().to_string(), sp, &mut err, utf8err, &contents); } if let Some(sp) = sp { err.span(sp);