KaDiWa
66211d83f9
Avoid Iterator::last
2022-09-11 17:23:00 +02:00
Camille GILLOT
05812df603
Handle generic parameters.
2022-09-09 01:31:46 +00:00
Michael Goulet
d34cb98fb0
Lower RPITIT to ImplTraitPlaceholder item
2022-09-09 01:31:44 +00:00
Michael Goulet
78b962a4f3
RPITIT placeholder items
2022-09-09 01:31:44 +00:00
Santiago Pastorino
e3a738a942
Add instrument and debug calls
2022-09-07 10:46:14 -03:00
Camille GILLOT
e7164267a2
Do not call object_lifetime_default on lifetime params.
2022-09-03 21:11:42 +02:00
Oli Scherer
ee3c835018
Always import all tracing macros for the entire crate instead of piecemeal by module
2022-09-01 14:54:27 +00:00
Oli Scherer
d3b22c7267
Directly use the instrument macro instead of its full path
2022-09-01 14:53:46 +00:00
bors
b32223fec1
Auto merge of #100707 - dzvon:fix-typo, r=davidtwco
...
Fix a bunch of typo
This PR will fix some typos detected by [typos].
I only picked the ones I was sure were spelling errors to fix, mostly in
the comments.
[typos]: https://github.com/crate-ci/typos
2022-09-01 05:39:58 +00:00
Dezhi Wu
b1430fb7ca
Fix a bunch of typo
...
This PR will fix some typos detected by [typos].
I only picked the ones I was sure were spelling errors to fix, mostly in
the comments.
[typos]: https://github.com/crate-ci/typos
2022-08-31 18:24:55 +08:00
Donough Liu
3f66efde75
Fix uintended diagnostic caused by drain(..)
2022-08-31 04:12:46 +01:00
Dylan DPC
5555e13a6e
Rollup merge of #99821 - cjgillot:ast-lifetimes-2, r=compiler-errors
...
Remove separate indexing of early-bound regions
~Based on https://github.com/rust-lang/rust/pull/99728.~
This PR copies some modifications from https://github.com/rust-lang/rust/pull/97839 around object lifetime defaults.
These modifications allow to stop counting generic parameters during lifetime resolution, and rely on the indexing given by `rustc_typeck::collect`.
2022-08-29 16:49:39 +05:30
bors
ce36e88256
Auto merge of #100497 - kadiwa4:remove_clone_into_iter, r=cjgillot
...
Avoid cloning a collection only to iterate over it
`@rustbot` label: +C-cleanup
2022-08-28 18:31:08 +00:00
Michael Goulet
54744601bf
Rollup merge of #100817 - vincenzopalazzo:macros/bool_spelling_sugg, r=davidtwco
...
sugg: suggest the usage of boolean value when there is a typo in the keyword
Fixes https://github.com/rust-lang/rust/issues/100686
This adds a new suggestion when there is a well-known typo
With the following program
```rust
fn main() {
let x = True;
}
```
Now we have the following suggestion
```
error[E0425]: cannot find value `True` in this scope
--> test.rs:2:13
|
2 | let x = True;
| ^^^^ not found in this scope
|
help: you may want to use a bool value instead
|
2 | let x = true;
| ~~~~
error: aborting due to previous error
```
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com >
2022-08-26 15:56:26 -07:00
Vincenzo Palazzo
69715c9033
sugg: suggest the usage of boolean value when there is a typo in the keyword
...
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com >
2022-08-22 22:53:40 +00:00
Takayuki Maeda
000dc80221
make some methods private
2022-08-22 18:12:18 +09:00
Matthias Krüger
b295639f14
Rollup merge of #100643 - TaKO8Ki:point-at-type-parameter-shadowing-another-type, r=estebank
...
Point at a type parameter shadowing another type
This patch fixes a part of #97459 .
2022-08-18 05:10:46 +02:00
Takayuki Maeda
1886aef035
point at a type parameter shadowing another type
2022-08-17 04:53:06 +09:00
KaDiWa
4eebcb9910
avoid cloning and then iterating
2022-08-13 16:16:52 +02:00
León Orell Valerian Liehr
0fb4ef6769
Suggest path separator when a dot is used on a trait
2022-08-11 23:09:39 +02:00
Michael Goulet
a2b6744af0
Use &mut Diagnostic instead of &mut DiagnosticBuilder unless needed
2022-08-10 03:45:42 +00:00
Camille GILLOT
c95ff1d52b
Assert index sanity.
2022-08-03 18:44:19 +02:00
Camille GILLOT
a424090252
Simplify debugging.
2022-08-03 18:44:19 +02:00
Camille GILLOT
48bae9360f
Use DefIdTree instead of open-coding it.
2022-08-03 18:44:18 +02:00
Camille GILLOT
421bb6ac62
Remove index from Region::EarlyBound.
2022-08-03 18:44:18 +02:00
Camille GILLOT
99e2d33315
Compute object_lifetime_default per parameter.
2022-08-03 18:42:04 +02:00
Camille GILLOT
236ccce79e
Create a specific ObjectLifetimeDefault enum.
2022-08-03 18:42:03 +02:00
Camille GILLOT
39bc74e8b8
Make object_lifetime_defaults a cross-crate query.
2022-08-03 18:32:21 +02:00
Camille GILLOT
6733bc3066
Remove guess_head_span.
2022-07-28 23:14:04 +02:00
Guillaume Gomez
c37ee1a7e0
Rollup merge of #99728 - cjgillot:ast-lifetimes-anon-clean, r=petrochenkov
...
Clean up HIR-based lifetime resolution
Based on https://github.com/rust-lang/rust/pull/97313 .
Fixes #98932 .
r? `@petrochenkov`
2022-07-27 17:55:07 +02:00
Camille GILLOT
4b2f06b8a9
Pacify tidy.
2022-07-26 19:00:31 +02:00
Camille GILLOT
556b02704f
Stop creating anonymous late lifetimes.
2022-07-26 19:00:31 +02:00
Camille GILLOT
ad1b1819eb
Remove resolve_elided_lifetimes.
2022-07-26 19:00:31 +02:00
Camille GILLOT
30565e5871
Stop resolving lifetime elision on HIR.
2022-07-26 19:00:31 +02:00
Camille GILLOT
10be0dd8df
Replace LifetimeRes::Anonymous by LifetimeRes::Infer.
2022-07-26 19:00:31 +02:00
Camille GILLOT
ab63591f00
Remove the distinction between LifetimeName::Implicit and LifetimeName::Underscore.
2022-07-26 19:00:31 +02:00
Matthias Krüger
ddb6a46316
Rollup merge of #99729 - cjgillot:rm-unused-tuple, r=michaelwoerister
...
Remove unused tuple fields
Found by https://github.com/rust-lang/rust/pull/95977
2022-07-26 16:57:50 +02:00
Camille GILLOT
9450f822fb
Unused tuple fields in rustc_resolve.
2022-07-25 19:45:26 +02:00
Camille GILLOT
3148ea31eb
Update file description.
2022-07-25 19:19:23 +02:00
Camille GILLOT
3c5048d2ec
Report elision failures on the AST.
2022-07-25 19:19:23 +02:00
Matthias Krüger
4815f94c51
Rollup merge of #99401 - TaKO8Ki:avoid-symbol-to-&str-conversions, r=nnethercote
...
Avoid `Symbol` to `&str` conversions
`Symbol::as_str` is a slowish operation, so this patch removes some usages of it.
2022-07-19 13:30:46 +02:00
Takayuki Maeda
a22934bea1
avoid Symbol to &str conversions
2022-07-18 14:25:34 +09:00
Dylan DPC
e5a86d7358
Rollup merge of #98705 - WaffleLapkin:closure_binder, r=cjgillot
...
Implement `for<>` lifetime binder for closures
This PR implements RFC 3216 ([TI](https://github.com/rust-lang/rust/issues/97362 )) and allows code like the following:
```rust
let _f = for<'a, 'b> |a: &'a A, b: &'b B| -> &'b C { b.c(a) };
// ^^^^^^^^^^^--- new!
```
cc ``@Aaron1011`` ``@cjgillot``
2022-07-14 14:14:21 +05:30
Camille GILLOT
5a20834884
Add feature gate.
2022-07-13 14:17:09 +02:00
Maybe Waffle
df4fee9841
Add an indirection for closures in hir::ExprKind
...
This helps bring `hir::Expr` size down, `Closure` was the biggest
variant, especially after `for<>` additions.
2022-07-12 21:00:13 +04:00
Maybe Waffle
0c284843ba
make for<> in closures a possible place to suggest adding named lifetime
2022-07-12 21:00:13 +04:00
Maybe Waffle
c2dbd62c7c
Lower closure binders to hir & properly check them
2022-07-12 21:00:03 +04:00
Takayuki Maeda
bda83e6543
avoid some &str to String conversions
2022-07-10 03:18:56 +09:00
Camille GILLOT
2a7abed87f
Return a FxIndexSet in is_late_bound query.
...
This return value is iterated upon by borrowck, hence the need to preserve
a deterministic iteration order.
2022-07-05 21:54:40 +02:00
Matthias Krüger
6ee667374e
Rollup merge of #98677 - lyming2007:issue-98492-fix, r=lcnr
...
For diagnostic information of Boolean, remind it as use the type: 'bool'
Fixes #98492 .
It helps programmers coming from other languages
modified: compiler/rustc_resolve/src/late/diagnostics.rs
2022-06-30 19:55:53 +02:00