about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-15 17:23:59 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-15 17:48:58 -0800
commit3466c9b4befd03fd39b099466b97fea92bb5109f (patch)
tree77c3918572db83a837878cdd5af428b3a12e7dec /src/test
parent17585cc47ec7c4ffc9d14f33473c4238b6680e88 (diff)
downloadrust-3466c9b4befd03fd39b099466b97fea92bb5109f.tar.gz
rust-3466c9b4befd03fd39b099466b97fea92bb5109f.zip
rustc: Parse fn inner attributes. Closes #1506
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/attr-before-ext.rs4
-rw-r--r--src/test/compile-fail/attr-before-let.rs4
-rw-r--r--src/test/pretty/attr-fn-inner.rs13
-rw-r--r--src/test/run-pass/item-attributes.rs4
4 files changed, 25 insertions, 0 deletions
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() { }
 
 //