Commit Graph

9 Commits

Author SHA1 Message Date
Matthew Jasper cbcef3effc Rework `rustc_serialize`
- Move the type parameter from `encode` and `decode` methods to
  the trait.
- Remove `UseSpecialized(En|De)codable` traits.
- Remove blanket impls for references.
- Add `RefDecodable` trait to allow deserializing to arena-allocated
  references safely.
- Remove ability to (de)serialize HIR.
- Create proc-macros `(Ty)?(En|De)codable` to help implement these new
  traits.
2020-08-14 17:34:30 +01:00
Josh Stone 7b005c5fcb Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
Mazdak Farrokhzad b7909b22b5 nix remaining rustc_expand::panictry! uses. 2020-03-24 06:28:55 +01:00
Mazdak Farrokhzad 31ee8e0a43 {rustc_parse -> rustc_expand}::config 2020-03-18 15:08:25 +01:00
Mazdak Farrokhzad 3796faefb1 {rustc_parse::parser -> rustc_expand}::module 2020-03-18 15:08:25 +01:00
Nicholas Nethercote 6bf2cc2229 Avoid instantiating many `Parser` structs in `generic_extension`.
Currently, every iteration of the main loop in `generic_extension`
instantiates a `Parser`, which is expensive because `Parser` is a large
type. Many of those instantiations are only used immutably, particularly
for simple-but-repetitive macros of the sort seen in `html5ever` and PR
68836.

This commit initializes a single "base" parser outside the loop, and
then uses `Cow` to avoid cloning it except for the mutating iterations.
This speeds up `html5ever` runs by up to 15%.
2020-02-06 16:42:53 +11:00
Mazdak Farrokhzad 8bd3d240e3 nix syntax::errors & prefer rustc_errors over errors 2020-01-10 07:41:30 +01:00
Vadim Petrochenkov 70f1d57048 Rename `syntax_pos` to `rustc_span` in source code 2020-01-01 09:15:18 +03:00
Vadim Petrochenkov b683de4ad7 Rename directories for some crates from `syntax_x` to `rustc_x`
`syntax_expand` -> `rustc_expand`
`syntax_pos` -> `rustc_span`
`syntax_ext` -> `rustc_builtin_macros`
2019-12-30 19:18:16 +03:00