Commit graph

32520 commits

Author SHA1 Message Date
Giga Bowser
68b85ce66f minor: Migrate remove_unnecessary_wrapper to SyntaxEditor 2024-12-09 21:16:31 -05:00
Giga Bowser
59cd717602 fix: Handle the final statement in SyntaxFactory::block_expr properly
This caused a bug that was rather tricky to hunt down!
2024-12-09 21:15:15 -05:00
Giga Bowser
d881208d1b Add diagnostic fix to remove unnecessary wrapper in type mismatch
I also reorganized the tests in a more logical order, and removed the redundant `test_` prefix from their names.
2024-12-09 21:15:15 -05:00
Kirill Bulatov
d8d35dbfcc Clippy fixes 2024-12-10 01:04:02 +02:00
Kirill Bulatov
89c2aaed8c Avoid hashing completion-related ranges as those may change during /resolve query 2024-12-10 00:45:57 +02:00
Yuki Sireneva
dff827741d
crates/r-a: Fix typo in debug message 2024-12-10 00:13:17 +03:00
Kirill Bulatov
b59b2fb469 Unite more bool hashing 2024-12-09 22:38:55 +02:00
Kirill Bulatov
5906bda975 Stop excluding Helix from the general resolve path 2024-12-09 22:26:00 +02:00
Kirill Bulatov
d348ffb480 Always compute the hash when r-a wants the imports to be resolved 2024-12-09 22:26:00 +02:00
Kirill Bulatov
62d97d9ba7 Draft completion hashing 2024-12-09 22:26:00 +02:00
roife
9c03cbb499 minor: enhance name suggestion for Arc<T> and Rc<T> 2024-12-10 02:47:52 +08:00
Lukas Wirth
99a6ecd41e
Merge pull request #18647 from Veykril/push-nsrrmmnzzoym
internal: Disable pipe on typing handler
2024-12-09 15:06:29 +00:00
Lukas Wirth
f021ec3b96 Disable pipe on typing handler 2024-12-09 15:52:04 +01:00
Lukas Wirth
067b4a32dd
Merge pull request #18645 from Veykril/push-yruoyrvrsntw
fix: Non-exhaustive structs may be empty
2024-12-09 13:26:47 +00:00
Lukas Wirth
55a7ee8065 fix: Non-exhaustive structs may be empty 2024-12-09 14:12:22 +01:00
Lukas Wirth
d8248714dc
Merge pull request #18644 from Veykril/push-nolvpzqvoqwx
Remove patch sysroot cfg-if hack
2024-12-09 10:58:27 +00:00
Lukas Wirth
bdb2a3e182
Merge pull request #18643 from Veykril/push-muwuzmowptnn
internal: Rename test fixture crates to ra_test_fixture
2024-12-09 10:54:51 +00:00
Lukas Wirth
7085328185 Remove patch sysroot cfg-if hack 2024-12-09 11:42:51 +01:00
Lukas Wirth
956ff4d8c5 Rename test fixture crates to ra_test_fixture 2024-12-09 11:40:21 +01:00
Laurențiu Nicola
f689930bc3
Merge pull request #18642 from lnicola/rm-minicore-unstable
minor: Remove unstable attributes in minicore
2024-12-09 09:41:53 +00:00
Laurențiu Nicola
d5b96b7998 Remove unstable attributes in minicore 2024-12-09 11:17:17 +02:00
Lukas Wirth
94032e8c64
Merge pull request #18441 from Veykril/lw-psyvmlotlvqn
internal: Do not cache the config directory path
2024-12-09 08:47:20 +00:00
Lukas Wirth
10a07a443d Fix config guard lock for ratoml tests 2024-12-09 09:33:02 +01:00
Lukas Wirth
1c3043bc8c
Merge pull request #18635 from ChayimFriedman2/fix-test
minor: Fix a test that didn't test what it should
2024-12-09 08:02:05 +00:00
Lukas Wirth
10cd09f6f1
Merge pull request #18531 from Giga-Bowser/map-new-nodes
fix: Map new replacement nodes to their mutable equivalents in `SyntaxEditor`
2024-12-09 08:01:55 +00:00
bors
b1206633fd Auto merge of #133891 - nnethercote:MixedBitSet, r=Mark-Simulacrum
Introduce `MixedBitSet`

