diff --git a/src/test/run-pass/lambda-var-hygiene.rs b/src/test/run-pass/lambda-var-hygiene.rs new file mode 100644 index 00000000000..5dfc4208554 --- /dev/null +++ b/src/test/run-pass/lambda-var-hygiene.rs @@ -0,0 +1,23 @@ +// Copyright 2012 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 #9383 + +#![feature(macro_rules)] + +// shouldn't affect evaluation of $ex: +macro_rules! bad_macro (($ex:expr) => ({(|_x| { $ex }) (9) })) + +fn takes_x(_x : int) { + assert_eq!(bad_macro!(_x),8); +} +fn main() { + takes_x(8); +} diff --git a/src/test/run-pass/match-var-hygiene.rs b/src/test/run-pass/match-var-hygiene.rs new file mode 100644 index 00000000000..482fdf5b1d0 --- /dev/null +++ b/src/test/run-pass/match-var-hygiene.rs @@ -0,0 +1,24 @@ +// Copyright 2012 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 #9384 + +#![feature(macro_rules)] + +// shouldn't affect evaluation of $ex. +macro_rules! bad_macro (($ex:expr) => ( + {match 9 {_x => $ex}} +)) + +fn main() { + match 8 { + _x => assert_eq!(bad_macro!(_x),8) + } +}