diff options
| author | John Clements <clements@racket-lang.org> | 2014-07-04 10:57:17 -0700 |
|---|---|---|
| committer | John Clements <clements@racket-lang.org> | 2014-07-08 15:14:45 -0700 |
| commit | f3fa836939161f59224c30c96210df1eb01f002e (patch) | |
| tree | 15cc83f660d1413946bc7e5c223aa41d1b08187b /src/libsyntax | |
| parent | 8bb34a3146e6ba4bc7902a85de90cf4f8064ace0 (diff) | |
| download | rust-f3fa836939161f59224c30c96210df1eb01f002e.tar.gz rust-f3fa836939161f59224c30c96210df1eb01f002e.zip | |
added test for method arg hygiene
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 74cede2a125..1569b4ac4e9 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -1390,6 +1390,19 @@ mod test { // but *shouldn't* bind because it was inserted by a different macro.... // can't write this test case until we have macro-generating macros. + // method arg hygiene + // method expands to fn get_x(&self_0, x_1:int) {self_0 + self_2 + x_3 + x_1} + #[test] fn method_arg_hygiene(){ + run_renaming_test( + &("macro_rules! inject_x (()=>(x)) + macro_rules! inject_self (()=>(self)) + struct A; + impl A{fn get_x(&self, x: int) {self + inject_self!() + inject_x!() + x;} }", + vec!(vec!(0),vec!(3)), + true), + 0) + } + // item fn hygiene // expands to fn q(x_1:int){fn g(x_2:int){x_2 + x_1};} #[test] fn issue_9383(){ |
