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 |