diff --git a/src/lib.rs b/src/lib.rs index aea15530..f08b42d9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -273,6 +273,11 @@ mod macros; #[cfg(feature = "macro-diagnostics")] pub extern crate uuid_macro_internal; +#[doc(hidden)] +pub mod __macro_support { + pub use crate::std::result::Result::{Err, Ok}; +} + use crate::std::convert; pub use crate::{builder::Builder, error::Error}; diff --git a/src/macros.rs b/src/macros.rs index 281c5335..25c4ac98 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -15,8 +15,8 @@ macro_rules! define_uuid_macro { macro_rules! uuid { ($uuid:literal) => {{ const OUTPUT: $crate::Uuid = match $crate::Uuid::try_parse($uuid) { - Ok(u) => u, - Err(_) => { + $crate::__macro_support::Ok(u) => u, + $crate::__macro_support::Err(_) => { // here triggers const_err // const_panic requires 1.57 #[allow(unconditional_panic)] diff --git a/tests/ui/compile_pass/hygiene.rs b/tests/ui/compile_pass/hygiene.rs new file mode 100644 index 00000000..b2cf6f6a --- /dev/null +++ b/tests/ui/compile_pass/hygiene.rs @@ -0,0 +1,7 @@ +use uuid::{uuid, Uuid}; + +fn Ok() {} + +const _: Uuid = uuid!("00000000-0000-0000-0000-000000000000"); + +fn main() {}