Auto merge of #29014 - petrochenkov:stability, r=brson

Stricter checking of stability attributes + enforcement of their invariants at compile time
(+ removed dead file librustc_front/attr.rs)
I intended to enforce use of `reason` for unstable items as well (it normally presents for new items), but it turned out too intrusive, many older unstable items don't have `reason`s.

r? @aturon 
I'm studying how stability works and do some refactoring along the way, so it's probably not the last PR.
This commit is contained in:
bors
2015-10-16 17:47:01 +00:00
18 changed files with 337 additions and 894 deletions

View File

@@ -587,7 +587,7 @@ impl<'a> ExtCtxt<'a> {
}
}
#[unstable(feature = "rustc_private")]
#[unstable(feature = "rustc_private", issue = "0")]
#[deprecated(since = "1.0.0",
reason = "Replaced with `expander().fold_expr()`")]
pub fn expand_expr(&mut self, e: P<ast::Expr>) -> P<ast::Expr> {