| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2022-06-03 | Remove json support from rustc_serialize | bjorn3 | -2368/+0 | |
| 2022-04-03 | Replace every Vec in Target(Options) with it's Cow equivalent | Loïc BRANSTETT | -0/+9 | |
| 2022-04-03 | Replace every `String` in Target(Options) with `Cow<'static, str>` | Loïc BRANSTETT | -0/+7 | |
| 2022-02-20 | Remove support for JSON deserialization to Rust | Mark Rousskov | -314/+7 | |
| This is no longer used by the compiler itself, and removing this support opens the door to massively simplifying the Decodable/Decoder API by dropping the self-describing deserialization support (necessary for JSON). | ||||
| 2022-02-19 | Adopt let else in more places | est31 | -3/+2 | |
| 2022-02-05 | Drop json::from_reader | Mark Rousskov | -22/+0 | |
| Performing UTF-8 decode outside the JSON module makes more sense in almost all cases. | ||||
| 2022-01-22 | Address review comments. | Nicholas Nethercote | -1/+0 | |
| 2022-01-22 | Make `Decodable` and `Decoder` infallible. | Nicholas Nethercote | -100/+86 | |
| `Decoder` has two impls: - opaque: this impl is already partly infallible, i.e. in some places it currently panics on failure (e.g. if the input is too short, or on a bad `Result` discriminant), and in some places it returns an error (e.g. on a bad `Option` discriminant). The number of places where either happens is surprisingly small, just because the binary representation has very little redundancy and a lot of input reading can occur even on malformed data. - json: this impl is fully fallible, but it's only used (a) for the `.rlink` file production, and there's a `FIXME` comment suggesting it should change to a binary format, and (b) in a few tests in non-fundamental ways. Indeed #85993 is open to remove it entirely. And the top-level places in the compiler that call into decoding just abort on error anyway. So the fallibility is providing little value, and getting rid of it leads to some non-trivial performance improvements. Much of this commit is pretty boring and mechanical. Some notes about a few interesting parts: - The commit removes `Decoder::{Error,error}`. - `InternIteratorElement::intern_with`: the impl for `T` now has the same optimization for small counts that the impl for `Result<T, E>` has, because it's now much hotter. - Decodable impls for SmallVec, LinkedList, VecDeque now all use `collect`, which is nice; the one for `Vec` uses unsafe code, because that gave better perf on some benchmarks. | ||||
| 2022-01-22 | Rename `Decoder::read_nil` and `read_unit`. | Nicholas Nethercote | -1/+1 | |
| Because `()` is called "unit" and it makes it match `Encoder::emit_unit`. | ||||
| 2021-12-07 | don't allocate strings when str is enought for using as key | klensy | -3/+3 | |
| 2021-11-22 | Avoid generating empty closures for fieldless enums | Mark Rousskov | -0/+14 | |
| For many enums, this avoids generating lots of tiny stubs that need to be codegen'd and then inlined and removed by LLVM. | ||||
| 2021-08-22 | Fix more “a”/“an” typos | Frank Steffahn | -2/+2 | |
| 2021-06-17 | Emit warnings for unused fields in custom targets. | Adam Bratschi-Kaye | -0/+9 | |
| 2021-06-01 | Remove unused functions and arguments from rustc_serialize | bjorn3 | -147/+24 | |
| 2021-03-25 | Allow for reading raw bytes from rustc_serialize::Decoder without unsafe code. | Michael Woerister | -4/+2 | |
| 2021-03-19 | Move raw bytes handling to Encoder/Decoder. | Camille GILLOT | -0/+21 | |
| 2020-12-03 | Fix some clippy lints | Joshua Nelson | -1/+1 | |
| 2020-08-30 | mv compiler to compiler/ | mark | -0/+2778 | |
