Use absolute paths to Ok and Err

This commit is contained in:
David Tolnay
2017-02-01 09:42:12 -08:00
parent d960571439
commit b7ca574bb3
4 changed files with 27 additions and 23 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ use collections::borrow::Cow;
pub use core::default::Default; pub use core::default::Default;
pub use core::fmt; pub use core::fmt;
pub use core::marker::PhantomData; pub use core::marker::PhantomData;
pub use core::result::Result; pub use core::result::Result::{self, Ok, Err};
#[cfg(any(feature = "collections", feature = "std"))] #[cfg(any(feature = "collections", feature = "std"))]
pub fn from_utf8_lossy(bytes: &[u8]) -> Cow<str> { pub fn from_utf8_lossy(bytes: &[u8]) -> Cow<str> {
+20 -20
View File
@@ -216,14 +216,14 @@ fn deserialize_unit_struct(
fn visit_unit<__E>(self) -> _serde::export::Result<#type_ident, __E> fn visit_unit<__E>(self) -> _serde::export::Result<#type_ident, __E>
where __E: _serde::de::Error, where __E: _serde::de::Error,
{ {
Ok(#type_ident) _serde::export::Ok(#type_ident)
} }
#[inline] #[inline]
fn visit_seq<__V>(self, _: __V) -> _serde::export::Result<#type_ident, __V::Error> fn visit_seq<__V>(self, _: __V) -> _serde::export::Result<#type_ident, __V::Error>
where __V: _serde::de::SeqVisitor, where __V: _serde::de::SeqVisitor,
{ {
Ok(#type_ident) _serde::export::Ok(#type_ident)
} }
} }
@@ -357,7 +357,7 @@ fn deserialize_seq(
let #var = match #visit { let #var = match #visit {
Some(value) => { value }, Some(value) => { value },
None => { None => {
return Err(_serde::de::Error::invalid_length(#index_in_seq, &#expecting)); return _serde::export::Err(_serde::de::Error::invalid_length(#index_in_seq, &#expecting));
} }
}; };
}; };
@@ -379,7 +379,7 @@ fn deserialize_seq(
quote! { quote! {
#(#let_values)* #(#let_values)*
Ok(#result) _serde::export::Ok(#result)
} }
} }
@@ -411,7 +411,7 @@ fn deserialize_newtype_struct(
fn visit_newtype_struct<__E>(self, __e: __E) -> _serde::export::Result<Self::Value, __E::Error> fn visit_newtype_struct<__E>(self, __e: __E) -> _serde::export::Result<Self::Value, __E::Error>
where __E: _serde::Deserializer, where __E: _serde::Deserializer,
{ {
Ok(#type_path(#value)) _serde::export::Ok(#type_path(#value))
} }
} }
} }
@@ -563,8 +563,8 @@ fn deserialize_item_enum(
// all variants have `#[serde(skip_deserializing)]`. // all variants have `#[serde(skip_deserializing)]`.
quote! { quote! {
// FIXME: Once we drop support for Rust 1.15: // FIXME: Once we drop support for Rust 1.15:
// let Err(err) = visitor.visit_variant::<__Field>(); // let _serde::export::Err(err) = visitor.visit_variant::<__Field>();
// Err(err) // _serde::export::Err(err)
visitor.visit_variant::<__Field>().map(|(impossible, _)| match impossible {}) visitor.visit_variant::<__Field>().map(|(impossible, _)| match impossible {})
} }
} else { } else {
@@ -615,7 +615,7 @@ fn deserialize_variant(
Style::Unit => { Style::Unit => {
quote!({ quote!({
try!(_serde::de::VariantVisitor::visit_unit(visitor)); try!(_serde::de::VariantVisitor::visit_unit(visitor));
Ok(#type_ident::#variant_ident) _serde::export::Ok(#type_ident::#variant_ident)
}) })
} }
Style::Newtype => { Style::Newtype => {
@@ -673,7 +673,7 @@ fn deserialize_newtype_variant(
} }
}; };
quote! { quote! {
Ok(#type_ident::#variant_ident(#visit)), _serde::export::Ok(#type_ident::#variant_ident(#visit)),
} }
} }
@@ -701,9 +701,9 @@ fn deserialize_field_visitor(
{ {
match value { match value {
#( #(
#variant_indices => Ok(__Field::#field_idents), #variant_indices => _serde::export::Ok(__Field::#field_idents),
)* )*
_ => Err(_serde::de::Error::invalid_value( _ => _serde::export::Err(_serde::de::Error::invalid_value(
_serde::de::Unexpected::Unsigned(value as u64), _serde::de::Unexpected::Unsigned(value as u64),
&#fallthrough_msg)) &#fallthrough_msg))
} }
@@ -715,15 +715,15 @@ fn deserialize_field_visitor(
let fallthrough_arm = if is_variant { let fallthrough_arm = if is_variant {
quote! { quote! {
Err(_serde::de::Error::unknown_variant(value, VARIANTS)) _serde::export::Err(_serde::de::Error::unknown_variant(value, VARIANTS))
} }
} else if item_attrs.deny_unknown_fields() { } else if item_attrs.deny_unknown_fields() {
quote! { quote! {
Err(_serde::de::Error::unknown_field(value, FIELDS)) _serde::export::Err(_serde::de::Error::unknown_field(value, FIELDS))
} }
} else { } else {
quote! { quote! {
Ok(__Field::__ignore) _serde::export::Ok(__Field::__ignore)
} }
}; };
@@ -765,7 +765,7 @@ fn deserialize_field_visitor(
{ {
match value { match value {
#( #(
#field_strs => Ok(__Field::#field_idents), #field_strs => _serde::export::Ok(__Field::#field_idents),
)* )*
_ => #fallthrough_arm _ => #fallthrough_arm
} }
@@ -776,7 +776,7 @@ fn deserialize_field_visitor(
{ {
match value { match value {
#( #(
#field_bytes => Ok(__Field::#field_idents), #field_bytes => _serde::export::Ok(__Field::#field_idents),
)* )*
_ => { _ => {
#bytes_to_str #bytes_to_str
@@ -878,7 +878,7 @@ fn deserialize_map(
quote! { quote! {
__Field::#name => { __Field::#name => {
if #name.is_some() { if #name.is_some() {
return Err(<__V::Error as _serde::de::Error>::duplicate_field(#deser_name)); return _serde::export::Err(<__V::Error as _serde::de::Error>::duplicate_field(#deser_name));
} }
#name = Some(#visit); #name = Some(#visit);
} }
@@ -943,7 +943,7 @@ fn deserialize_map(
#(#extract_values)* #(#extract_values)*
Ok(#struct_path { #(#result),* }) _serde::export::Ok(#struct_path { #(#result),* })
} }
} }
@@ -990,7 +990,7 @@ fn wrap_deserialize_with(
where __D: _serde::Deserializer where __D: _serde::Deserializer
{ {
let value = try!(#deserialize_with(__d)); let value = try!(#deserialize_with(__d));
Ok(__SerdeDeserializeWithStruct { _serde::export::Ok(__SerdeDeserializeWithStruct {
value: value, value: value,
phantom: _serde::export::PhantomData, phantom: _serde::export::PhantomData,
}) })
@@ -1021,7 +1021,7 @@ fn expr_is_missing(attrs: &attr::Field) -> Tokens {
} }
Some(_) => { Some(_) => {
quote! { quote! {
return Err(<__V::Error as _serde::de::Error>::missing_field(#name)) return _serde::export::Err(<__V::Error as _serde::de::Error>::missing_field(#name))
} }
} }
} }
+1 -1
View File
@@ -260,7 +260,7 @@ fn serialize_variant(
let skipped_msg = format!("the enum variant {}::{} cannot be serialized", let skipped_msg = format!("the enum variant {}::{} cannot be serialized",
type_ident, variant_ident); type_ident, variant_ident);
let skipped_err = quote! { let skipped_err = quote! {
Err(_serde::ser::Error::custom(#skipped_msg)) _serde::export::Err(_serde::ser::Error::custom(#skipped_msg))
}; };
let fields_pat = match variant.style { let fields_pat = match variant.style {
Style::Unit => quote!(), Style::Unit => quote!(),
+5 -1
View File
@@ -8,11 +8,15 @@ use self::serde::de::{Deserialize, Deserializer};
use std::borrow::Cow; use std::borrow::Cow;
use std::marker::PhantomData; use std::marker::PhantomData;
use std::result::Result as StdResult;
// Try to trip up the generated code if it fails to use fully qualified paths. // Try to trip up the generated code if it fails to use fully qualified paths.
#[allow(dead_code)] #[allow(dead_code)]
struct Result; struct Result;
use std::result::Result as StdResult; #[allow(dead_code)]
struct Ok;
#[allow(dead_code)]
struct Err;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////