blob: 5024bfdc2bce95ce89407193fb2052b2824b2d79 [file] [log] [blame]
//! Regression test for: <https://github.com/rust-lang/rust/issues/144132>
//! <https://github.com/rust-lang/rust/issues/135017>
//@ run-rustfix
#![allow(dead_code, unused_variables)]
struct Foo<T>(T);
struct Bar<'a>(&'a i32);
struct Baz<const N: usize>(i32);
fn main() {
let foo: Foo<i32> = Foo(2i32);
//~^ ERROR attributes cannot be applied to generic arguments
let _: &'static str = "123";
//~^ ERROR attributes cannot be applied to types
let _: Bar<'static> = Bar(&123);
//~^ ERROR attributes cannot be applied to generic arguments
let _: Baz<42> = Baz(42);
//~^ ERROR attributes cannot be applied to generic arguments
let _: Foo<String> = Foo(String::new());
//~^ ERROR attributes cannot be applied to generic arguments
let _: Bar<'static> = Bar(&456);
//~^ ERROR attributes cannot be applied to generic arguments
let _generic: Box<i32> = Box::new(1);
//~^ ERROR attributes cannot be applied to generic arguments
let _assignment: i32 = *Box::new(1);
//~^ ERROR attributes cannot be applied to types
let _complex: Vec<String> = vec![];
//~^ ERROR attributes cannot be applied to generic arguments
let _nested: Box<Vec<u64>> = Box::new(vec![]);
//~^ ERROR attributes cannot be applied to generic arguments
}
fn g() -> i32 { 0 }
//~^ ERROR attributes cannot be applied to types
struct S {
field: i32,
//~^ ERROR attributes cannot be applied to types
field1: (i32, i32),
//~^ ERROR attributes cannot be applied to types
}
type Tuple = (i32, String);
//~^ ERROR attributes cannot be applied to types
impl S {}
//~^ ERROR attributes cannot be applied to types