diff options
Diffstat (limited to 'third_party/rust/num-derive/src/test.rs')
-rw-r--r-- | third_party/rust/num-derive/src/test.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/rust/num-derive/src/test.rs b/third_party/rust/num-derive/src/test.rs new file mode 100644 index 0000000000..c4cd7fe528 --- /dev/null +++ b/third_party/rust/num-derive/src/test.rs @@ -0,0 +1,31 @@ +//! This module uses doc-tests on modules for `compile_fail` + +// We need "syn/full" to parse macros. +// Use `--nocapture` to check the quality of the error message. +#[cfg(not(feature = "full-syntax"))] +/// ```compile_fail +/// macro_rules! get_an_isize { +/// () => (0_isize) +/// } +/// +/// #[derive(num_derive::FromPrimitive)] +/// pub enum CLikeEnum { +/// VarA = get_an_isize!(), // error without "syn/full" +/// VarB = 2, +/// } +/// ``` +mod issue16 {} + +#[cfg(feature = "full-syntax")] +/// ``` +/// macro_rules! get_an_isize { +/// () => (0_isize) +/// } +/// +/// #[derive(num_derive::FromPrimitive)] +/// pub enum CLikeEnum { +/// VarA = get_an_isize!(), // ok with "syn/full" +/// VarB = 2, +/// } +/// ``` +mod issue16 {} |