1
Fork 0

Rollup merge of #32404 - WiSaGaN:feature/osstring-implement-default, r=aturon

Implement Default trait for OsString/OsStr

Fixes #32385
This commit is contained in:
Eduard-Mihai Burtescu 2016-03-23 17:59:14 +02:00
commit 2de428e1a2

View file

@ -173,6 +173,14 @@ impl ops::Deref for OsString {
} }
} }
#[stable(feature = "osstring_default", since = "1.9.0")]
impl Default for OsString {
#[inline]
fn default() -> OsString {
OsString::new()
}
}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl Debug for OsString { impl Debug for OsString {
fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> {
@ -302,6 +310,14 @@ impl OsStr {
} }
} }
#[stable(feature = "osstring_default", since = "1.9.0")]
impl<'a> Default for &'a OsStr {
#[inline]
fn default() -> &'a OsStr {
OsStr::new("")
}
}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
impl PartialEq for OsStr { impl PartialEq for OsStr {
fn eq(&self, other: &OsStr) -> bool { fn eq(&self, other: &OsStr) -> bool {
@ -554,6 +570,12 @@ mod tests {
assert!(os_string.capacity() >= 33) assert!(os_string.capacity() >= 33)
} }
#[test]
fn test_os_string_default() {
let os_string: OsString = Default::default();
assert_eq!("", &os_string);
}
#[test] #[test]
fn test_os_str_is_empty() { fn test_os_str_is_empty() {
let mut os_string = OsString::new(); let mut os_string = OsString::new();
@ -577,4 +599,10 @@ mod tests {
os_string.clear(); os_string.clear();
assert_eq!(0, os_string.len()); assert_eq!(0, os_string.len());
} }
#[test]
fn test_os_str_default() {
let os_str: &OsStr = Default::default();
assert_eq!("", os_str);
}
} }