From 3466c9b4befd03fd39b099466b97fea92bb5109f Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 15 Jan 2012 17:23:59 -0800 Subject: rustc: Parse fn inner attributes. Closes #1506 --- src/test/compile-fail/attr-before-ext.rs | 4 ++++ src/test/compile-fail/attr-before-let.rs | 4 ++++ src/test/pretty/attr-fn-inner.rs | 13 +++++++++++++ src/test/run-pass/item-attributes.rs | 4 ++++ 4 files changed, 25 insertions(+) create mode 100644 src/test/compile-fail/attr-before-ext.rs create mode 100644 src/test/compile-fail/attr-before-let.rs create mode 100644 src/test/pretty/attr-fn-inner.rs (limited to 'src/test') diff --git a/src/test/compile-fail/attr-before-ext.rs b/src/test/compile-fail/attr-before-ext.rs new file mode 100644 index 00000000000..8409ab8ef52 --- /dev/null +++ b/src/test/compile-fail/attr-before-ext.rs @@ -0,0 +1,4 @@ +fn main() { + #[attr] + #debug("hi"); //! ERROR expected item +} \ No newline at end of file diff --git a/src/test/compile-fail/attr-before-let.rs b/src/test/compile-fail/attr-before-let.rs new file mode 100644 index 00000000000..814ad400d6b --- /dev/null +++ b/src/test/compile-fail/attr-before-let.rs @@ -0,0 +1,4 @@ +fn main() { + #[attr] + let _i = 0; //! ERROR expected item +} \ No newline at end of file diff --git a/src/test/pretty/attr-fn-inner.rs b/src/test/pretty/attr-fn-inner.rs new file mode 100644 index 00000000000..87e62c004fe --- /dev/null +++ b/src/test/pretty/attr-fn-inner.rs @@ -0,0 +1,13 @@ +// pp-exact +// Testing that both the inner item and next outer item are +// preserved, and that the first outer item parsed in main is not +// accidentally carried over to each inner function + +fn main() { + #[inner_attr]; + #[outer_attr] + fn f() { } + + #[outer_attr] + fn g() { } +} diff --git a/src/test/run-pass/item-attributes.rs b/src/test/run-pass/item-attributes.rs index eba33e5e67f..ba00bb4a302 100644 --- a/src/test/run-pass/item-attributes.rs +++ b/src/test/run-pass/item-attributes.rs @@ -183,6 +183,10 @@ mod test_literals { mod m { } } +fn test_fn_inner() { + #[inner_fn_attr]; +} + fn main() { } // -- cgit 1.4.1-3-g733a5