diff options
Diffstat (limited to 'proc-macro-error/test-crate')
26 files changed, 0 insertions, 323 deletions
| diff --git a/proc-macro-error/test-crate/Cargo.toml b/proc-macro-error/test-crate/Cargo.toml deleted file mode 100644 index 96dadc3..0000000 --- a/proc-macro-error/test-crate/Cargo.toml +++ /dev/null @@ -1,20 +0,0 @@ -[package] -name = "test-crate" -version = "0.0.0" -authors = ["CreepySkeleton <creepy-skeleton@yandex.ru>"] -edition = "2018" -publish = false - -[lib] -proc-macro = true - -[dependencies] -proc-macro-error = { path = "../proc-macro-error"} -quote = "1" -proc-macro2 = "1" -syn = {version = "1", default-features = false } - -[dev-dependencies] -trybuild = "1.0" -rustversion = "1.0" -toml = "=0.5.2" # DO NOT BUMP diff --git a/proc-macro-error/test-crate/src/lib.rs b/proc-macro-error/test-crate/src/lib.rs deleted file mode 100644 index 2ea9175..0000000 --- a/proc-macro-error/test-crate/src/lib.rs +++ /dev/null @@ -1,123 +0,0 @@ -#[macro_use] -extern crate proc_macro_error; -#[macro_use] -extern crate syn; -extern crate proc_macro; - -use proc_macro2::Span; -use proc_macro_error::{set_dummy, Level, OptionExt, ResultExt}; -use syn::{ -    parse::{Parse, ParseStream}, -    punctuated::Punctuated, -    spanned::Spanned, -    Ident, -}; - -struct IdentOrUnderscore { -    span: Span, -    part: String, -} - -impl IdentOrUnderscore { -    fn new(span: Span, part: String) -> Self { -        IdentOrUnderscore { span, part } -    } -} - -impl Parse for IdentOrUnderscore { -    fn parse(input: ParseStream) -> syn::Result<Self> { -        let la = input.lookahead1(); - -        if la.peek(Ident) { -            let t = input.parse::<Ident>().unwrap(); -            Ok(IdentOrUnderscore::new(t.span(), t.to_string())) -        } else if la.peek(Token![_]) { -            let t = input.parse::<Token![_]>().unwrap(); -            Ok(IdentOrUnderscore::new(t.span(), "_".to_string())) -        } else { -            Err(la.error()) -        } -    } -} - -struct Args(Vec<IdentOrUnderscore>); - -impl Parse for Args { -    fn parse(input: ParseStream) -> syn::Result<Self> { -        let args = Punctuated::<_, Token![,]>::parse_terminated(input)?; -        Ok(Args(args.into_iter().collect())) -    } -} - -#[proc_macro] -#[proc_macro_error] -pub fn make_fn(input: proc_macro::TokenStream) -> proc_macro::TokenStream { -    let mut name = String::new(); -    let input = parse_macro_input!(input as Args); - -    for arg in input.0 { -        match &*arg.part { -            "abort" => abort!( -                arg.span, -                "abort! 3{} args {}", "+", "test"; -                hint = "help {} test", "message" -            ), - -            "abort_call_site" => abort_call_site!( -                "abort_call_site! 2{} args {}", "+", "test"; -                help = "help {} test", "message" -            ), - -            "direct_abort" => { -                diagnostic!(arg.span, Level::Error, "direct MacroError::abort() test").abort() -            } - -            "result_expect" => { -                let e = syn::Error::new(arg.span, "error"); -                Err(e).expect_or_abort("Result::expect_or_abort() test") -            } - -            "result_unwrap" => { -                let e = syn::Error::new(arg.span, "Result::unwrap_or_abort() test"); -                Err(e).unwrap_or_abort() -            } - -            "option_expect" => None.expect_or_abort("Option::expect_or_abort() test"), - -            "need_default" => { -                set_dummy(quote! { -                    impl Default for NeedDefault { -                        fn default() -> Self { -                            NeedDefault::A -                        } -                    } -                }); - -                abort!(arg.span, "set_dummy test") -            } - -            part if part.starts_with("multi") => { -                let no_help: Option<String> = Option::None; -                let help = Some("Option help test"); -                emit_error!( -                    arg.span, -                    "multiple error part: {}", part; -                    note = "help {} test", "message"; -                    hint =? help; -                    wow = "I see what you did here..."; -                    help =? no_help -                ) -            } - -            _ => name.push_str(&arg.part), -        } -    } - -    // test that unrelated panics are not affected -    if name.is_empty() { -        panic!("unrelated panic test") -    } - -    let name = Ident::new(&name, Span::call_site()); -    quote!( fn #name() {} ).into() -} diff --git a/proc-macro-error/test-crate/tests/macro-errors.rs b/proc-macro-error/test-crate/tests/macro-errors.rs deleted file mode 100644 index 8c672eb..0000000 --- a/proc-macro-error/test-crate/tests/macro-errors.rs +++ /dev/null @@ -1,6 +0,0 @@ -#[rustversion::attr(any(not(stable), before(1.39)), ignore)] -#[test] -fn ui() { -    let t = trybuild::TestCases::new(); -    t.compile_fail("tests/ui/*.rs"); -} diff --git a/proc-macro-error/test-crate/tests/ok.rs b/proc-macro-error/test-crate/tests/ok.rs deleted file mode 100644 index 9b6a3d1..0000000 --- a/proc-macro-error/test-crate/tests/ok.rs +++ /dev/null @@ -1,9 +0,0 @@ -extern crate test_crate; - -use test_crate::make_fn; - -make_fn!(it, _, works); - -fn main() { -    it_works(); -} diff --git a/proc-macro-error/test-crate/tests/ui/abort.rs b/proc-macro-error/test-crate/tests/ui/abort.rs deleted file mode 100644 index 717d772..0000000 --- a/proc-macro-error/test-crate/tests/ui/abort.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(abort); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/abort.stderr b/proc-macro-error/test-crate/tests/ui/abort.stderr deleted file mode 100644 index 7c4e6a0..0000000 --- a/proc-macro-error/test-crate/tests/ui/abort.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: abort! 3+ args test - -  = help: help message test - - --> $DIR/abort.rs:4:10 -  | -4 | make_fn!(abort); -  |          ^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/call_site.rs b/proc-macro-error/test-crate/tests/ui/call_site.rs deleted file mode 100644 index 7184cc4..0000000 --- a/proc-macro-error/test-crate/tests/ui/call_site.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(abort_call_site); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/call_site.stderr b/proc-macro-error/test-crate/tests/ui/call_site.stderr deleted file mode 100644 index d630a3a..0000000 --- a/proc-macro-error/test-crate/tests/ui/call_site.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: abort_call_site! 2+ args test - -  = help: help message test - - --> $DIR/call_site.rs:4:1 -  | -4 | make_fn!(abort_call_site); -  | ^^^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation diff --git a/proc-macro-error/test-crate/tests/ui/direct_abort.rs b/proc-macro-error/test-crate/tests/ui/direct_abort.rs deleted file mode 100644 index b5a4c97..0000000 --- a/proc-macro-error/test-crate/tests/ui/direct_abort.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(direct_abort); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/direct_abort.stderr b/proc-macro-error/test-crate/tests/ui/direct_abort.stderr deleted file mode 100644 index 7cfbae8..0000000 --- a/proc-macro-error/test-crate/tests/ui/direct_abort.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: direct MacroError::abort() test - --> $DIR/direct_abort.rs:4:10 -  | -4 | make_fn!(direct_abort); -  |          ^^^^^^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/dummy.rs b/proc-macro-error/test-crate/tests/ui/dummy.rs deleted file mode 100644 index 7514fe0..0000000 --- a/proc-macro-error/test-crate/tests/ui/dummy.rs +++ /dev/null @@ -1,16 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -enum NeedDefault { -    A, -    B -} - -make_fn!(need_default); - -fn main() { -    let _ = NeedDefault::default(); -} - - - diff --git a/proc-macro-error/test-crate/tests/ui/dummy.stderr b/proc-macro-error/test-crate/tests/ui/dummy.stderr deleted file mode 100644 index fd531be..0000000 --- a/proc-macro-error/test-crate/tests/ui/dummy.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: set_dummy test - --> $DIR/dummy.rs:9:10 -  | -9 | make_fn!(need_default); -  |          ^^^^^^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/multi-error.rs b/proc-macro-error/test-crate/tests/ui/multi-error.rs deleted file mode 100644 index 07fbb03..0000000 --- a/proc-macro-error/test-crate/tests/ui/multi-error.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(multi1, multi2, _, multi3); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/multi-error.stderr b/proc-macro-error/test-crate/tests/ui/multi-error.stderr deleted file mode 100644 index 25174d5..0000000 --- a/proc-macro-error/test-crate/tests/ui/multi-error.stderr +++ /dev/null @@ -1,32 +0,0 @@ -error: multiple error part: multi1 - -  = note: help message test -  = help: Option help test -  = note: I see what you did here... - - --> $DIR/multi-error.rs:4:10 -  | -4 | make_fn!(multi1, multi2, _, multi3); -  |          ^^^^^^ - -error: multiple error part: multi2 - -  = note: help message test -  = help: Option help test -  = note: I see what you did here... - - --> $DIR/multi-error.rs:4:18 -  | -4 | make_fn!(multi1, multi2, _, multi3); -  |                  ^^^^^^ - -error: multiple error part: multi3 - -  = note: help message test -  = help: Option help test -  = note: I see what you did here... - - --> $DIR/multi-error.rs:4:29 -  | -4 | make_fn!(multi1, multi2, _, multi3); -  |                             ^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/not_proc_macro.rs b/proc-macro-error/test-crate/tests/ui/not_proc_macro.rs deleted file mode 100644 index e241c5c..0000000 --- a/proc-macro-error/test-crate/tests/ui/not_proc_macro.rs +++ /dev/null @@ -1,4 +0,0 @@ -use proc_macro_error::proc_macro_error; - -#[proc_macro_error] -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/not_proc_macro.stderr b/proc-macro-error/test-crate/tests/ui/not_proc_macro.stderr deleted file mode 100644 index 52d6a09..0000000 --- a/proc-macro-error/test-crate/tests/ui/not_proc_macro.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: #[proc_macro_error] attribute can be used only with a proc-macro - -  hint: if you are really sure that #[proc_macro_error] should be applied to this exact function use #[proc_macro_error(allow_not_macro)] - - --> $DIR/not_proc_macro.rs:3:1 -  | -3 | #[proc_macro_error] -  | ^^^^^^^^^^^^^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/option_expect.rs b/proc-macro-error/test-crate/tests/ui/option_expect.rs deleted file mode 100644 index 20288ca..0000000 --- a/proc-macro-error/test-crate/tests/ui/option_expect.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(option_expect); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/option_expect.stderr b/proc-macro-error/test-crate/tests/ui/option_expect.stderr deleted file mode 100644 index dd9ecd8..0000000 --- a/proc-macro-error/test-crate/tests/ui/option_expect.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: Option::expect_or_abort() test - --> $DIR/option_expect.rs:4:1 -  | -4 | make_fn!(option_expect); -  | ^^^^^^^^^^^^^^^^^^^^^^^^ in this macro invocation diff --git a/proc-macro-error/test-crate/tests/ui/result_expect.rs b/proc-macro-error/test-crate/tests/ui/result_expect.rs deleted file mode 100644 index a42740b..0000000 --- a/proc-macro-error/test-crate/tests/ui/result_expect.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(result_expect); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/result_expect.stderr b/proc-macro-error/test-crate/tests/ui/result_expect.stderr deleted file mode 100644 index c2dd81c..0000000 --- a/proc-macro-error/test-crate/tests/ui/result_expect.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: Result::expect_or_abort() test: error - --> $DIR/result_expect.rs:4:10 -  | -4 | make_fn!(result_expect); -  |          ^^^^^^^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/result_unwrap.rs b/proc-macro-error/test-crate/tests/ui/result_unwrap.rs deleted file mode 100644 index 9b7fb1c..0000000 --- a/proc-macro-error/test-crate/tests/ui/result_unwrap.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(result_unwrap); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/result_unwrap.stderr b/proc-macro-error/test-crate/tests/ui/result_unwrap.stderr deleted file mode 100644 index 2e614bd..0000000 --- a/proc-macro-error/test-crate/tests/ui/result_unwrap.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: Result::unwrap_or_abort() test - --> $DIR/result_unwrap.rs:4:10 -  | -4 | make_fn!(result_unwrap); -  |          ^^^^^^^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/unknown_setting.rs b/proc-macro-error/test-crate/tests/ui/unknown_setting.rs deleted file mode 100644 index d8e58ea..0000000 --- a/proc-macro-error/test-crate/tests/ui/unknown_setting.rs +++ /dev/null @@ -1,4 +0,0 @@ -use proc_macro_error::proc_macro_error; - -#[proc_macro_error(allow_not_macro, assert_unwind_safe, trololo)] -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/unknown_setting.stderr b/proc-macro-error/test-crate/tests/ui/unknown_setting.stderr deleted file mode 100644 index a55de0b..0000000 --- a/proc-macro-error/test-crate/tests/ui/unknown_setting.stderr +++ /dev/null @@ -1,5 +0,0 @@ -error: unknown setting `trololo`, expected one of `assert_unwind_safe`, `allow_not_macro`, `proc_macro_hack` - --> $DIR/unknown_setting.rs:3:57 -  | -3 | #[proc_macro_error(allow_not_macro, assert_unwind_safe, trololo)] -  |                                                         ^^^^^^^ diff --git a/proc-macro-error/test-crate/tests/ui/unrelated_panic.rs b/proc-macro-error/test-crate/tests/ui/unrelated_panic.rs deleted file mode 100644 index 4863e5b..0000000 --- a/proc-macro-error/test-crate/tests/ui/unrelated_panic.rs +++ /dev/null @@ -1,6 +0,0 @@ -extern crate test_crate; -use test_crate::make_fn; - -make_fn!(); - -fn main() {} diff --git a/proc-macro-error/test-crate/tests/ui/unrelated_panic.stderr b/proc-macro-error/test-crate/tests/ui/unrelated_panic.stderr deleted file mode 100644 index b852cfd..0000000 --- a/proc-macro-error/test-crate/tests/ui/unrelated_panic.stderr +++ /dev/null @@ -1,7 +0,0 @@ -error: proc macro panicked - --> $DIR/unrelated_panic.rs:4:1 -  | -4 | make_fn!(); -  | ^^^^^^^^^^^ -  | -  = help: message: unrelated panic test | 
