diff options
| author | bors <bors@rust-lang.org> | 2014-03-28 00:26:52 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-03-28 00:26:52 -0700 |
| commit | ff64381c8bf6a49a0671287de5f5b7316ae2ef9c (patch) | |
| tree | 8b506d4d1a0fe9b5242ed1ab4817c91890c929c3 /src/libsyntax/codemap.rs | |
| parent | 5a68892507cdd42fdf6f1f645d6e38f6f5be67a4 (diff) | |
| parent | f1739b14a1346419a4598339aee32aab07e0d12e (diff) | |
| download | rust-ff64381c8bf6a49a0671287de5f5b7316ae2ef9c.tar.gz rust-ff64381c8bf6a49a0671287de5f5b7316ae2ef9c.zip | |
auto merge of #13107 : seanmonstar/rust/encoder-errors, r=erickt
All of Decoder and Encoder's methods now return a Result. Encodable.encode() and Decodable.decode() return a Result as well. fixes #12292
Diffstat (limited to 'src/libsyntax/codemap.rs')
| -rw-r--r-- | src/libsyntax/codemap.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/libsyntax/codemap.rs b/src/libsyntax/codemap.rs index 4a9e53c63e7..f3ff7f97ee2 100644 --- a/src/libsyntax/codemap.rs +++ b/src/libsyntax/codemap.rs @@ -110,6 +110,8 @@ impl Eq for Span { impl TotalEq for Span {} +// FIXME: remove stage0 Encodables/Decodables after snapshot +#[cfg(stage0)] impl<S:Encoder> Encodable<S> for Span { /* Note #1972 -- spans are encoded but not decoded */ fn encode(&self, s: &mut S) { @@ -117,12 +119,28 @@ impl<S:Encoder> Encodable<S> for Span { } } +#[cfg(stage0)] impl<D:Decoder> Decodable<D> for Span { fn decode(_d: &mut D) -> Span { DUMMY_SP } } +#[cfg(not(stage0))] +impl<S:Encoder<E>, E> Encodable<S, E> for Span { + /* Note #1972 -- spans are encoded but not decoded */ + fn encode(&self, s: &mut S) -> Result<(), E> { + s.emit_nil() + } +} + +#[cfg(not(stage0))] +impl<D:Decoder<E>, E> Decodable<D, E> for Span { + fn decode(_d: &mut D) -> Result<Span, E> { + Ok(DUMMY_SP) + } +} + pub fn spanned<T>(lo: BytePos, hi: BytePos, t: T) -> Spanned<T> { respan(mk_sp(lo, hi), t) } |
