summary refs log tree commit diff
path: root/src/librustc_resolve
AgeCommit message (Collapse)AuthorLines
2020-07-30Revert "Fix an ICE on an invalid `binding @ ...` in a tuple struct pattern"Mark Rousskov-7/+1
This reverts commit 174b58287c66a6ad3eaa1897279d769611919960.
2020-07-30Revert "delay_span_bug instead of silent ignore"Mark Rousskov-16/+10
This reverts commit d01e1093baf4d5ebe08a067a2a8e720e7fa7eb22.
2020-07-23delay_span_bug instead of silent ignoreMark Rousskov-10/+16
2020-07-23Fix an ICE on an invalid `binding @ ...` in a tuple struct patternJakub Adam Wieczorek-1/+7
2020-05-30Use `LocalDefId` instead of `NodeId` in `resolve_str_path_error`marmeladema-5/+2
2020-05-29Remove remaining calls to `as_local_node_id`marmeladema-28/+43
2020-05-27Store `LocalDefId` directly in `rustc_resolve::Resolver` where possiblemarmeladema-57/+30
This commit also include the following changes: * Remove unused `hir::Map::as_local_node_id` method * Remove outdated comment about `hir::Map::local_def_id` method * Remove confusing `GlobMap` type alias * Use `LocalDefId` instead of `DefId` in `extern_crate_map` * Use `LocalDefId` instead of `DefId` in `maybe_unused_extern_crates` * Modify `extern_mod_stmt_cnum` query to accept a `LocalDefId` instead of a `DefId`
2020-05-25Rollup merge of #72308 - Aaron1011:fix/hygiene-error-message, r=matthewjasperDylan DPC-4/+12
Emit a better diagnostic when function actually has a 'self' parameter Fixes #66898 When we are unable to resolve a reference to `self`, we current assume that the containing function doesn't have a `self` parameter, and emit an error message accordingly. However, if the reference to `self` was created by a macro invocation, then resolution will correctly fail, due to hygiene. In this case, we don't want to tell the user that the containing fuction doesn't have a 'self' paramter if it actually has one. This PR checks for the precense of a 'self' parameter, and adjusts the error message we emit accordingly. TODO: The exact error message we emit could probably be improved. Should we explicitly mention hygiene?
2020-05-24Rollup merge of #72402 - marmeladema:resolver-outputs-def-id, r=ecstatic-morseRalf Jung-13/+101
Remove all uses of `NodeId` in `ResolverOutputs` cc #50928 r? @ecstatic-morse
2020-05-22Remove `macro_defs` mapAaron Hill-14/+14
We store store the `DefId` directly in `ExpnData`. This will allow us to serialize `ExpnData` in PR #72121 without needing to manage a side table.
2020-05-21Replace unecessary calls to `.clone()` by argument binding pattern for ↵marmeladema-11/+11
`Copy` types
2020-05-21Use `collect()` instead of manually inserting elements into mapsmarmeladema-46/+42
2020-05-21Use `DefId` in `ResolverOutputs::extern_crate_map` instead of `NodeId`marmeladema-2/+15
2020-05-21Use `DefId` in `ResolverOutputs::glob_map` instead of `NodeId`marmeladema-2/+11
2020-05-21Use `DefId` in `ResolverOutputs::maybe_unused_extern_crates` instead of `NodeId`marmeladema-2/+11
2020-05-21Use `LocalDefId` in `ResolverOutputs::maybe_unused_trait_imports` instead of ↵marmeladema-2/+11
`NodeId`
2020-05-21Use `HirId` in `ResolverOutputs::export_map` instead of `NodeId`marmeladema-2/+25
2020-05-21Use `HirId` in value of `ResolverOutputs::trait_map` instead of `NodeId`marmeladema-3/+17
2020-05-21Use `HirId` as key for `ResolverOutputs::trait_map` instead of `NodeId`marmeladema-2/+17
2020-05-19Alter wording for `use foo::self` helpmibac138-2/+2
2020-05-19Add error recovery for `use foo::self`mibac138-1/+9
2020-05-19Suggest fixes for `use foo::self`mibac138-10/+52
2020-05-17Emit a better diagnostic when function actually has a 'self' parameterAaron Hill-4/+12
Fixes #66898 When we are unable to resolve a reference to `self`, we current assume that the containing function doesn't have a `self` parameter, and emit an error message accordingly. However, if the reference to `self` was created by a macro invocation, then resolution will correctly fail, due to hygiene. In this case, we don't want to tell the user that the containing fuction doesn't have a 'self' paramter if it actually has one. This PR checks for the precense of a 'self' parameter, and adjusts the error message we emit accordingly. TODO: The exact error message we emit could probably be improved. Should we explicitly mention hygiene?
2020-05-08Remove ast::{Ident, Name} reexports.Camille GILLOT-60/+50
2020-05-07Rollup merge of #71903 - euclio:reword-possible-better, r=petrochenkovDylan DPC-9/+15
reword "possible candidate" import suggestion This suggestion has always read a bit awkwardly to me, particularly the "possible better candidate" variant. This commit rewords the suggestion to be more concise and mention the kind of the suggested item. There isn't a nice way to label individual suggestions, so I opted to use "items" in the case of multiple suggestions.
2020-05-07Rollup merge of #71783 - estebank:async-block-2015, r=tmandryDylan DPC-1/+5
Detect errors caused by `async` block in 2015 edition Fix #67204.
2020-05-07reword "possible candidate" import suggestionAndy Russell-9/+15
2020-05-05Detect errors caused by `async` block in 2015 editionEsteban Küber-1/+5
2020-05-03resolve: Relax fresh binding disambiguation slightly to fix regressionVadim Petrochenkov-6/+10
2020-05-02fix rustdoc warningsTshepang Lekhonkhobe-3/+3
2020-04-28Use the query system to allocate.Camille GILLOT-2/+2
2020-04-27Rollup merge of #71438 - estebank:resolve-sugg-tiny, r=petrochenkovDylan DPC-15/+24
Tweak some suggestions in `rustc_resolve`
2020-04-27Rollup merge of #71419 - contrun:wrong-namespace-rustc-resolve, r=petrochenkovDylan DPC-45/+83
add message for resolution failure because wrong namespace closes https://github.com/rust-lang/rust/issues/71406
2020-04-26Tweak some suggestions in `rustc_resolve`Esteban Küber-15/+24
2020-04-26use defkind.descr in wrong namespace resolve failureYI-18/+21
2020-04-26Rollup merge of #70043 - mark-i-m:def-kind-more, r=eddybDylan DPC-4/+16
Add all remaining `DefKind`s. r? @eddyb or @Centril ~~I'm not sure if this is what you were thinking of. There are also a few places where I'm not sure what the correct choice is because I don't fully understand the meaning of some variants.~~ ~~In general, it feels a bit odd to add some of these as `DefKind`s (e.g. `Arm`) because they don't feel like definitions. Are there things that it makes sense not to add?~~
2020-04-25Rollup merge of #71544 - cuviper:filter_map_next, r=Mark-SimulacrumDylan DPC-6/+3
Replace filter_map().next() calls with find_map() These are semantically the same, but `find_map()` is more concise.
2020-04-24Replace filter_map().next() calls with find_map()Josh Stone-6/+3
These are semantically the same, but `find_map()` is more concise.
2020-04-24Avoid unused Option::map resultsJosh Stone-2/+6
These are changes that would be needed if we add `#[must_use]` to `Option::map`, per #71484.
2020-04-24Remove `Option` from the return type of `def_kind`.Eduard-Mihai Burtescu-1/+2
2020-04-24add a few more DefKindsmark-4/+15
make Map::def_kind take LocalDefId Co-Authored-By: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> crates are DefKind::Mod
2020-04-24Rollup merge of #71235 - estebank:lt-sugg-2, r=ecstatic-morseDylan DPC-127/+126
Tweak `'static` suggestion code Fix #71196.
2020-04-23Address comments from reviewmarmeladema-11/+6
2020-04-23Modify `as_local_hir_id` to return a bare `HirId`marmeladema-12/+8
2020-04-23Modify `as_local_hir_id` to accept a `LocalDefId` instead of a `DefId`marmeladema-8/+19
2020-04-23librustc_middle: return LocalDefId instead of DefId in local_def_idmarmeladema-5/+9
2020-04-22Rollup merge of #71256 - cuviper:must_use_replace, r=estebankDylan DPC-2/+2
Lint must_use on mem::replace This adds a hint on `mem::replace`, "if you don't need the old value, you can just assign the new value directly". This is in similar spirit to the `must_use` on `ManuallyDrop::take`.
2020-04-22review commentEsteban Küber-1/+2
2020-04-22Tweak wordingEsteban Küber-2/+17
2020-04-22Tweak `'static` suggestion codeEsteban Küber-127/+110
Fix #71196.