| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-09-12 | Properly encode spans with a dummy location and non-root `SyntaxContext` | Aaron Hill | -4/+4 | |
| Previously, we would throw away the `SyntaxContext` of any span with a dummy location during metadata encoding. This commit makes metadata Span encoding consistent with incr-cache Span encoding - an 'invalid span' tag is only used when it doesn't lose any information. | ||||
| 2020-08-09 | Remove normalization of `Span` debug output in proc-macro tests | Aaron Hill | -4/+4 | |
| Fixes #74800 The definition of `is_x86_feature_detected!` (and similar macros) depends on the platform - it is produced by a `cfg_if!` invocation on x86, and a plain `#[cfg]` on other platforms. Since it is part of the prelude, we will end up importing different hygiene information depending on the platform. This previously required us to avoid printing raw `SyntaxContext` ids in any tests that uses the standard library, since the captured output will be platform-dependent. Previously, we replaced all `SyntaxContext` ids with "#CTXT", and the raw `Span` lo/hi bytes with "LO..HI". This commit adds `#![no_std]` and `extern crate std` to all proc-macro tests that print spans. This suppresses the prelude import, while still using lang items from `std` (which gives us a buildable binary). With this apporach, we will only load hygiene information for things which we explicitly import. This lets us re-add `-Z unpretty=expanded,hygiene`, since its output can now be made stable across all platforms. Additionally, we use `-Z span-debug` in more places, which lets us avoid the "LO..HI" normalization hack. | ||||
| 2020-07-26 | Normalize the test output of hygiene-related tests | Aaron Hill | -4/+4 | |
| A raw SyntaxContext id is implicitly dependent on the target platform, since libstd and libcore have platform-dependent #[cfg]s which affect which macros are invoked. As a result, we must strip out any SyntaxContext ids from test output to ensure that the captured stdout is not platform-dependent. | ||||
| 2020-07-26 | Hygiene serialization implementation | Aaron Hill | -4/+4 | |
| 2020-07-01 | Don't print additional spaces when pretty-printing NoDelim groups | Aaron Hill | -2/+1 | |
| 2020-07-01 | Insert NoDelim groups around nonterminals when lowering macro_rules | Aaron Hill | -0/+27 | |
