From 81f0bf76672e2f4d30470920e62dc3cfe70bec6c Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Thu, 24 Sep 2015 09:40:50 -0700 Subject: [PATCH] std: Switch string::ParseError to an empty enum It can never be instantiated, so signify this by having it actually be an empty `enum`. cc #27734 --- src/libcollections/string.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs index bb65d7469ab..eb6aa4eec30 100644 --- a/src/libcollections/string.rs +++ b/src/libcollections/string.rs @@ -1030,8 +1030,8 @@ fn deref_mut(&mut self) -> &mut str { #[unstable(feature = "str_parse_error", reason = "may want to be replaced with \ Void if it ever exists", issue = "27734")] -#[derive(Copy, Clone, Debug, Eq, PartialEq)] -pub struct ParseError(()); +#[derive(Copy)] +pub enum ParseError {} #[stable(feature = "rust1", since = "1.0.0")] impl FromStr for String { @@ -1042,6 +1042,26 @@ fn from_str(s: &str) -> Result { } } +impl Clone for ParseError { + fn clone(&self) -> ParseError { + match *self {} + } +} + +impl fmt::Debug for ParseError { + fn fmt(&self, _: &mut fmt::Formatter) -> fmt::Result { + match *self {} + } +} + +impl PartialEq for ParseError { + fn eq(&self, _: &ParseError) -> bool { + match *self {} + } +} + +impl Eq for ParseError {} + /// A generic trait for converting a value to a string #[stable(feature = "rust1", since = "1.0.0")] pub trait ToString { -- 2.44.0