diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-07-11 15:00:40 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-07-17 15:46:43 -0700 |
| commit | db020ab63cd51dd4a25cba2d00117f016128762b (patch) | |
| tree | 2b6f1e99ba4356f3e3bf5338332c278d2a85109b /src/libstd/json.rs | |
| parent | b5729bd60095fb5ca884936775e031cf19900760 (diff) | |
| download | rust-db020ab63cd51dd4a25cba2d00117f016128762b.tar.gz rust-db020ab63cd51dd4a25cba2d00117f016128762b.zip | |
rustc: Implement and enforce instance coherence
Diffstat (limited to 'src/libstd/json.rs')
| -rw-r--r-- | src/libstd/json.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libstd/json.rs b/src/libstd/json.rs index f8194204626..74707e36a51 100644 --- a/src/libstd/json.rs +++ b/src/libstd/json.rs @@ -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() } |
