Flag unsafe blocks from format! as compiler-generated

This commit is contained in:
Alex Crichton 2013-09-05 20:50:10 -07:00
parent 19a6fabad8
commit 11e9c48353
5 changed files with 21 additions and 5 deletions

View file

@ -479,7 +479,13 @@ pub struct Field {
#[deriving(Clone, Eq, Encodable, Decodable, IterBytes)]
pub enum BlockCheckMode {
DefaultBlock,
UnsafeBlock(/* generated internally */ bool),
UnsafeBlock(UnsafeSource),
}
#[deriving(Clone, Eq, Encodable, Decodable, IterBytes)]
pub enum UnsafeSource {
CompilerGenerated,
UserProvided,
}
#[deriving(Clone, Eq, Encodable, Decodable,IterBytes)]

View file

@ -632,7 +632,7 @@ impl Context {
stmts: ~[],
expr: Some(result),
id: ast::DUMMY_NODE_ID,
rules: ast::UnsafeBlock,
rules: ast::UnsafeBlock(ast::CompilerGenerated),
span: self.fmtsp,
});

View file

@ -1792,7 +1792,7 @@ impl Parser {
} else if self.eat_keyword(keywords::Match) {
return self.parse_match_expr();
} else if self.eat_keyword(keywords::Unsafe) {
return self.parse_block_expr(lo, UnsafeBlock(false));
return self.parse_block_expr(lo, UnsafeBlock(ast::UserProvided));
} else if *self.token == token::LBRACKET {
self.bump();
let mutbl = self.parse_mutability();