about summary refs log tree commit diff
path: root/compiler/rustc_resolve/src
AgeCommit message (Collapse)AuthorLines
2022-08-22make some methods privateTakayuki Maeda-1/+1
2022-08-19Rollup merge of #100592 - cjgillot:debug-import-kind, r=TaKO8KiDylan DPC-1/+39
Manually implement Debug for ImportKind. This avoids crashing due to an infinite loop when running with `RUSTC_LOG=rustc_resolve`.
2022-08-18Rollup merge of #100643 - ↵Matthias Krüger-0/+12
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-17point at a type parameter shadowing another typeTakayuki Maeda-0/+12
2022-08-15Update compiler/rustc_resolve/src/imports.rsCamille Gillot-1/+1
2022-08-15Manually implement Debug for ImportKind.Camille GILLOT-1/+39
2022-08-13Rollup merge of #100367 - fmease:fix-100365, r=compiler-errorsMichael Goulet-16/+37
Suggest the path separator when a dot is used on a trait Fixes #100365. `@rustbot` label A-diagnostics r? diagnostics
2022-08-13avoid cloning and then iteratingKaDiWa-1/+1
2022-08-12Adjust cfgsMark Rousskov-1/+0
2022-08-11Suggest path separator when a dot is used on a traitLeón Orell Valerian Liehr-16/+37
2022-08-11Rollup merge of #100392 - nnethercote:simplify-visitors, r=cjgillotMatthias Krüger-1/+1
Simplify visitors By removing some unused arguments. r? `@cjgillot`
2022-08-11Rollup merge of #100351 - compiler-errors:diagnostic-convention, r=fee1-deadDylan DPC-3/+3
Use `&mut Diagnostic` instead of `&mut DiagnosticBuilder` unless needed This seems to be the established convention (02ff9e0) when `DiagnosticBuilder` was first added. I am guilty of introducing some of these.
2022-08-11Simplify `rustc_ast::visit::Visitor::visit_poly_trait_ref`.Nicholas Nethercote-1/+1
It is passed an argument that is never used.
2022-08-10Do not consider method call receiver as an argument in AST.Camille GILLOT-3/+2
2022-08-10Use &mut Diagnostic instead of &mut DiagnosticBuilder unless neededMichael Goulet-3/+3
2022-08-09Rollup merge of #100228 - luqmana:suggestion-ice, r=estebankDylan DPC-6/+9
Don't ICE while suggesting updating item path. When an item isn't found, we may suggest an appropriate import to `use`. Along with that, we also suggest updating the path to work with the `use`. Unfortunately, if the code in question originates from a macro, the span used to indicate which part of the path needs updating may not be suitable and cause an ICE (*). Since, such code is not adjustable directly by the user without modifying the macro, just skip the suggestion in such cases. (*) The ICE happens because the emitter want to indicate to the user what code to delete by referencing a certain span. But in this case, said span has `lo == hi == 0` which means it thinks it's a dummy span. Adding a space before the proc macro attribute is enough to stop it from ICE'ing but even then the suggestion doesn't really make any sense: ``` help: if you import `DataStore`, refer to it directly | 1 - #[dbstruct::dbstruct] 1 + #[dbstruct::dbstruct] ``` Since suggestions are best-effort, I just gated this one on `can_be_used_for_suggestions` which catches cases like this. Fixes #100199
2022-08-07Use start_point instead of next_point to point to elided lifetime ampersand.Camille GILLOT-1/+1
2022-08-07Don't ICE while suggesting updating item path.Luqman Aden-6/+9
When an item isn't found, we may suggest an appropriate import to `use`. Along with that, we also suggest updating the path to work with the `use`. Unfortunately, if the code in question originates from a macro, the span used to indicate which part of the path needs updating may not be suitable and cause an ICE. Since, such code is not adjustable directly by the user without modifying the macro, just skip the suggestion in such cases.
2022-08-04Add docs to generics_def_id_mapSantiago Pastorino-1/+4
2022-08-04Implement def_id based remappingSantiago Pastorino-0/+5
2022-08-04Auto merge of #99953 - cjgillot:in-path-always, r=petrochenkovbors-23/+20
Always create elided lifetimes, even if inferred. `PathSource` gives the context in which a path is encountered. The same `PathSource` is used for the full path and the `QSelf` part. Therefore, we can only rely on `PathSource` to know whether typechecking will be able to infer the lifetimes, not whether we need to insert them at all. Fixes https://github.com/rust-lang/rust/issues/99949
2022-08-03Assert index sanity.Camille GILLOT-2/+7
2022-08-03Simplify debugging.Camille GILLOT-7/+3
2022-08-03Use DefIdTree instead of open-coding it.Camille GILLOT-6/+2
2022-08-03Remove index from Region::EarlyBound.Camille GILLOT-199/+24
2022-08-03Compute `object_lifetime_default` per parameter.Camille GILLOT-84/+24
2022-08-03Create a specific `ObjectLifetimeDefault` enum.Camille GILLOT-73/+39
2022-08-03Make object_lifetime_defaults a cross-crate query.Camille GILLOT-41/+19
2022-07-30Always create elided lifetimes, even if inferred.Camille GILLOT-23/+20
2022-07-28Remove guess_head_span.Camille GILLOT-11/+2
2022-07-28change the type of `note` field to `Option<String>`Takayuki Maeda-26/+21
2022-07-27Rollup merge of #99728 - cjgillot:ast-lifetimes-anon-clean, r=petrochenkovGuillaume Gomez-647/+160
Clean up HIR-based lifetime resolution Based on https://github.com/rust-lang/rust/pull/97313. Fixes #98932. r? `@petrochenkov`
2022-07-26Pacify tidy.Camille GILLOT-1/+0
2022-07-26Stop creating anonymous late lifetimes.Camille GILLOT-36/+1
2022-07-26Remove resolve_elided_lifetimes.Camille GILLOT-53/+6
2022-07-26Stop resolving lifetime elision on HIR.Camille GILLOT-425/+52
2022-07-26Move fn parameter ribs outwards.Camille GILLOT-36/+62
2022-07-26Replace LifetimeRes::Anonymous by LifetimeRes::Infer.Camille GILLOT-73/+39
2022-07-26Remove the distinction between LifetimeName::Implicit and ↵Camille GILLOT-42/+16
LifetimeName::Underscore.
2022-07-26Do not produce extra lifetime parameters when not needed.Camille GILLOT-0/+3
2022-07-26Rollup merge of #99729 - cjgillot:rm-unused-tuple, r=michaelwoeristerMatthias Krüger-9/+9
Remove unused tuple fields Found by https://github.com/rust-lang/rust/pull/95977
2022-07-26Rollup merge of #99718 - TaKO8Ki:avoid-&str-symbol-to-string-conversions, ↵Yuki Okushi-2/+1
r=michaelwoerister Avoid `&str`/`Symbol` to `String` conversions follow-up to #99342 and #98668
2022-07-25Auto merge of #97313 - cjgillot:ast-lifetimes-anon, r=petrochenkovbors-924/+823
Resolve function lifetime elision on the AST ~Based on https://github.com/rust-lang/rust/pull/97720~ Lifetime elision for functions is purely syntactic in nature, so can be resolved on the AST. This PR replicates the elision logic and diagnostics on the AST, and replaces HIR-based resolution by a `delay_span_bug`. This refactor allows for more consistent diagnostics, which don't have to guess the original code from HIR. r? `@petrochenkov`
2022-07-25Unused tuple fields in rustc_resolve.Camille GILLOT-9/+9
2022-07-25Update file description.Camille GILLOT-5/+6
2022-07-25Report elision failures on the AST.Camille GILLOT-919/+791
2022-07-25avoid `&str`/`Symbol` to `String` conversionsTakayuki Maeda-2/+1
2022-07-25Auto merge of #98770 - klensy:no-string-dupes-ugly, r=cjgillotbors-1/+1
rmeta: avoid embedding `StabilityLevel::Unstable` reason multiple times into .rmeta\.rlib files Avoids bloating size of some rmeta\rlib files by not placing default string for `StabilityLevel::Unstable` reason multiple times, affects only stdlib\rustc artifacts. For stdlib cuts about 3% (diff of total size for patched\unpatched *.rmeta files of stage1-std) of file size, depending on crates. fixes #88180
2022-07-23Use span_bug in case of unexpected rib kindJordan McQueen-1/+1
Extremely minor QOL change to improve the ICE output in case this default match case is encountered (an unexpected rib kind).
2022-07-21avoid embedding StabilityLevel::Unstable reason string into metadata ↵klensy-1/+1
multiple times