bors
062822ce91
Auto merge of #17641 - nyurik:optimize-refs, r=Veykril
...
Avoid ref when using format! in compiler
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
See https://github.com/rust-lang/rust-clippy/issues/10851
2024-07-20 06:40:27 +00:00
Yuri Astrakhan
cc1aded86c
Avoid ref when using format! in compiler
...
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
2024-07-19 14:41:59 -04:00
Lukas Wirth
92f5e806f1
Fix edition used for include macro parsing
2024-07-19 20:29:53 +02:00
Lukas Wirth
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +02:00
Lukas Wirth
b8cac1bb6b
string is not a keyword
2024-07-17 11:11:57 +02:00
Lukas Wirth
7011094685
Add always disabled gen parse support
2024-07-17 10:49:12 +02:00
Lukas Wirth
983c9c122e
Derive kinds information from ungrammar file
2024-07-17 10:04:45 +02:00
Lukas Wirth
2346a80ab4
Remove Name::to_smol_str
2024-07-16 12:43:58 +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
35aa238020
Inline all the things
2024-07-07 11:18:40 +02:00
Lukas Wirth
c08d419fba
HasGenericArgs syntax trait
2024-07-07 11:18:28 +02:00
Lukas Wirth
ce5046be50
Run codegen commands as tests if their results are commited
2024-07-07 09:14:50 +02:00
Lukas Wirth
013b6a883f
Fix up the syntax tree for macro 2.0
2024-07-03 10:41:19 +02:00
Lukas Wirth
21a3d01875
Remove inline rust_2018_idioms, unused_lifetimes
lint warn, Cargo.toml already enforces this
2024-06-30 15:23:54 +02:00
davidsemakula
d6d45a23d3
fix: don't remove parentheses for calls of function-like pointers that are members of a struct or union
2024-06-21 17:57:53 +03:00
abdullathedruid
2592f3168f
Update lib.rs
2024-06-18 00:52:53 +01:00
Wilfred Hughes
27182bb96b
chore: Prefer tracing span shorthand macros
2024-06-06 16:52:25 -07:00
bors
cb6b808185
Auto merge of #17315 - hamirmahal:style/simplify-string-interpolation, r=Veykril
...
style: simplify string interpolation
2024-06-03 12:29:27 +00:00
DropDemBits
a741bb2055
fix typos & formatting
2024-06-02 14:09:36 -04:00
DropDemBits
cf9401049c
Make extract_expressions_from_format_string
only use snippets when available
2024-06-02 11:47:05 -04:00
DropDemBits
e989f22015
Add ast::Expr::parse
2024-06-02 11:17:52 -04:00
DropDemBits
c4573b26f6
minor: tidy up Parse
a little bit
...
- Add doc comments to some `Parse` methods
- Uses `Parse::new` more
2024-06-02 11:10:39 -04:00
Hamir Mahal
7c34eb3880
style: simplify string interpolation
2024-05-30 16:18:49 -07:00
bors
e3e22c67e0
Auto merge of #17140 - harrysarson:harry-unused-self, r=Veykril
...
handle {self} when removing unused imports
Fixes #17139
On master
```rs
mod inner {
pub struct X();
pub struct Y();
}
mod z {
use super::inner::{self, X}$0;
fn f() {
let y = inner::Y();
}
}
```
becomes
```rs
mod inner {
pub struct X();
pub struct Y();
}
mod z {
use super::inner:self;
fn f() {
let y = inner::Y();
}
}
```
with this fix it instead becomes
```
```rs
mod inner {
pub struct X();
pub struct Y();
}
mod z {
use super::inner;
fn f() {
let y = inner::Y();
}
}
```
2024-05-23 08:30:10 +00:00
Lukas Wirth
7c6f31a45b
Allow hir::Param to refer to other entity params aside from functions
2024-05-18 12:35:55 +02:00
bors
d28111dce8
Auto merge of #17224 - Veykril:lock-bump, r=Veykril
...
Bump Cargo.lock
2024-05-14 08:59:34 +00:00
Lukas Wirth
2a4be8d1f7
Bump Cargo.lock
2024-05-14 10:57:02 +02:00
Lukas Wirth
a39c0493a1
Render literal escaping errors in hovers
2024-05-13 12:51:57 +02:00
Lukas Wirth
e1aeed3aed
Implement unsafe attribute parsing
2024-05-06 12:11:29 +02:00
Harry Sarson
a653ddf940
braces around {self} in UseTree are not unnecessary
...
Before this commit `UseTree::remove_unnecessary_braces` removed the braces
around `{self}` in `use x::y::{self};` but `use x::y::self;` is not valid
rust.
2024-04-30 18:17:32 +01: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
roife
3e232bb78a
fix: replace unescape fn with the one in ra-ap-rustc_lexer
2024-04-19 20:32:53 +08:00
Lukas Wirth
5df690e13f
Fixup some issues with minicore
2024-04-18 12:20:54 +02:00
Lukas Wirth
a483d3bc37
internal: Thread edition through to parsing/tt-to-syntax-tree routines for macros
2024-04-14 16:02:38 +02:00
Lukas Wirth
83370fe5d7
Use Edition::CURRENT
2024-04-14 15:30:29 +02:00
Lukas Wirth
9c75e9fa7d
Deduplicate Edition enum
2024-04-14 15:29:01 +02:00
Johann Hemmann
2cf5d8811a
Raise edition one more level
2024-04-14 15:11:33 +02:00
Johann Hemmann
454e481422
Add edition to all parse
functions of the parser crate
2024-04-14 15:07:43 +02:00
Lukas Wirth
b38d5394bb
internal: Move grammar codegen into xtask
2024-03-19 10:57:53 +01:00
Lukas Wirth
4b679f90dd
Generate AST in a more stable manner
2024-03-18 09:24:10 +01:00
Lukas Wirth
77607ab99a
More precise highlighting rules for constant modifier
2024-03-17 11:26:05 +01:00
Lukas Wirth
c50c4f8bbb
internal: Use assoc items as anchors for spans
2024-03-15 09:28:39 +01:00
Niklas Lindorfer
2a4ba4295b
fix: hide destructure_struct_binding assist if no public fields
2024-03-04 21:50:01 +00:00
Lukas Wirth
c3c9f5ffe1
internal: Compute syntax validation errors on demand
2024-03-04 12:06:15 +01:00
Lukas Wirth
4303e741de
Cleanup
2024-03-04 11:10:06 +01:00
bors
4ef6a49b44
Auto merge of #16702 - Veykril:intra-doc-links-generic, r=Veykril
...
fix: Ignore generic arguments in intra doc link path resolution
Fixes https://github.com/rust-lang/rust-analyzer/issues/16699
2024-03-02 09:51:16 +00:00
Niklas Lindorfer
ed230048dc
Add destructure_struct_binding
action
...
Separate into create and apply edit
Rename usages
Hacky name map
Add more tests
Handle non-exhaustive
Add some more TODOs
Private fields
Use todo
Nesting
Improve rest token generation
Cleanup
Doc -> regular comment
Support mut
2024-02-29 13:17:44 +00:00
Lukas Wirth
ab533d887d
fix: Ignore generic arguments in intra doc link path resolution
2024-02-28 14:47:47 +01:00
Michael Goulet
36020bb512
Update grammar
...
Bounds are CONSTNESS ASYNCNESS POLARITY
2024-02-16 16:16:37 +00:00