summaryrefslogtreecommitdiffstats
path: root/third_party/rust/smallvec/tests/macro.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/smallvec/tests/macro.rs')
-rw-r--r--third_party/rust/smallvec/tests/macro.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/smallvec/tests/macro.rs b/third_party/rust/smallvec/tests/macro.rs
new file mode 100644
index 0000000000..fa52e79b9e
--- /dev/null
+++ b/third_party/rust/smallvec/tests/macro.rs
@@ -0,0 +1,24 @@
+/// This file tests `smallvec!` without actually having the macro in scope.
+/// This forces any recursion to use a `$crate` prefix to reliably find itself.
+
+#[test]
+fn smallvec() {
+ let mut vec: smallvec::SmallVec<[i32; 2]>;
+
+ macro_rules! check {
+ ($init:tt) => {
+ vec = smallvec::smallvec! $init;
+ assert_eq!(*vec, *vec! $init);
+ }
+ }
+
+ check!([0; 0]);
+ check!([1; 1]);
+ check!([2; 2]);
+ check!([3; 3]);
+
+ check!([]);
+ check!([1]);
+ check!([1, 2]);
+ check!([1, 2, 3]);
+}