//@ run-pass #![allow(unused_imports)] mod foo { pub trait Value { //~ WARN trait `Value` is never used fn value(&self) -> usize; } } static BLOCK_USE: usize = { use foo::Value; 100 }; static BLOCK_STRUCT_DEF: usize = { struct Foo { a: usize } Foo{ a: 300 }.a }; static BLOCK_FN_DEF: fn(usize) -> usize = { fn foo(a: usize) -> usize { a + 10 } foo }; static BLOCK_MACRO_RULES: usize = { macro_rules! baz { () => (412) } baz!() }; pub fn main() { assert_eq!(BLOCK_USE, 100); assert_eq!(BLOCK_STRUCT_DEF, 300); assert_eq!(BLOCK_FN_DEF(390), 400); assert_eq!(BLOCK_MACRO_RULES, 412); }