about summary refs log tree commit diff
path: root/src/test/ui/macros/macros-nonfatal-errors.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/macros/macros-nonfatal-errors.rs')
-rw-r--r--src/test/ui/macros/macros-nonfatal-errors.rs139
1 files changed, 0 insertions, 139 deletions
diff --git a/src/test/ui/macros/macros-nonfatal-errors.rs b/src/test/ui/macros/macros-nonfatal-errors.rs
deleted file mode 100644
index ab14c35893d..00000000000
--- a/src/test/ui/macros/macros-nonfatal-errors.rs
+++ /dev/null
@@ -1,139 +0,0 @@
-// normalize-stderr-test: "existed:.*\(" -> "existed: $$FILE_NOT_FOUND_MSG ("
-
-// test that errors in a (selection) of macros don't kill compilation
-// immediately, so that we get more errors listed at a time.
-
-#![feature(trace_macros, concat_idents)]
-#![feature(stmt_expr_attributes)]
-
-use std::arch::asm;
-
-#[derive(Default)]
-struct DefaultInnerAttrStruct {
-    #[default] //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-    foo: (),
-}
-
-#[derive(Default)]
-struct DefaultInnerAttrTupleStruct(#[default] ());
-//~^ ERROR the `#[default]` attribute may only be used on unit enum variants
-
-#[derive(Default)]
-#[default] //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-struct DefaultOuterAttrStruct {}
-
-#[derive(Default)]
-#[default] //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-enum DefaultOuterAttrEnum {
-    #[default]
-    Foo,
-}
-
-#[rustfmt::skip] // needs some work to handle this case
-#[repr(u8)]
-#[derive(Default)]
-enum AttrOnInnerExpression {
-    Foo = #[default] 0, //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-    Bar([u8; #[default] 1]), //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-    #[default]
-    Baz,
-}
-
-#[derive(Default)] //~ ERROR no default declared
-enum NoDeclaredDefault {
-    Foo,
-    Bar,
-}
-
-#[derive(Default)] //~ ERROR multiple declared defaults
-enum MultipleDefaults {
-    #[default]
-    Foo,
-    #[default]
-    Bar,
-    #[default]
-    Baz,
-}
-
-#[derive(Default)]
-enum ExtraDeriveTokens {
-    #[default = 1] //~ ERROR `#[default]` attribute does not accept a value
-    Foo,
-}
-
-#[derive(Default)]
-enum TwoDefaultAttrs {
-    #[default]
-    #[default]
-    Foo, //~ERROR multiple `#[default]` attributes
-    Bar,
-}
-
-#[derive(Default)]
-enum ManyDefaultAttrs {
-    #[default]
-    #[default]
-    #[default]
-    #[default]
-    Foo, //~ERROR multiple `#[default]` attributes
-    Bar,
-}
-
-#[derive(Default)]
-enum DefaultHasFields {
-    #[default]
-    Foo {}, //~ ERROR the `#[default]` attribute may only be used on unit enum variants
-    Bar,
-}
-
-#[derive(Default)]
-enum NonExhaustiveDefault {
-    #[default]
-    #[non_exhaustive]
-    Foo, //~ ERROR default variant must be exhaustive
-    Bar,
-}
-
-fn main() {
-    asm!(invalid); //~ ERROR
-    llvm_asm!(invalid); //~ ERROR
-
-    concat_idents!("not", "idents"); //~ ERROR
-
-    option_env!(invalid); //~ ERROR
-    env!(invalid); //~ ERROR
-    env!(foo, abr, baz); //~ ERROR
-    env!("RUST_HOPEFULLY_THIS_DOESNT_EXIST"); //~ ERROR
-
-    format!(invalid); //~ ERROR
-
-    include!(invalid); //~ ERROR
-
-    include_str!(invalid); //~ ERROR
-    include_str!("i'd be quite surprised if a file with this name existed"); //~ ERROR
-    include_bytes!(invalid); //~ ERROR
-    include_bytes!("i'd be quite surprised if a file with this name existed"); //~ ERROR
-
-    trace_macros!(invalid); //~ ERROR
-}
-
-/// Check that `#[derive(Default)]` does use a `T : Default` bound when the
-/// `#[default]` variant is `#[non_exhaustive]` (should this end up allowed).
-const _: () = {
-    #[derive(Default)]
-    enum NonExhaustiveDefaultGeneric<T> {
-        #[default]
-        #[non_exhaustive]
-        Foo, //~ ERROR default variant must be exhaustive
-        Bar(T),
-    }
-
-    fn assert_impls_default<T: Default>() {}
-
-    enum NotDefault {}
-
-    // Note: the `derive(Default)` currently bails early enough for trait-checking
-    // not to happen. Should it bail late enough, or even pass, make sure to
-    // assert that the following line fails.
-    let _ = assert_impls_default::<NonExhaustiveDefaultGeneric<NotDefault>>;
-};