`ChunkedBitSet` is good at avoiding excessive memory usage for programs with very large functgions where dataflow bitsets have very large domain sizes. But it's overly heavyweight for small bitsets, because any non-empty `ChunkedBitSet` takes up at least 256 bytes.

This PR introduces `MixedBitSet`, which is a simple bitset that uses `BitSet` for small/medium bitsets and `ChunkedBitSet` for large bitsets. It's a speed and memory usage win.

r? `@Mark-Simulacrum`
2024-12-09 07:13:11 +00:00
Giga Bowser
e66b4f336d fix: Map new replacement nodes to their mutable equivalents in SyntaxEditor 2024-12-08 15:55:34 -05:00
bors
801e6b7091 Auto merge of #133134 - Walnut356:synth_prov, r=Mark-Simulacrum
Don't use a SyntheticProvider for literally every type

Replaces a glob regex with individualized imports for each standard library type. This improves debugger performance by quite a bit when populating lots of values with lots of fields

With the glob, afaik every single value of every single type that the debugger renders is run through a python function that does quite a few string comparisons (i plan to fix those next) to determine the SyntheticProvider to use.  It looks like DefaultSyntheticProvider's functions internally call the liblldb c++ functions, which ends up with identical behavior to not using a SyntheticProvider at all, except you have extra python round trips slowing things down.

These sample vidoes were run on x86-64-pc-windows-gnu. `vect` is a 1000 element `Vec<Big>`, `Big` contains a dozen or so `Small`, and `Small` contains a dozen or so `[i32; 5]`

Before:

https://github.com/user-attachments/assets/07c31fe7-e126-4c2e-8ae9-cfe36e351d3f

After:

https://github.com/user-attachments/assets/6c0d1a45-1ffe-46de-95a0-5dbe59a173b5

---

try-job: aarch64-apple
2024-12-08 19:30:33 +00:00
Chayim Refael Friedman
26333a467e Fix a test that didn't test what it should
That is, fix the helper function and disable the tests for now.
2024-12-08 15:02:14 +02:00
Lukas Wirth
4c755e62a6
Merge pull request #18633 from ChayimFriedman2/unify-fn
fix: Coerce two `FnDef`s to fn pointers even if they are the same, if they are subtypes
2024-12-08 07:18:57 +00:00
bors
06c0086023 Auto merge of #133988 - weihanglo:update-cargo, r=weihanglo
Update cargo

