| Age | Commit message (Collapse) | Author | Lines |
|
Such splits arise from metadata refs into libstd.
This way, we can (in a follow on commit) continue to emit the virtual name into
things like the like the StableSourceFileId that ends up in incremetnal build
artifacts, while still using the devirtualized file path when we want to access
the file.
Note that this commit is intended to be a refactoring; the actual fix to the bug
in question is in a follow-on commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use queries for the HIR map
r? @eddyb cc @michaelwoerister
|
|
rustc_metadata: Remove `rmeta::MacroDef`
And other related cleanups.
Follow-up to https://github.com/rust-lang/rust/pull/66364.
r? @Centril
|
|
|
|
|
|
Use `ast::MacroDef` instead.
Also remove `Session::imported_macro_spans`, external macros have spans now.
|
|
|
|
|
|
|
|
comparisons and filter(x).next() calls.
|
|
|
|
Move the `hir().krate()` method to a query and remove the `Krate` dep node
r? @eddyb cc @michaelwoerister
|
|
|
|
|
|
|
|
rustdoc: attempt full build for compile_fail test
Some code fails when doing a full build but does not fail when only emitting metadata. This commit makes sure compile_fail tests for such code behave as expected, that is, the test succeeds because the compilation fails.
Fixes #67771.
|
|
|
|
|
|
|
|
2. invert rustc_session & syntax deps
3. drop rustc_session dep in rustc_hir
|
|
|
|
Some code fails when doing a full build but does not fail when only
emitting metadata. This commit makes sure compile_fail tests for such
code behave as expected, that is, the test succeeds because the
compilation fails.
|
|
rustdoc: Fix handling of compile errors when running `rustdoc --test`
* Call `abort_if_errors` so all errors actually stop rustdoc.
* Don't panic with "compiler aborted in rustdoc!", instead just exit to avoid the ugly panic message.
* Use rlib as the crate type when searching for doctests matching what is used for doc generation so `#[no_std]` crates don't create "no global memory allocator" errors.
Fixes #52243
Fixes #54010
r? @GuillaumeGomez
|
|
* Call `abort_if_errors` so all errors actually stop rustdoc.
* Don't panic with "compiler aborted in rustdoc!", instead just exit to avoid the ugly panic message.
* Use rlib as the crate type when searching for doctests matching what is used for doc generation so `#[no_std]` crates don't create "no global memory allocator" errors.
|
|
|
|
|
|
Error codes checkup and rustdoc test fix
This PR does a few things:
* fix how rustdoc checks that an error code has been thrown (it only checked for "E0XXX" so if it appeared in the output because the file has it in its name or wherever, it passed the test, which was incorrect)
* fix the failing code examples that weren't throwing the expected error code
|
|
|
|
|
|
|
|
|
|
Nix `rustc_hir` reexports in rustc::hir
r? @Zoxc cc @Mark-Simulacrum
|
|
|
|
`make_test` is also called when parsing codeblocks for the playground links so it should handle unwinds from the parser internally.
|
|
|
|
|
|
|
|
|
|
|
|
Feature gating *declarations* => new crate `rustc_feature`
This PR moves the data-oriented parts of feature gating into its own crate, `rustc_feature`.
The parts consist of some data types as well as `accepted`, `active`, `removed`, and `builtin_attrs`.
Feature gate checking itself remains in `syntax::feature_gate::check`. The parts which define how to emit feature gate errors could probably be moved to `rustc_errors` or to the new `rustc_session` crate introduced in #66878. The visitor itself could probably be moved as a pass in `rustc_passes` depending on how the dependency edges work out.
The PR also contains some drive-by cleanup of feature gate checking. As such, the PR probably best read commit-by-commit.
r? @oli-obk
cc @petrochenkov
cc @Mark-Simulacrum
|
|
|
|
The construction of the GlobalCtxt is moved from a generator's stack to
the Queries struct. Since the GlobalCtxt requires the HIR Forest and the
arenas to live longer, those are moved into Queries the same way.
The resulting handling of objects is more brittle, because consumers of
the Once objects need to be careful of their initialisation.
|