about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2024-12-27clippyRalf Jung-6/+6
2024-12-27tools: fix build failure caused by PR #134420Integral-2/+2
2024-12-27Merge from rustcThe Miri Cronjob Bot-3656/+9266
2024-12-27Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-12-26Auto merge of #134795 - GuillaumeGomez:rollup-9x8n7pi, r=GuillaumeGomezbors-1/+0
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
2024-12-26Rollup merge of #134656 - jieyouxu:migrate-incr-add-rust-src-component, ↵Guillaume Gomez-1/+0
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
2024-12-26Auto merge of #134788 - flip1995:clippy-subtree-update, r=matthiaskrgrbors-1415/+6002
Clippy subtree update r? `@Manishearth`
2024-12-26Merge pull request #18762 from ↵Lukas Wirth-5/+28
davidbarsky/davidbarsky/wrap-salsa-cancellation-error internal: wrap `salsa::Cycle`
2024-12-26Merge pull request #18761 from Veykril/push-vktnzltnxuprLukas Wirth-7/+6
internal: Swallow `error: config value is not set` cargo error
2024-12-26internal: wrap `salsa::Cycle`David Barsky-5/+28
2024-12-26internal: Swallow `error: config value is not set` cargo errorLukas Wirth-7/+6
2024-12-26Merge commit '609cd310be44677ae31d452a17b0f8207e1abfe1' into ↵Philipp Krones-1415/+6002
clippy-subtree-update
2024-12-26internal: Workaround salsa cycles leakingLukas Wirth-6/+11
2024-12-26Auto merge of #134784 - RalfJung:miri-sync, r=RalfJungbors-719/+868
Miri subtree update r? `@ghost`
2024-12-26minor: format editor/coderoife-13/+14
2024-12-26move env vars for snapshot tests to UpdateTestroife-15/+33
2024-12-26optimize snapshot-testing macro detection and add testsroife-45/+137
2024-12-26fix incorrect name for UpdateTest configroife-4/+4
2024-12-26fix: await setting config to `not ask before UpdateTest` and formatroife-7/+7
2024-12-26feat: add config `UpdateTest` to hover actionsroife-2/+26
2024-12-26feat: support UpdateTest in hover actions and runnablesroife-30/+32
2024-12-26feat: support UpdateTest in codelensroife-57/+204
2024-12-26feat: Add TestDefs to find usage of Expect, Insta and Snapboxroife-21/+168
2024-12-26Use empty `SymbolInformation.signature_documentation.relative_path`Michael Sloan-9/+2
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.
2024-12-26Provide SCIP `external_symbols` + fix symbols provided with DocumentMichael Sloan-58/+146
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`.
2024-12-25Improve SCIP symbolsMichael Sloan-270/+522
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
2024-12-25swap_typed_nonoverlapping: properly detect overlap even when swapping scalar ↵Ralf Jung-3/+25
values
2024-12-25rename typed_swap → typed_swap_nonoverlappingRalf Jung-12/+12
2024-12-25we generally make later flags overwrite earlier flags, so remove some logic ↵Ralf Jung-18/+3
guarding just against that
2024-12-25remove some flags that have been hard errors for a whileRalf Jung-9/+0
2024-12-25show an error on some invalid flag combinations: TB + permissive provenance; ↵Ralf Jung-17/+21
strict provenance + native calls
2024-12-25miri: add test for overlapping typed_swapRalf Jung-0/+28
2024-12-25Auto merge of #134738 - clubby789:forbid-output-ui, r=jieyouxubors-2/+4
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
2024-12-25Auto merge of #134747 - weihanglo:update-cargo, r=weihanglobors-0/+0
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)
2024-12-24Update cargoWeihang Lo-0/+0
2024-12-25compiletest: Support `forbid-output` in UI testsclubby789-2/+4
2024-12-25fix missing name enum when hovering on fields in variantsroife-3/+14
2024-12-24fix: Fix metrics workflow using the wrong download-artifact versionLukas Wirth-1/+1
2024-12-24Merge pull request #18743 from ChayimFriedman2/e0107Lukas Wirth-275/+881
feat: Unify handling of path diagnostics in hir-ty
2024-12-24Merge pull request #18754 from Veykril/push-zkkzxrsxnqnmLukas Wirth-140/+209
Cleanup target fetching for cargo metadata
2024-12-24Unify handling of path diagnostics in hir-tyChayim Refael Friedman-247/+848
Because it was a mess. Previously, pretty much you had to handle all path diagnostics manually: remember to check for them and handle them. Now, we wrap the resolver in `TyLoweringContext` and ensure proper error reporting. This means that you don't have to worry about them: most of the things are handled automatically, and things that cannot will create a compile-time error (forcing you top `drop(ty_lowering_context);`) if forgotten, instead of silently dropping the diagnostics. The real place for error reporting is in the hir-def resolver, because there are other things resolving, both in hir-ty and in hir-def, and they all need to ensure proper diagnostics. But this is a good start, and future compatible. This commit also ensures proper path diagnostics for value/pattern paths, which is why it's marked "feat".
2024-12-24Cleanup target fetching for cargo metadataLukas Wirth-140/+209
2024-12-24chore: fix typosoliveredget-1/+1
2024-12-24Merge pull request #18707 from ChayimFriedman2/substLukas Wirth-186/+1015
feat: Show substitution where hovering over generic things
2024-12-24Merge pull request #18718 from Giga-Bowser/fix-syntaxfactory-intoiteratorLukas Wirth-16/+28
internal: Standardize how we take iterator parameters in `SyntaxFactory`
2024-12-24Merge pull request #18722 from markmurphydev/status_bar_settingsLukas Wirth-35/+62
Rename `rust-analyzer.statusBar.documentSelector` to `showStatusBar`, add "always" and "never" options.
2024-12-24Merge pull request #18750 from Veykril/push-tyvtqpwrwvsrLukas Wirth-103/+7
Back out "internal: Disable rustc test metrics"
2024-12-24Back out "internal: Disable rustc test metrics"Lukas Wirth-2/+7
This backs out commit d9a08624aad55a91f839e6ee3acf7117d197cda9.
2024-12-24Remove dangling outdated test moduleLukas Wirth-101/+0
2024-12-24Merge pull request #18749 from PrototypeNM1/windows-debugger-waitLukas Wirth-7/+25
minor: Break out of waiting for debugger on Windows using native debugger check API.