| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
Treat ; as a terminator rather part of a glued expression
|
|
|
|
This is a little more verbose, but also more explicit, and avoids invoking the
full condition engine when only the pointer-width conditions are used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is a solution to the `std::sync::poison` linking problem,
and, in general, makes intra-doc links shorter and clearer.
|
|
|
|
Rollup of 4 pull requests
Successful merges:
- #134656 (Migrate `incr-add-rust-src-component` to rmake)
- #134664 (Account for removal of multiline span in suggestion)
- #134772 (Improve/cleanup rustdoc code)
- #134781 (Add more `begin_panic` normalizations to panic backtrace tests)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Improve/cleanup rustdoc code
Ran clippy on rustdoc, always beneficial. :)
r? `@notriddle`
|
|
r=wesleywiser
Migrate `incr-add-rust-src-component` to rmake
This PR partially supersedes #128562, and ports the Makefile-based `tests/run-make/incr-add-rust-src-component` to use rmake.rs infra.
Part of #121876.
This run-make test is a regression test for https://github.com/rust-lang/rust/issues/70924. It (tries to) checks that if we add the `rust-src` component in between two incremental compiles, that the compiler doesn't ICE on the second invocation.
- Original issue:https://github.com/rust-lang/rust/issues/70924
- Fix PR: https://github.com/rust-lang/rust/pull/72767
- PR adding this regression test: https://github.com/rust-lang/rust/pull/72952
However, the Makefile version of this used `$SYSROOT/lib/rustlib/src/rust/src/libstd/lib.rs`, but that actually got moved around and reorganized over the years. As of Dec 2024, the `rust-src` component is more like (specific for our purposes):
```
$SYSROOT/lib/rustlib/src/rust/
library/std/src/lib.rs
src/
```
However, this run-make test is ancient and it exercises incr-comp system logic. I'm not sure if this test would actually catch the original regression.
This PR was co-authored with `@Oneirical.`
r? incremental
try-job: i686-msvc
try-job: x86_64-mingw-1
try-job: x86_64-msvc
try-job: aarch64-apple
|
|
Clippy subtree update
r? `@Manishearth`
|
|
This makes it in more rusty way.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
davidbarsky/davidbarsky/wrap-salsa-cancellation-error
internal: wrap `salsa::Cycle`
|
|
internal: Swallow `error: config value is not set` cargo error
|
|
|
|
|
|
clippy-subtree-update
|
|
clippy-subtree-update
|
|
|
|
Miri subtree update
r? `@ghost`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm fairly sure this is more correct, and saves space(~90mb to 82mb
for Zed's index). I'm checking in about this with SCIP folks in
https://github.com/sourcegraph/scip/pull/299.
|
|
Before this change `SymbolInformation` provided by a document was the
info for all encountered symbols that have not yet been emitted. So,
the symbol information on a `Document` was a mishmash of symbols
defined in the documents, symbols from other documents, and external
symbols.
After this change, the `SymbolInformation` on documents is just the
locals and defined symbols from the document. All symbols referenced
and not from emitted documents are included in `external_symbols`.
|
|
In particular, the symbol generation before this change creates a lot
of symbols with the same name for different definitions. This change
makes progress on symbol uniqueness, but does not fix a couple cases
where it was unclear to me how to fix (see TODOs in `scip.rs`)
Behavior changes:
* `scip` command now reports symbol information omitted due to symbol
collisions. Iterating with this on a large codebase (Zed!) resulted in
the other improvements in this change.
* Generally fixes providing the path to nested definitions in
symbols. Instead of having special cases for a couple limited cases of
nesting, implements `Definition::enclosing_definition` and uses this
to walk definitions.
* Parameter variables are now treated like locals.
- This fixes a bug where closure captures also received symbols
scoped to the containing function. To bring back parameter
symbols I would want a way to filter these out, since they can
cause symbol collisions.
- Having symbols for them seems to be intentional in
27e2eea54fbd1edeefa2b47ddd4f552a04b86582, but no particular use is
specified there. For the typical indexing purposes of SCIP I don't see
why parameter symbols are useful or sensible, as function parameters
are not referencable by anything but position. I can imagine they
might be useful in representing diagnostics or something.
* Inherent impls are now represented as `impl#[SelfType]` - a type
named `impl` which takes a single type parameter.
* Trait impls are now represented as `impl#[SelfType][TraitType]` - a
type named `impl` which takes two type parameters.
* Associated types in traits and impls are now treated like types
instead of type parameters, and so are now suffixed with `#` instead
of wrapped with `[]`. Treating them as type parameters seems to have
been intentional in 73d9c77f2aeed394cf131dce55807be2d3f54064 but it
doesn't make sense to me, so changing it.
* Static variables are now treated as terms instead of `Meta`, and so
receive `.` suffix instead of `:`.
* Attributes are now treated as `Meta` instead of `Macro`, and so
receive `:` suffix instead of `!`.
* `enclosing_symbol` is now provided for labels and generic params,
which are local symbols.
* Fixes a bug where presence of `'` causes a descriptor name to get
double wrapped in backticks, since both `fn new_descriptor` and
`scip::symbol::format_symbol` have logic for wrapping in
backticks. Solution is to simply delete the redundant logic.
* Deletes a couple tests in moniker.rs because the cases are
adequeately covered in scip.rs and the format for identifiers used in
moniker.rs is clunky with the new representation for trait impls
|
|
|
|
nits: Cleanup of `librustdoc::clean::Cfg::simplify_with`
r? `@GuillaumeGomez`
|
|
values
|
|
|
|
guarding just against that
|
|
|
|
strict provenance + native calls
|
|
|
|
compiletest: Support `forbid-output` in UI tests
The `forbid-output` directive is currently only run in incremental tests (although no incremental tests use it). There are some UI tests 'using' it, but it's doing nothing 😄 Let's fix this
Will also PR the dev guide to note this.
dev-guide PR: https://github.com/rust-lang/rustc-dev-guide/pull/2171
|
|
Rollup of 3 pull requests
Successful merges:
- #134525 (Arbitrary self types v2: unstable doc updates.)
- #134735 (Consider arm to diverge if guard diverges)
- #134741 (Actually print all the relevant parts of a coroutine in verbose mode)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Arbitrary self types v2: unstable doc updates.
Document these two feature flags.
Part of #44874 .
|
|
Update cargo
6 commits in 652623b779c88fe44afede28bf7f1c9c07812511..c86f4b3a1b153218e6e50861214b0b4b4e695f23
2024-12-20 15:44:42 +0000 to 2024-12-24 17:49:48 +0000
- fix(package): check dirtiness of path fields in manifest (rust-lang/cargo#14966)
- test: make path arguments more generic and flexible (rust-lang/cargo#14979)
- Moved manifest metadata tracking from fingerprint to dep info (rust-lang/cargo#14973)
- fix: assure possibly blocking non-files (like FIFOs) won't be picked up for publishing. (rust-lang/cargo#14977)
- simplify SourceID Hash (rust-lang/cargo#14800)
- upgrade `gix` to the latest release 0.69. (rust-lang/cargo#14975)
|