| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Use stage 1 for building docs
|
|
|
|
feat: Insert required parentheses when typing `+` in dyn trait type
|
|
|
|
|
|
|
|
feat: Show what cargo metadata is doing in status
|
|
`search.js`
|
|
|
|
Fix fuzz warnings and deny warnings by default in build system
|
|
|
|
It's actually used as a counter so update the name to reflect that.
|
|
more information to Display implementation for BorrowError/BorrowMutError
- The BorrowError/BorrowMutError Debug implementations do not print
anything differently from what the derived implementation does, so we
don't need it.
- This change also adds the location field of
BorrowError/BorrowMutError to the the Display output when it is
present, rewords the error message, and uses the Display trait for
outputting the error message instead of Debug.
|
|
fixes https://github.com/rust-lang/rust-clippy/issues/2179
changelog: [`doc_broken_link`]: Add pedantic lint to catch broken doc
links that won't produce a link tag by rustdoc.
|
|
|
|
missing `,` in list
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|
|
|
|
|
|
|
|
Add `MetaSized` and `PointeeSized` to minicore so that fewer tests fail
from missing language items.
|
|
Expand the automatic implementation of `MetaSized` and `PointeeSized` so
that it is also implemented on non-`Sized` types, just not `ty::Foreign`
(extern type).
|
|
Introduce the `MetaSized` and `PointeeSized` traits as supertraits of
`Sized` and initially implement it on everything that currently
implements `Sized` to isolate any changes that simply adding the
traits introduces.
|
|
Rollup of 12 pull requests
Successful merges:
- rust-lang/rust#141639 (Expose discriminant values in stable_mir)
- rust-lang/rust#142082 (Refactor `rustc_attr_data_structures` documentation)
- rust-lang/rust#142125 (Stabilize "file_lock" feature)
- rust-lang/rust#142236 (Add documentation for `PathBuf`'s `FromIterator` and `Extend` impls)
- rust-lang/rust#142373 (Fix Debug for Location)
- rust-lang/rust#142416 (Assorted bootstrap cleanups (step 2))
- rust-lang/rust#142431 (Add initial version of snapshot tests to bootstrap)
- rust-lang/rust#142450 (Add documentation on top of `rustc_middle/src/query/mod.rs`)
- rust-lang/rust#142528 (clarify `rustc_do_not_const_check` comment)
- rust-lang/rust#142530 (use `if let` guards where possible)
- rust-lang/rust#142561 (Remove an `njn:` comment accidentaly left behind.)
- rust-lang/rust#142566 (Fix `-nopt` CI jobs)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix `-nopt` CI jobs
They were using `--config` instead of `--set`, which overrides too much stuff after recent changes to config merging.
Should hopefully unblock https://github.com/rust-lang/rust/pull/142447.
r? `@jieyouxu`
|
|
Remove an `njn:` comment accidentaly left behind.
r? `@chenyukang`
|
|
use `if let` guards where possible
these crates already enable the feature
|
|
clarify `rustc_do_not_const_check` comment
~~Given that we have used this attribute for other reasons before it seems appropriate to make this a "usually".~~
Add function name as a pointer
cc ```@rust-lang/wg-const-eval```
|
|
Add documentation on top of `rustc_middle/src/query/mod.rs`
The `rustc-dev-guide` gives a high-level intro, but many details—especially about how the code works and modifiers in `query xxx(){...}`—are only in code comments or the macro implementation. This doc makes it easier for contributors and code readers to understand the workflow and available modifiers without jumping between files and docs.
This PR adds a comprehensive module-level doc comment to `rustc_middle::query::mod.rs` that:
1. Provides an overview of the query system and macro-based query definitions for reading code more easily
2. Centralizes documentation for all query modifiers (previously scattered or only in `rustc_macro` code), closely following the authoritative list in QueryModifiers.
|
|
Add initial version of snapshot tests to bootstrap
When making any changes to bootstrap (steps), it is very difficult to realize how does it affect various common bootstrap commands, and if everything still works as we expect it to. We are far away from having actual end-to-end tests, but what we could at least do is have a way of testing what steps does bootstrap execute in dry run mode. Now, we already have something like this in `src/bootstrap/src/core/builder/tests.rs`, however that is quite limited, because it only checks executed steps for a specific impl of `Step` and it does not consider step order.
Recently, when working on what I thought was one of the simplest possible step untanglings in bootstrap (https://github.com/rust-lang/rust/pull/142357), I ran into errors in tests that were quite hard to debug. Partly also because the current staging test diffs are multiline and use `Debug` output, so it's quite difficult for me to make sense of them.
In this PR, I introduce `insta`, which allows writing snapshot tests in a very simple way. With it, I want to allow writing tests that will clearly show us what is going on during bootstrap execution, and then write golden tests for `build/check/test` stage `0/1/2` for compiler/std/tools etc., to make sure that we don't regress something, and also to help with [#t-infra/bootstrap > Proposal to cleanup stages and steps after the redesign](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Proposal.20to.20cleanup.20stages.20and.20steps.20after.20the.20redesign/with/523488806), to help avoid a situation where we would (again) have to make a flurry of staging changes because of unexpected consequences.
In the snapshot tests, we currently render the build of rustc, std and LLVM. Currently I render the executed steps using downcasting, which is not super pretty, but it allows us to make the test rendering localized in one place, and it's IMO enough for now.
I implemented only a single test using the new machinery. Maybe if you take a look at it, you will understand why :laughing: Bootstrap currently does some peculiar things, such as running a stage 0 std step (even though stage 0 std no longer exists) and running the Rustc stage 0 -> 1 step twice, once with a single crates, once with all rustc crates. So I think that even with this single step, there will be a bunch of things to fix in the near future...
The way we currently prepare the Config test fixtures is far from ideal, this is something I think ``@Shourya742`` could work on as a part of their GSoC project (remove as much command execution from Config construction as possible, actually run bootstrap on a temporary directory instead of running it on the rustc checkout, create a Builder-like API for creating the Config test fixtures).
r? ``@jieyouxu``
|
|
Assorted bootstrap cleanups (step 2)
Very small improvements designed towards making bootstrap tests less hacky/special, and towards making it possible to run bootstrap tests in parallel.
Best reviewed commit by commit.
r? ``@jieyouxu``
|
|
Fix Debug for Location
Fixes https://github.com/rust-lang/rust/issues/142279
|
|
Add documentation for `PathBuf`'s `FromIterator` and `Extend` impls
I think it's not very obvious that `PathBuf`'s `Extend` and `FromIterator` impls work like `PathBuf::push`, so I think these should be documented.
I'm not very happy with the wording and examples, open to suggestions :)
|
|
Stabilize "file_lock" feature
Closes https://github.com/rust-lang/rust/issues/130994
r? ```@joshtriplett```
|
|
Refactor `rustc_attr_data_structures` documentation
I was reading through `AttributeKind` and realized that attributes like `InlineAttr` didn't appear in it, however, I found them in `rustc_codegen_ssa` and understood why (guessing).
There's almost no overall documentation for this crate, I've added the organized documentation at the top of `lib.rs`, and I've grouped the Attributes into two categories: `AttributeKind` that run all through the compiler, and the ones that are only used in `codegen_ssa`, such as `InlineAttr`, `OptimizeAttr`, `InstructionSetAttr`.
Also, I've added documentation for `AttributeKind` that further explains why attributes like `InlineAttr` don't appear in it, with examples for each variant.
r? ```@jdonszelmann```
|
|
Expose discriminant values in stable_mir
Resolves https://github.com/rust-lang/project-stable-mir/issues/93
* Added `Discr` struct to stable mir as stable version of struct with same name
* Added `discriminant_for_variant` method to `AdtDef` and `CoroutineDef`
|
|
|
|
faster string parsing
|
|
|
|
Most likely caused by updating unicode-width v0.2.0 -> v0.2.1,
the change seems reasonable enough.
|
|
Miri subtree update
r? `@ghost`
|
|
|
|
|