about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicholas Nethercote <nnethercote@mozilla.com>2018-11-09 09:57:02 +1100
committerNicholas Nethercote <nnethercote@mozilla.com>2018-11-13 06:21:57 +1100
commitab8a947fa0e8f8397ad9c831741e6429fbed2c0b (patch)
tree7bbcaea5d39b040288b9493b2b75e57e3cb1f3ba /src
parent5a2ca1a6f18aa93d3120761f614ec2d39b4cb1ac (diff)
downloadrust-ab8a947fa0e8f8397ad9c831741e6429fbed2c0b.tar.gz
rust-ab8a947fa0e8f8397ad9c831741e6429fbed2c0b.zip
Move `static_assert!` into librustc_data_structures.
This means it can be used by more crates.
Diffstat (limited to 'src')
-rw-r--r--src/librustc/macros.rs10
-rw-r--r--src/librustc_data_structures/lib.rs1
-rw-r--r--src/librustc_data_structures/macros.rs21
3 files changed, 22 insertions, 10 deletions
diff --git a/src/librustc/macros.rs b/src/librustc/macros.rs
index f21f949c9f5..781a0fa3f66 100644
--- a/src/librustc/macros.rs
+++ b/src/librustc/macros.rs
@@ -63,16 +63,6 @@ macro_rules! span_bug {
 }
 
 #[macro_export]
-macro_rules! static_assert {
-    ($name:ident: $test:expr) => {
-        // Use the bool to access an array such that if the bool is false, the access
-        // is out-of-bounds.
-        #[allow(dead_code)]
-        static $name: () = [()][!$test as usize];
-    }
-}
-
-#[macro_export]
 macro_rules! __impl_stable_hash_field {
     ($field:ident, $ctx:expr, $hasher:expr) => ($field.hash_stable($ctx, $hasher));
     ($field:ident, $ctx:expr, $hasher:expr, _) => ({ let _ = $field; });
diff --git a/src/librustc_data_structures/lib.rs b/src/librustc_data_structures/lib.rs
index 07e5548216f..135abebdacb 100644
--- a/src/librustc_data_structures/lib.rs
+++ b/src/librustc_data_structures/lib.rs
@@ -57,6 +57,7 @@ extern crate rustc_cratesio_shim;
 
 pub use rustc_serialize::hex::ToHex;
 
+pub mod macros;
 pub mod svh;
 pub mod base_n;
 pub mod bit_set;
diff --git a/src/librustc_data_structures/macros.rs b/src/librustc_data_structures/macros.rs
new file mode 100644
index 00000000000..3cc91b0e93f
--- /dev/null
+++ b/src/librustc_data_structures/macros.rs
@@ -0,0 +1,21 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+/// A simple static assertion macro. The first argument should be a unique
+/// ALL_CAPS identifier that describes the condition.
+#[macro_export]
+macro_rules! static_assert {
+    ($name:ident: $test:expr) => {
+        // Use the bool to access an array such that if the bool is false, the access
+        // is out-of-bounds.
+        #[allow(dead_code)]
+        static $name: () = [()][!$test as usize];
+    }
+}