about summary refs log tree commit diff
path: root/tests/ui/consts/const-block-item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/consts/const-block-item.rs')
-rw-r--r--tests/ui/consts/const-block-item.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/ui/consts/const-block-item.rs b/tests/ui/consts/const-block-item.rs
new file mode 100644
index 00000000000..cf0d4441d4a
--- /dev/null
+++ b/tests/ui/consts/const-block-item.rs
@@ -0,0 +1,41 @@
+// run-pass
+#![allow(unused_imports)]
+
+mod foo {
+    pub trait Value {
+        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);
+}