6 commits in 05f54fdc34310f458033af8a63ce1d699fae8bf6..20a443231846b81c7b909691ec3f15eb173f2b18
2024-12-03 03:14:12 +0000 to 2024-12-06 21:56:56 +0000
- fix(fingerprint): Don't throwaway the cache on RUSTFLAGS changes  (rust-lang/cargo#14830)
- fix(build-rs)!: Remove meaningless 'cargo_cfg_debug_assertions' (rust-lang/cargo#14901)
- docs(fingerprint): cargo-rustc extra flags do not affect the metadata  (rust-lang/cargo#14898)
- fix(add): Don't select yanked versions when normalizing names (rust-lang/cargo#14895)
- fix(fix): Migrate workspace dependencies (rust-lang/cargo#14890)
- test(build-std): make mock-std closer to real world (rust-lang/cargo#14896)
2024-12-08 01:44:04 +00:00
Chayim Refael Friedman
a9e015f8ee Coerce two FnDefs to fn pointers even if they are the same, if they are subtypes
That's because they can be the same function but still different substs, which mandates them to coerce to fn pointers in order to unify.
2024-12-07 19:16:00 +02:00
Ali Bektas
4fcecbb55e Watch for user config ratoml 2024-12-07 15:22:35 +01:00
Lukas Wirth
4a418837f2
Merge pull request #18575 from Giga-Bowser/flip-assists
minor: Migrate `flip_*` assists to `SyntaxEditor`
2024-12-07 12:27:40 +00:00
Lukas Wirth
02aca112e8
Merge pull request #18630 from Veykril/push-ystzsxpywnxn
fix: Temporarily disable completion resolve support for helix and neovim
2024-12-07 12:23:21 +00:00
bors
32f6579d40 Auto merge of #133978 - matthiaskrgr:rollup-6gh1iho, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #130209 (Stabilize `std::io::ErrorKind::CrossesDevices`)
 - #130254 (Stabilize `std::io::ErrorKind::QuotaExceeded`)
 - #132187 (Add Extend impls for tuples of arity 1 through 12)
 - #133875 (handle `--json-output` properly)
 - #133934 (Do not implement unsafe auto traits for types with unsafe fields)
 - #133954 (Hide errors whose suggestions would contain error constants or types)
 - #133960 (rustdoc: remove eq for clean::Attributes)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-07 09:38:00 +00:00
bors
bdc9ee6659 Auto merge of #133897 - oli-obk:push-lsxrqtqqwmpt, r=jieyouxu
Remove a lit_to_const call

We have so many special cases of `match expr.kind { Lit() => {}, Unary(Neg, Lit()) => {} }`... I'm trying to figure out how to get these all unified, but outright removing some is good, too. So let's try it.

Tho we don't have many `const {}` blocks in the perf test suite... But I also don't know how common `const { 42 }` blocks are, I'd expect these to occur mostly from macros (like `thread_local!`)
2024-12-07 06:56:50 +00:00
bors
11e76b016a Auto merge of #133883 - saethlin:remove-polymorphization, r=compiler-errors
Remove polymorphization

This PR removes the flag `-Zpolymorphize` and all the infrastructure in the compiler that exists only to support it, per https://github.com/rust-lang/compiler-team/issues/810.
2024-12-07 03:04:18 +00:00
Ben Kimock
0843b6f308 Remove polymorphization 2024-12-06 16:42:09 -05:00
Matthias Krüger
73d2a1615f
Rollup merge of #133875 - onur-ozkan:early-return-rustfmt, r=jieyouxu
handle `--json-output` properly

Because `rustfmt` doesn't support JSON output, `x test --json-output` doesn't respect the `--json-output` flag during formatting step. This change makes that `x test` skips the formatting step if `--json-output` is specified. In addition, resolves #133855 with the 2nd commit.
2024-12-06 21:21:06 +01:00
Matthias Krüger
cfffe01b80
Rollup merge of #132187 - shahn:extend_more_tuples, r=dtolnay
Add Extend impls for tuples of arity 1 through 12
2024-12-06 21:21:05 +01:00
Matthias Krüger
a4e4af9d87
Rollup merge of #130254 - GrigorenkoPV:QuotaExceeded, r=dtolnay
Stabilize `std::io::ErrorKind::QuotaExceeded`

Also drop "Filesystem" from its name.

See #130190 for more info.

FCP in #130190

cc #86442

r? `@dtolnay`
2024-12-06 21:21:04 +01:00
Matthias Krüger
45d5dccbce
Rollup merge of #130209 - GrigorenkoPV:CrossesDevices, r=dtolnay
Stabilize `std::io::ErrorKind::CrossesDevices`

FCP in #130191

cc #86442

See #130191 for more info and a recap of what has happened up until now.

TLDR: This had been FCP'd in December 2022 with some other `ErrorKind`s, but the stabilization got postponed due to some concerns voiced about several of the variants. However, the only concern ever voiced for this variant in particular was a wish to rename this to `NotSameDevice` analogous to Windows's `ERROR_NOT_SAME_DEVICE` (as opposed to Unix's `EXDEV`). This suggestion did not receive any support. So let's try to FCP this as is.

r? libs-api
2024-12-06 21:21:03 +01:00
Lukas Wirth
ad01392756 Temporarily disable completion resolve support for neovim 2024-12-06 17:37:39 +01:00
Lukas Wirth
c6208c86a5 Temporarily disable completion resolve support for helix 2024-12-06 17:07:22 +01:00
Lukas Wirth
17720acb90
Merge pull request #18629 from Veykril/push-wlsvxwomumpp
Highlight right angle as part of fat arrow in macro rules arm
2024-12-06 15:44:39 +00:00
Lukas Wirth
bf6547a77e Highlight right angle as part of fat arrow in macro rules arm 2024-12-06 16:28:32 +01:00
Lukas Wirth
f37d0fa9d3
Merge pull request #18628 from Veykril/push-sqpymrtxysmw
Add typing handler for param list pipe
2024-12-06 15:03:41 +00:00
Giga Bowser
d329329b76 feat: Migrate flip_comma assist to SyntaxEditor 2024-12-06 10:03:09 -05:00
Giga Bowser
8fd7790eb5 minor: Add token_tree constructor to SyntaxFactory 2024-12-06 10:03:09 -05:00