about summary refs log tree commit diff
path: root/compiler/rustc_ast_lowering/src/lib.rs
AgeCommit message (Collapse)AuthorLines
2022-03-31Make lowering pull-based.Camille GILLOT-9/+58
2022-03-31Move lower_crate outside the LoweringContext.Camille GILLOT-41/+39
2022-03-31Stop emitting lints during lowering.Camille GILLOT-3/+0
2022-03-31Remove mutability in ResolverAstLowering.Camille GILLOT-7/+5
2022-03-30Spellchecking some commentsYuri Astrakhan-1/+1
This PR attempts to clean up some minor spelling mistakes in comments
2022-03-16rustc_error: make ErrorReported impossible to constructmark-1/+1
There are a few places were we have to construct it, though, and a few places that are more invasive to change. To do this, we create a constructor with a long obvious name.
2022-03-15Auto merge of #94584 - pnkfelix:inject-use-suggestion-sites, r=ekuberbors-1/+1
More robust fallback for `use` suggestion Our old way to suggest where to add `use`s would first look for pre-existing `use`s in the relevant crate/module, and if there are *no* uses, it would fallback on trying to use another item as the basis for the suggestion. But this was fragile, as illustrated in issue #87613 This PR instead identifies span of the first token after any inner attributes, and uses *that* as the fallback for the `use` suggestion. Fix #87613
2022-03-13Update comments.Camille GILLOT-9/+5
2022-03-12Identify anonymous lifetimes by their DefId in HIR.Camille GILLOT-59/+86
2022-03-07remove unnecessary `..` patternsTakayuki Maeda-6/+2
2022-03-03Associate multiple with a crate too.Felix S. Klock II-1/+1
2022-02-25Auto merge of #94290 - Mark-Simulacrum:bump-bootstrap, r=pietroalbinibors-1/+1
Bump bootstrap to 1.60 This bumps the bootstrap compiler to 1.60 and cleans up cfgs and Span's rustc_pass_by_value (enabled by the bootstrap bump).
2022-02-25Switch bootstrap cfgsMark Rousskov-1/+1
2022-02-24Remove in-band lifetimesMichael Goulet-45/+12
2022-02-24resolve: Fix incorrect results of `opt_def_kind` query for some built-in macrosVadim Petrochenkov-1/+3
Previously it always returned `MacroKind::Bang` while some of those macros are actually attributes and derives
2022-02-24Auto merge of #93438 - spastorino:node_id_to_hir_id_refactor, r=oli-obkbors-54/+60
Node id to hir id refactor Related to #89278 r? `@oli-obk`
2022-02-22local_id is always != 0 at this pointSantiago Pastorino-11/+10
2022-02-20Move trait_map to Lowering ContextSantiago Pastorino-11/+10
2022-02-20Move local_id_to_def_id to Lowering ContextSantiago Pastorino-29/+29
2022-02-20Make node_id_to_hir_id owner-local.Camille GILLOT-32/+40
2022-02-18Rollup merge of #92806 - compiler-errors:better-impl-trait-deny, r=estebankMatthias Krüger-25/+103
Add more information to `impl Trait` error Fixes #92458 Let me know if I went overboard here, or if the suggestions could use some refinement. r? `@estebank` Feel free to reassign to someone else
2022-02-17fix impl trait message, bless testsMichael Goulet-4/+3
2022-02-17Add more information to `impl Trait` deny errorMichael Goulet-25/+104
2022-02-17Revert "Auto merge of #91403 - cjgillot:inherit-async, r=oli-obk"Oli Scherer-19/+50
This reverts commit 3cfa4def7c87d571bd46d92fed608edf8fad236e, reversing changes made to 5d8767cb229b097fedb1dd4bd9420d463c37774f.
2022-02-12Inherit lifetimes for async fn instead of duplicating them.Camille GILLOT-50/+19
2022-02-02More let_else adoptionsest31-0/+1
2022-02-01add a rustc::query_stability lintlcnr-0/+1
2022-01-27Store def_id_to_hir_id as variant in hir_owner.Camille GILLOT-18/+11
If hir_owner is Owner(_), the LocalDefId is pointing to an owner, so the ItemLocalId is 0. If the HIR node does not exist, we store Phantom. Otherwise, we store the HirId associated to the LocalDefId.
2022-01-26Filter out local_id == 0, those are already considered on the call siteSantiago Pastorino-2/+6
2022-01-25Store hir_id_to_def_id in OwnerInfo.Camille GILLOT-1/+17
2022-01-18Auto merge of #87648 - JulianKnodt:const_eq_constrain, r=oli-obkbors-5/+9
allow eq constraints on associated constants Updates #70256 (cc `@varkor,` `@Centril)`
2022-01-17Use Term in ProjectionPredicatekadmin-5/+8
ProjectionPredicate should be able to handle both associated types and consts so this adds the first step of that. It mainly just pipes types all the way down, not entirely sure how to handle consts, but hopefully that'll come with time.
2022-01-17Add termkadmin-6/+4
Instead of having a separate enum variant for types and consts have one but have either a const or type.
2022-01-17add eq constraints on associated constantskadmin-3/+6
2022-01-16Replace NestedVisitorMap with NestedFilterCameron Steffen-6/+0
2021-12-23implement `generic_arg_infer` for array lengthslcnr-1/+22
2021-12-18Rollup merge of #89090 - cjgillot:bare-dyn, r=jackh726Matthias Krüger-45/+3
Lint bare traits in AstConv. Removing the lint from lowering allows to: - make lowering querification easier; - have the lint implementation in only one place. r? `@estebank`
2021-12-15Rollup merge of #91888 - BoxyUwU:generic_arg_infer_aaaa, r=lcnrMatthias Krüger-2/+1
Handle unordered const/ty generics for object lifetime defaults *feel like I should have a PR description but cant think of what to put here* r? ```@lcnr```
2021-12-15Rollup merge of #91881 - Patrick-Poitras:stabilize-iter-zip, r=scottmcmMatthias Krüger-1/+0
Stabilize `iter::zip` Hello all! As the tracking issue (#83574) for `iter::zip` completed the final commenting period without any concerns being raised, I hereby submit this stabilization PR on the issue. As the pull request that introduced the feature (#82917) states, the `iter::zip` function is a shorter way to zip two iterators. As it's generally a quality-of-life/ergonomic improvement, it has been integrated into the codebase without any trouble, and has been used in many places across the rust compiler and standard library since March without any issues. For more details, I would refer to `@cuviper's` original PR, or the [function's documentation](https://doc.rust-lang.org/std/iter/fn.zip.html).
2021-12-14Stabilize iter::zip.PFPoitras-1/+0
2021-12-14awdawdawdEllen-2/+1
2021-12-13Keep info on pre-desugaring expression for better "incorrect `.await`" ↵Esteban Kuber-5/+6
suggestion Keep the `HirId` of `.await`ed expressions so in the case of a `fn` call on on a sync `fn`, we can suggest maybe turning it into an `async fn`.
2021-12-07Store impl_trait_fn inside OpaqueTyOrigin.Camille GILLOT-16/+9
2021-12-07Use collect_in_band_defs for async lifetime captures.Camille GILLOT-54/+44
2021-12-07Simplify collect_in_band_defs.Camille GILLOT-36/+35
2021-12-04Lint bare traits in AstConv.Camille GILLOT-45/+3
2021-12-04Use IntoIterator for array impl everywhere.Mara Bos-4/+3
2021-12-03Auto merge of #90737 - eholk:intofuture, r=tmandrybors-0/+2
Reintroduce `into_future` in `.await` desugaring This is a reintroduction of the remaining parts from https://github.com/rust-lang/rust/pull/65244 that have not been relanded yet. This isn't quite ready to merge yet. The last attempt was reverting due to performance regressions, so we need to make sure this does not introduce those issues again. Issues #67644, #67982 /cc `@yoshuawuyts`
2021-11-30Merge Implicit and ImplicitMissing.Camille GILLOT-15/+7
2021-11-30Lint elided lifetimes in path during lifetime resolution.Camille GILLOT-4/+13