| Age | Commit message (Collapse) | Author | Lines |
|
Fixes #15793.
|
|
- Made custom syntax extensions capable of expanding custom macros by moving `SyntaxEnv` into `ExtCtx`
- Added convenience method on `ExtCtx` for getting a macro expander.
- Made a few things private to force only a single way to use them (through `ExtCtx`)
- Removed some ancient commented-out code
Closes #14946
|
|
Inspired by http://www.reddit.com/r/rust/comments/298js2/what_is_the_rationale_behind_the_second_parameter/
|
|
`syntax::ext::expand`
|
|
|
|
Fixes #15793.
|
|
It's an artifact of the old refutable version of `match` and is no longer necessary.
|
|
|
|
Closes #15690 (Guide: improve error handling)
Closes #15729 (Guide: guessing game)
Closes #15751 (repair macro docs)
Closes #15766 (rustc: Print a smaller hash on -v)
Closes #15815 (Add unit test for rlibc)
Closes #15820 (Minor refactoring and features in rustc driver for embedders)
Closes #15822 (rustdoc: Add an --extern flag analagous to rustc's)
Closes #15824 (Document Deque trait and bitv.)
Closes #15832 (syntax: Join consecutive string literals in format strings together)
Closes #15837 (Update LLVM to include NullCheckElimination pass)
Closes #15841 (Rename to_str to to_string)
Closes #15847 (Purge #[!resolve_unexported] from the compiler)
Closes #15848 (privacy: Add publically-reexported foreign item to exported item set)
Closes #15849 (fix string in from_utf8_lossy_100_multibyte benchmark)
Closes #15850 (Get rid of few warnings in tests)
Closes #15852 (Clarify the std::vec::Vec::with_capacity docs)
|
|
|
|
|
|
|
|
Close #15740
|
|
|
|
|
|
We now build up a set of modules that reexport everything the test
framework needs, instead of turning off privacy.
|
|
|
|
Closes #15796.
[breaking-change]
|
|
Fixes #11751
|
|
Emit a single rt::Piece per consecutive string literals. String literals
are split on {{ or }} escapes.
Saves a small amount of static storage and emitted code size.
|
|
|
|
|
|
|
|
|
|
|
|
So all comes in the order union, intersection, difference and
symmetric_difference.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This adds an `--extern` flag to `rustdoc` much like the compiler's to
specify the path where a given crate can be found.
|
|
|
|
This adds the alt_std_name field to the Session's Options type.
I'm using this in an external tool to control which libraries
a crate links to.
|
|
This provides a way for clients of the rustc library to add
their own features to the pipeline.
|
|
Helpful for users of rustc as a library.
|
|
It's harder to run rustc correctly without it.
|
|
|
|
|
|
In f1ad425199b0d89dab275a8c8f6f29a73d316f70, I changed the handling
of macros, to prevent macro invocations from occurring in fully expanded
source. Instead, I added a side table. It contained only the
spans of the macros, because this was the only information required
in order to make macro export work.
However, librustdoc was also affected by this change, since it
extracts macro information in a similar way. As a result of the earlier
change, exported macros were no longer documented.
In order to repair this, I've adjusted the side table to contain whole
items, rather than just the spans.
|
|
We now build the game at the end of the first section.
I wanted to do it as we went along, but it's too hard with these fundamentals
not in place. The rest will do the 'as we go' approach, but I think this is
better.
|
|
|
|
It's an artifact of the old refutable version of `match`
and is no longer necessary.
|
|
Here’s what the Vim manual says in *:syn-include*:
:sy[ntax] include [@{grouplist-name}] {file-name}
All syntax items declared in the included file will have the
"contained" flag added. In addition, if a group list is
specified, all top-level syntax items in the included file will
be added to that list.
We had two rules for `rustModPath`, one `contained` and the other not.
The effect was that the second (now renamed to `rustModPathInUse`) was
being included in the group list, and thus that all identifiers were
being highlighted as `Include`, which is definitely not what we wanted.
|
|
|
|
The algorithm was already based on bytes internally.
Also use byte literals instead of casting u8 to char for matching.
[breaking-change] The `InvalidBase64Character` variant of the `FromBase64Error` enum was renamed to `InvalidBase64Byte`, and contains a `u8` instead of a `char`.
r? @alexcrichton
|
|
Implements RFC #168.
|
|
Closes #8709
|
|
Used `HashMap` and `HashSet` as the base of most examples. Could change it up with different containers, but I don't think it's a big deal.
|