| Age | Commit message (Collapse) | Author | Lines |
|
fix: Fix another issue with fixup reversing
|
|
We need to *remove* the whole subtree, but we don't advance `i` by this, because it hasn't gotten there yet (and never will).
|
|
fix: Fix actual token lookup in completion's `expand()`
|
|
Add config setting which allows adding additional include paths to the VFS.
|
|
fix: Make edition per-token, not per-file
|
|
refactor: struct holding cargo cfgs settings
|
|
minor: Fixup macro error kinds
|
|
|
|
refactor test helpers within ide-completions
|
|
internal: Migrate `(un)wrap_return_type` assists to use `SyntaxEditor`
|
|
More correctly, *also* per-token. Because as it turns out, while the top-level edition affects parsing (I think), the per-token edition affects escaping of identifiers/keywords.
|
|
It should be left biased, not right biased, because when e.g. the use has typed `h` then requested completion, the `h` is what we want to find, not the next token (which might indeed be inside a macro call).
I'm not sure why I wrote `right_biased()` to begin with (I remember I had a reason and not just "both should work"), I might've copied the code in `expand_and_analyze()` (which is wrong, because there it lookups on the speculative file, where right biased will always find the correct token and left biased not).
This is still not perfect, because there might not be an identifier already typed then we might still end up in a macro call, but this is the best we can do.
|
|
|
|
Also changes `make::expr_empty_block()` to return `ast::BlockExpr` instead of `ast::Expr`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fix: Fix `env`/`option_env` macro check disregarding macro_rules definitions
|
|
|
|
internal: Migrate `if let` replacement assists to `SyntaxEditor`
|
|
minor: Fix `test-fixture` autopublishing
|
|
|
|
fix: Fix a bug with missing binding in MBE
|
|
We should immediately mark them as finished, on the first entry.
The funny (or sad) part was that this bug was pre-existing, but previously to #18327, it was causing us to generate bindings non-stop, 65535 of them, until we get to the hardcoded repetition limit, and then throw it all away. And it was so Blazingly Fast that nobody noticed.
With #18327 however, this is still what happens, except that now instead of *merging* the fragments into the result, we write them on-demand. Meaning that when we hit the limit, we've already written all previous entries. This is a minor change, I thought for myself when I was writing this, and it's actually for the better, so who cares. Minor change? Not so fast. This caused us to emit 65535 repetitions, all of which the MBE infra needs to handle when calling other macros with the expansion, and convert to rowan tree etc., which resulted a *massive* hang.
The test (and also `analysis-stats`) used to crash with stack overflow on this macro, because we were dropping some crazily deep rowan tree. Now they work properly. Because I am lazy, and also because I could not find the exact conditions that causes a macro match but with a missing binding, I just copied all macros from tracing. Easy.
|
|
minor: Sync from downstream
|
|
|
|
|
|
Drop unnecessary tracing::warn
|
|
internal: target-triple -> target-tuple + version fetching cleanup
|
|
We already emit an error
|
|
|
|
Fix --target flag argument order in rustc_cfg fetching
|
|
|
|
Remove `rust-analyzer.cargo.sysrootQueryMetadata` config again
|
|
|
|
fix: Fix diagnostics not clearing between flychecks
|
|
fix: do not offer completions within macro strings
|
|
Fix JSON project `PackageRoot` buildfile inclusion
|
|
|
|
|
|
|
|
|
|
minor: Set test-utils dependency version, since it's now published
|
|
|
|
Avoid replacing the definition of `CURRENT_RUSTC_VERSION`
Before this PR, replace-version-placeholder hardcoded the path defining CURRENT_RUSTC_VERSION (to avoid replacing it). After a refactor moved the file defining it without changing the hardcoded path, the tool started replacing the constant itself with the version number.
To avoid this from happening in the future, this changes the definition of the constant to avoid the tool from ever matching it.
r? `@workingjubilee`
|
|
Fix case where completion inside macro that expands to `#[test]` was unavailable
|
|
Rollup of 9 pull requests
Successful merges:
- #131830 (Add support for wasm exception handling to Emscripten target)
- #132345 (Improve diagnostics for `HostEffectPredicate` in the new solver)
- #134568 (Release notes for 1.84.0)
- #134744 (Don't ice on bad transmute in typeck in new solver)
- #135090 (Suggest to replace tuple constructor through projection)
- #135116 (rustdoc: Fix mismatched capitalization in sidebar)
- #135126 (mark deprecated option as deprecated in rustc_session to remove copypasta and small refactor)
- #135139 ([generic_assert] Constify methods used by the formatting system)
- #135170 (Update triagebot.toml: celinval vacation is over)
r? `@ghost`
`@rustbot` modify labels: rollup
|