about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTyler Ruckinger <t.ruckinger@gmail.com>2021-02-03 10:28:51 -0500
committerGitHub <noreply@github.com>2021-02-03 10:28:51 -0500
commit4d1efb751a8fd70a38c695a6047a837d115b8af5 (patch)
treef05ac1769da8d7e0b1bec831ca3821a8f121d88e
parent6ad11e2e25919b75ebbc36d7910f2a1126a7e873 (diff)
downloadrust-4d1efb751a8fd70a38c695a6047a837d115b8af5.tar.gz
rust-4d1efb751a8fd70a38c695a6047a837d115b8af5.zip
OsStr eq_ignore_ascii_case takes arg by value
Per a comment on #70516 this changes `eq_ignore_ascii_case` to take the generic parameter `S: AsRef<OsStr>` by value instead of by reference.

This is technically a breaking change to an unstable method. I think the only way it would break is if you called this method with an explicit type parameter, ie `my_os_str.eq_ignore_ascii_case::<str>("foo")` becomes `my_os_str.eq_ignore_ascii_case::<&str>("foo")`.

Besides that, I believe it is overall more flexible since it can now take an owned `OsString` for example.

If this change should be made in some other PR (like #80193) then please just close this.
-rw-r--r--library/std/src/ffi/os_str.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/std/src/ffi/os_str.rs b/library/std/src/ffi/os_str.rs
index 21060182d60..c9c8f68cd9c 100644
--- a/library/std/src/ffi/os_str.rs
+++ b/library/std/src/ffi/os_str.rs
@@ -826,7 +826,7 @@ impl OsStr {
     /// assert!(!OsString::from("Ferrös").eq_ignore_ascii_case("FERRÖS"));
     /// ```
     #[unstable(feature = "osstring_ascii", issue = "70516")]
-    pub fn eq_ignore_ascii_case<S: ?Sized + AsRef<OsStr>>(&self, other: &S) -> bool {
+    pub fn eq_ignore_ascii_case<S: AsRef<OsStr>>(&self, other: S) -> bool {
         self.inner.eq_ignore_ascii_case(&other.as_ref().inner)
     }
 }