about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-06-26 14:32:30 +0000
committerbors <bors@rust-lang.org>2014-06-26 14:32:30 +0000
commitfa63b8c8138ca826a6fee7673a170ab0615cb678 (patch)
treeeb344bce173253518adb892bc80dc98c389b36f9 /src/rustllvm/RustWrapper.cpp
parentfc502e23458c695b008e3470ec5ef40421b8aaa2 (diff)
parente1a9899a3a12f9f5fde6d5757c13bc248e89617d (diff)
downloadrust-fa63b8c8138ca826a6fee7673a170ab0615cb678.tar.gz
rust-fa63b8c8138ca826a6fee7673a170ab0615cb678.zip
auto merge of #15192 : mrec/rust/json-nan, r=alexcrichton
The JSON spec requires that these special values be serialized as "null"; the current serialization breaks any conformant JSON parser. So encoding needs to output "null",  `to_json` on floating-point types can return `Null` as well as `Number` values, and reading a `Null` value when specifically expecting a number should be interpreted as NaN. There's no way to round-trip Infinity through JSON.

This is my first attempt at both writing Rust and opening pull requests, so please dial your derp detector up to eleven when reviewing. A `rustc --test lib.rs` in `libserialize` passes all tests; a `make check` of the whole tree fails with the error below, but it doesn't look obviously related and the docs say that `make check` is known to be flaky on Windows.

    ---- [compile-fail] compile-fail/svh-change-significant-cfg.rs stdout ----
            task '[compile-fail] compile-fail/svh-change-significant-cfg.rs' failed at 'called `Result::
    unwrap()` on an `Err` value: couldn't create file (end of file (unknown error); path=i686-pc-mingw32
    \test\compile-fail\svh-a-base.err; mode=truncate; access=write)', C:\msys\home\Mike\rust\src\libcore
    \result.rs:545

Incidentally, it may just be my lack of familiarity with the language and its idioms, but the duplication between `Encoder`/`PrettyEncoder` had a distinct code smell to it. The size of the file (~3500 lines) also made it a bit hard to navigate. Has there been any discussion of refactoring and/or breaking it up? I couldn't find anything in Issues except the ancient #9028.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions