1 #![feature(collapse_debuginfo)]
2 #![feature(stmt_expr_attributes)]
3 #![feature(type_alias_impl_trait)]
6 // Test that the `#[collapse_debuginfo]` attribute can only be used on macro definitions.
9 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
13 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
14 use std::collections::HashMap;
17 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
21 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
25 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
27 let _ = #[collapse_debuginfo] || { };
28 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
30 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
32 let _ = #[collapse_debuginfo] 3;
33 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
36 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
42 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
47 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
48 type Map = HashMap<u32, u32>;
51 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
54 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
59 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
62 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
67 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
74 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
77 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
82 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
83 type AFoobar = impl Foobar;
89 fn constraining() -> AFoobar {
94 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
97 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
100 #[collapse_debuginfo]
101 //~^ ERROR `collapse_debuginfo` attribute should be applied to macro definitions
105 #[collapse_debuginfo]
106 macro_rules! finally {