diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c5e5a1f0..948c0c6a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,6 +53,7 @@ jobs: if: | matrix.rust == '1.82.0' run: | + cargo update -p idna_adapter --precise 1.2.1 cargo update -p icu_normalizer --precise 2.0.1 cargo update -p icu_provider --precise 2.0.0 cargo update -p icu_locale_core --precise 2.0.1 diff --git a/url/src/parser.rs b/url/src/parser.rs index dbdf9b906..e4ca557c0 100644 --- a/url/src/parser.rs +++ b/url/src/parser.rs @@ -529,9 +529,8 @@ impl Parser<'_> { self.serialization.push_str("file://"); let scheme_end = "file".len() as u32; let host_start = "file://".len() as u32; - let (path_start, mut host, remaining) = - self.parse_file_host(input_after_next_char)?; - let mut host_end = to_u32(self.serialization.len())?; + let (path_start, host, remaining) = self.parse_file_host(input_after_next_char)?; + let host_end = to_u32(self.serialization.len())?; let mut has_host = !matches!(host, HostInternal::None); let remaining = if path_start { self.parse_path_start(SchemeType::File, &mut has_host, remaining) @@ -541,14 +540,6 @@ impl Parser<'_> { self.parse_path(SchemeType::File, &mut has_host, path_start, remaining) }; - // For file URLs that have a host and whose path starts - // with the windows drive letter we just remove the host. - if !has_host { - self.serialization - .drain(host_start as usize..host_end as usize); - host_end = host_start; - host = HostInternal::None; - } let (query_start, fragment_start) = self.parse_query_and_fragment(scheme_type, scheme_end, remaining)?; return Ok(Url { diff --git a/url/tests/expected_failures.txt b/url/tests/expected_failures.txt index 8d4407c45..75b6ab7cb 100644 --- a/url/tests/expected_failures.txt +++ b/url/tests/expected_failures.txt @@ -19,9 +19,6 @@ against against against - - - against against against