Chayim Refael Friedman
c8540e7079
Fix prettify_macro_expansion()
when the node isn't the whole file
2024-10-05 22:39:33 +03:00
Shoyu Vanilla
e09c2a08d7
Fix: Handle block exprs as modules when finding their parents
2024-10-01 14:05:15 +09:00
Noah Bright
4255cae1bb
Rename object_safety to dyn_compatibility
...
Up to a trait implemented by another package, linking to
$CARGO_HOME/registry/cache/index.crates.io-6f17d22bba15001f/
2024-09-29 07:26:45 -04:00
Laurențiu Nicola
a6572e9234
Support expect in attribute completion and hover
2024-09-23 14:55:50 +03:00
Chayim Refael Friedman
798c963875
Fix printing of constants greater than i128::MAX
2024-09-16 01:30:18 +03:00
roife
5db510b258
feat: use shorthand when pretty-print record pat
2024-09-09 23:20:31 +08:00
roife
5c97361622
fix: add parenthesis for or-pattern
2024-09-09 20:59:23 +08:00
roife
5caa56e18a
fix: use pretty_print_pat
for params in fn
2024-09-09 20:59:23 +08:00
Lukas Wirth
4502a602a7
internal: Lay basic ground work for standalone mbe tests
2024-09-01 12:42:44 +02:00
Lukas Wirth
1e30cc0f35
minor: Reduce friction for updating minicore
2024-09-01 11:32:55 +02:00
Chayim Refael Friedman
91f2016ee1
Do not report missing unsafe on addr_of[_mut]!(EXTERN_OR_MUT_STATIC)
...
The compiler no longer does as well; see https://github.com/rust-lang/rust/pull/125834 .
2024-08-29 22:58:26 +03:00
Shoyu Vanilla
6520a43ca3
feat: Implement object safety
2024-08-29 22:22:21 +09:00
Lukas Wirth
fa48bc216c
Revert "feat: Implement module_path
macro"
2024-08-27 08:19:09 +02:00
bors
0ad26e6025
Auto merge of #17941 - ChayimFriedman2:pre-closure-to-fn, r=Veykril
...
Preliminary work for #17940
I split the PR as requested, and made small commits.
2024-08-26 08:09:15 +00:00
Chayim Refael Friedman
34920dde8d
Provide Future::Output
and Iterator
lang items
2024-08-24 23:46:32 +03:00
Lukas Wirth
d44a3ab30c
internal: Implement module_path
macro
2024-08-21 13:50:05 +02:00
Chayim Refael Friedman
9d3368f2c2
Properly account for editions in names
...
This PR touches a lot of parts. But the main changes are changing
`hir_expand::Name` to be raw edition-dependently and only when necessary
(unrelated to how the user originally wrote the identifier),
and changing `is_keyword()` and `is_raw_identifier()` to be edition-aware
(this was done in #17896 , but the FIXMEs were fixed here).
It is possible that I missed some cases, but most IDE parts should properly
escape (or not escape) identifiers now.
The rules of thumb are:
- If we show the identifier to the user, its rawness should be determined
by the edition of the edited crate. This is nice for IDE features,
but really important for changes we insert to the source code.
- For tests, I chose `Edition::CURRENT` (so we only have to (maybe) update
tests when an edition becomes stable, to avoid churn).
- For debugging tools (helper methods and logs), I used `Edition::LATEST`.
2024-08-16 16:46:24 +03:00
Shoyu Vanilla
f4b7e8100c
fix: Panic while displaying associated function with a type annotation
2024-08-15 09:37:49 +09:00
Shoyu Vanilla
aa62c9d664
fix: Panic while rendering function with impl trait arg
2024-08-08 22:03:31 +09:00
Lukas Wirth
fcb88832de
Simplify FileDelegate
2024-08-05 13:03:03 +02:00
Lukas Wirth
ef462ca88e
Update test fixtures
2024-07-18 09:09:31 +02:00
Lukas Wirth
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +02:00
beetrees
d5db933f9d
Add f16
and f128
support
2024-07-10 10:43:14 +01:00
beetrees
320022622c
fix: Fix double rounding of f32
literals
2024-07-08 16:31:32 +01:00
Lukas Wirth
09932d9cd4
Update hover test fixture
2024-07-07 08:55:10 +02:00
Lukas Wirth
aaa5426fec
internal: Add StaticLifetime to hir API
2024-05-16 08:02:51 +02:00
Lukas Wirth
5b696bac5c
Don't render multi-line literal values
2024-05-13 12:56:02 +02:00
Lukas Wirth
253929f6ae
Fix literal hovers being confusing and wrong for floats
2024-05-13 12:26:45 +02:00
bors
65eda41e65
Auto merge of #17021 - roife:add-hover-limits-for-adts, r=Veykril
...
Support hovering limits for adts
Fix #17009
1. Currently, r-a supports limiting the number of struct fields displayed when hovering. This PR extends it to support enum variants and union fields. Since the display of these three (ADTs) is similar, this PR extends 'hover_show_structFields' to 'hover_show_adtFieldsOrVariants'.
2. This PR also resolved the problem that the layout of ADT was not restricted by display limitations when hovering on the Self type.
3. Additionally, this PR changes the default value of display limitations to `10` (instead of the original `null`), which helps users discover this feature.
2024-04-25 07:23:27 +00:00
bors
4c08e2d32f
Auto merge of #16938 - Nilstrieb:dont-panic-tests, r=Veykril
...
Implement `BeginPanic` handling in const eval
for #16935 , needs some figuring out of how to write these tests correctly
2024-04-21 16:22:02 +00:00
Lukas Wirth
3b9a2af21f
Peek for panic message in test output
2024-04-21 08:50:25 +02:00
roife
aa1f1344cc
fix: remove space within {}
when no fields in struct
2024-04-20 10:07:33 +08:00
roife
43576989a1
Add hovering limitations support for variants
2024-04-20 09:14:00 +08:00
roife
e0e28ec856
fix: add a separate setting for enum variants
2024-04-19 21:45:56 +08:00
Lukas Wirth
6bfdd38c69
Render matched macro arm on hover of macro calls
2024-04-18 10:51:58 +02:00
roife
6bb85985d7
fix: adjust the limitation for ADTs' fields to 5
2024-04-16 16:28:23 +08:00
roife
c06d670f8f
fix: the fields or variants of ADT was not restricted by limitations when hovering on Self type
2024-04-16 16:27:57 +08:00
roife
01c3559bf3
Update tests and docs for hover_show_adtFieldsOrVariants
2024-04-16 16:27:56 +08:00
Lukas Wirth
1915980031
fix: Fix impl Trait<Self>
causing stackoverflows
2024-04-15 15:41:20 +02:00
Lukas Wirth
86967032f7
Consider ADT generic parameter defaults for unsubstituted layout calculations
2024-04-03 09:01:27 +02:00
Lukas Wirth
707be6b99c
Adjust display impls to respect lifetime bounds
2024-04-02 14:51:08 +02:00
dfireBird
34a8cd6a7a
fix ADT hover considering only type or const len not lifetimes
2024-03-28 21:53:22 +05:30
Young-Flash
58013ad70d
add test for struct field hover display limit
2024-03-25 19:55:19 +08:00
Young-Flash
ba8c9810aa
review update
2024-03-25 19:55:19 +08:00
Young-Flash
a89e417ce5
adjust test
2024-03-25 19:55:19 +08:00
Nilstrieb
2dfe7de8b6
Handle panicking like rustc CTFE does
...
Instead of using `core::fmt::format` to format panic messages, which may in turn
panic too and cause recursive panics and other messy things, redirect
`panic_fmt` to `const_panic_fmt` like CTFE, which in turn goes to
`panic_display` and does the things normally. See the tests for the full
call stack.
2024-03-24 15:40:26 +01:00
Lukas Wirth
d69a81fddb
fix: Fix wrong where clause rendering on hover
2024-03-16 17:49:59 +01:00
Wilfred Hughes
30d3d68044
Fix unwanted leading whitespace in hover text
...
PR #16366 moved layout information to a separate line, so the
leading whitespace is no longer necessary.
2024-03-12 12:27:57 -07:00
Lukas Wirth
b20e467373
internal: Adjust a few things for trait assoc item hovers
2024-03-05 11:06:36 +01:00
bors
ce3216e0ae
Auto merge of #15938 - Young-Flash:display_trait_item_when_hover, r=Veykril
...
feat: add hover display for trait assoc items
This PR enable preview assoc items when hover on `trait`

inspired by https://github.com/rust-lang/rust-analyzer/pull/15847
2024-03-05 08:26:53 +00:00