libsyntax: Remove fn() unsafe { ... }. r=graydon
This commit is contained in:
@@ -208,14 +208,16 @@ pub impl FileMap {
|
||||
self.lines.push(pos);
|
||||
}
|
||||
|
||||
pub fn get_line(&self, line: int) -> ~str unsafe {
|
||||
let begin: BytePos = self.lines[line] - self.start_pos;
|
||||
let begin = begin.to_uint();
|
||||
let end = match str::find_char_from(*self.src, '\n', begin) {
|
||||
Some(e) => e,
|
||||
None => str::len(*self.src)
|
||||
};
|
||||
str::slice(*self.src, begin, end)
|
||||
pub fn get_line(&self, line: int) -> ~str {
|
||||
unsafe {
|
||||
let begin: BytePos = self.lines[line] - self.start_pos;
|
||||
let begin = begin.to_uint();
|
||||
let end = match str::find_char_from(*self.src, '\n', begin) {
|
||||
Some(e) => e,
|
||||
None => str::len(*self.src)
|
||||
};
|
||||
str::slice(*self.src, begin, end)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn record_multibyte_char(&self, pos: BytePos, bytes: uint) {
|
||||
|
||||
@@ -157,11 +157,13 @@ fn byte_offset(rdr: string_reader) -> BytePos {
|
||||
(rdr.pos - rdr.filemap.start_pos)
|
||||
}
|
||||
|
||||
fn get_str_from(rdr: string_reader, start: BytePos) -> ~str unsafe {
|
||||
// I'm pretty skeptical about this subtraction. What if there's a
|
||||
// multi-byte character before the mark?
|
||||
return str::slice(*rdr.src, start.to_uint() - 1u,
|
||||
byte_offset(rdr).to_uint() - 1u);
|
||||
fn get_str_from(rdr: string_reader, start: BytePos) -> ~str {
|
||||
unsafe {
|
||||
// I'm pretty skeptical about this subtraction. What if there's a
|
||||
// multi-byte character before the mark?
|
||||
return str::slice(*rdr.src, start.to_uint() - 1u,
|
||||
byte_offset(rdr).to_uint() - 1u);
|
||||
}
|
||||
}
|
||||
|
||||
fn bump(rdr: string_reader) {
|
||||
|
||||
@@ -44,7 +44,8 @@ pub enum ObsoleteSyntax {
|
||||
ObsoletePrivSection,
|
||||
ObsoleteModeInFnType,
|
||||
ObsoleteMoveInit,
|
||||
ObsoleteBinaryMove
|
||||
ObsoleteBinaryMove,
|
||||
ObsoleteUnsafeBlock
|
||||
}
|
||||
|
||||
impl ObsoleteSyntax : cmp::Eq {
|
||||
@@ -118,6 +119,10 @@ impl Parser {
|
||||
ObsoleteBinaryMove => (
|
||||
"binary move",
|
||||
"Write `foo = move bar` instead"
|
||||
),
|
||||
ObsoleteUnsafeBlock => (
|
||||
"non-standalone unsafe block",
|
||||
"use an inner `unsafe { ... }` block instead"
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ use parse::obsolete::{ObsoleteLet, ObsoleteFieldTerminator};
|
||||
use parse::obsolete::{ObsoleteMoveInit, ObsoleteBinaryMove};
|
||||
use parse::obsolete::{ObsoleteStructCtor, ObsoleteWith, ObsoleteClassMethod};
|
||||
use parse::obsolete::{ObsoleteSyntax, ObsoleteLowerCaseKindBounds};
|
||||
use parse::obsolete::{ObsoleteUnsafeBlock};
|
||||
use parse::prec::{as_prec, token_to_binop};
|
||||
use parse::token::{can_begin_expr, is_ident, is_ident_or_path};
|
||||
use parse::token::{is_plain_ident, INTERPOLATED, special_idents};
|
||||
@@ -2336,12 +2337,13 @@ impl Parser {
|
||||
}
|
||||
|
||||
let lo = self.span.lo;
|
||||
let us = self.eat_keyword(~"unsafe");
|
||||
if self.eat_keyword(~"unsafe") {
|
||||
self.obsolete(copy self.span, ObsoleteUnsafeBlock);
|
||||
}
|
||||
self.expect(token::LBRACE);
|
||||
let {inner: move inner, next: move next} =
|
||||
maybe_parse_inner_attrs_and_next(self, parse_attrs);
|
||||
let blk_check_mode = if us { unsafe_blk } else { default_blk };
|
||||
return (inner, self.parse_block_tail_(lo, blk_check_mode, next));
|
||||
return (inner, self.parse_block_tail_(lo, default_blk, next));
|
||||
}
|
||||
|
||||
fn parse_block_no_value() -> blk {
|
||||
|
||||
Reference in New Issue
Block a user