rustc: Implement and enforce instance coherence
This commit is contained in:
parent
b5729bd600
commit
db020ab63c
111 changed files with 1746 additions and 526 deletions
|
@ -8,6 +8,7 @@ import io;
|
|||
import io::{reader_util, writer_util};
|
||||
import map;
|
||||
import map::hashmap;
|
||||
import map::map;
|
||||
import core::vec::extensions;
|
||||
|
||||
export json;
|
||||
|
@ -114,13 +115,17 @@ fn to_str(j: json) -> ~str {
|
|||
io::with_str_writer(|wr| to_writer(wr, j))
|
||||
}
|
||||
|
||||
type parser = {
|
||||
type parser_ = {
|
||||
rdr: io::reader,
|
||||
mut ch: char,
|
||||
mut line: uint,
|
||||
mut col: uint,
|
||||
};
|
||||
|
||||
enum parser {
|
||||
parser_(parser_)
|
||||
}
|
||||
|
||||
impl parser for parser {
|
||||
fn eof() -> bool { self.ch == -1 as char }
|
||||
|
||||
|
@ -463,12 +468,12 @@ impl parser for parser {
|
|||
|
||||
/// Deserializes a json value from an io::reader
|
||||
fn from_reader(rdr: io::reader) -> result<json, error> {
|
||||
let parser = {
|
||||
let parser = parser_({
|
||||
rdr: rdr,
|
||||
mut ch: rdr.read_char(),
|
||||
mut line: 1u,
|
||||
mut col: 1u,
|
||||
};
|
||||
});
|
||||
|
||||
parser.parse()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue