From e2aa90e780eb4d6a27626f7d93ae3d6b567734a7 Mon Sep 17 00:00:00 2001 From: Jeffrey Seyfried Date: Tue, 1 Mar 2016 12:17:12 +0000 Subject: [PATCH] Add test --- src/test/compile-fail/macro-expanded-mod.rs | 23 +++++++++++++++++++ .../macro_expanded_mod_helper/foo/bar.rs | 11 +++++++++ .../macro_expanded_mod_helper/foo/mod.rs | 13 +++++++++++ 3 files changed, 47 insertions(+) create mode 100644 src/test/compile-fail/macro-expanded-mod.rs create mode 100644 src/test/compile-fail/macro_expanded_mod_helper/foo/bar.rs create mode 100644 src/test/compile-fail/macro_expanded_mod_helper/foo/mod.rs diff --git a/src/test/compile-fail/macro-expanded-mod.rs b/src/test/compile-fail/macro-expanded-mod.rs new file mode 100644 index 00000000000..8e631a64f7a --- /dev/null +++ b/src/test/compile-fail/macro-expanded-mod.rs @@ -0,0 +1,23 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Test that macro-expanded non-inline modules behave correctly + +macro_rules! mod_decl { + ($i:ident) => { mod $i; } +} + +mod macro_expanded_mod_helper { + mod_decl!(foo); // This should search in the folder `macro_expanded_mod_helper` +} + +fn main() { + mod_decl!(foo); //~ ERROR Cannot declare a non-inline module inside a block +} diff --git a/src/test/compile-fail/macro_expanded_mod_helper/foo/bar.rs b/src/test/compile-fail/macro_expanded_mod_helper/foo/bar.rs new file mode 100644 index 00000000000..3ec34362da5 --- /dev/null +++ b/src/test/compile-fail/macro_expanded_mod_helper/foo/bar.rs @@ -0,0 +1,11 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-test diff --git a/src/test/compile-fail/macro_expanded_mod_helper/foo/mod.rs b/src/test/compile-fail/macro_expanded_mod_helper/foo/mod.rs new file mode 100644 index 00000000000..25fcf11ce17 --- /dev/null +++ b/src/test/compile-fail/macro_expanded_mod_helper/foo/mod.rs @@ -0,0 +1,13 @@ +// Copyright 2016 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// ignore-test + +mod_decl!(bar);