| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2022-05-01 | resolve: Rename `unusable_binding` to `ignore_binding` | Vadim Petrochenkov | -54/+41 | |
| 2022-05-01 | resolve: Merge `last_import_segment` into `Finalize` | Vadim Petrochenkov | -44/+16 | |
| 2022-05-01 | resolve: Pass full `Finalize` in nearly all cases | Vadim Petrochenkov | -20/+18 | |
| 2022-05-01 | resolve: Turn `enum Finalize` into an optional struct | Vadim Petrochenkov | -92/+59 | |
| 2022-05-01 | rustdoc: Track `macro_rules` scopes during early doc link resolution | Vadim Petrochenkov | -3/+13 | |
| This way links referring to `macro_rules` items are resolved correctly | ||||
| 2022-04-30 | rustdoc: Keep full `ParentScope` during early doc link resolution | Vadim Petrochenkov | -11/+6 | |
| 2022-04-30 | Store all generic bounds as where predicates. | Camille GILLOT | -60/+26 | |
| 2022-04-30 | Inline WhereClause into Generics. | Camille GILLOT | -2/+2 | |
| 2022-04-30 | Box HIR Generics and Impl. | Camille GILLOT | -1/+1 | |
| 2022-04-30 | Auto merge of #95776 - cjgillot:ast-lifetimes-static, r=petrochenkov | bors | -70/+70 | |
| Enforce static lifetimes in consts during late resolution This PR moves the handling of implicitly and explicitly static lifetimes in constants from HIR to the AST. | ||||
| 2022-04-30 | Use newtype `enum`s instead of `bool` | Esteban Kuber | -21/+43 | |
| 2022-04-30 | When encountering a binding that could be a const or unit variant, suggest ↵ | Esteban Kuber | -34/+89 | |
| the right path | ||||
| 2022-04-30 | Ban non-static lifetimes from AnonConst on AST. | Camille GILLOT | -38/+37 | |
| The extra diagnostics come from the compiler no longer aborting before typeck. | ||||
| 2022-04-29 | Rollup merge of #96559 - cjgillot:elided-path-fn, r=petrochenkov | Dylan DPC | -12/+13 | |
| Use the correct lifetime binder for elided lifetimes in path. Fixes https://github.com/rust-lang/rust/issues/96540 | ||||
| 2022-04-29 | Remove `error` variable. | Camille GILLOT | -5/+3 | |
| 2022-04-29 | Use the correct lifetime binder for elided lifetimes in path. | Camille GILLOT | -11/+14 | |
| 2022-04-29 | errors: `span_suggestion` takes `impl ToString` | David Wood | -1/+1 | |
| Change `span_suggestion` (and variants) to take `impl ToString` rather than `String` for the suggested code, as this simplifies the requirements on the diagnostic derive. Signed-off-by: David Wood <david.wood@huawei.com> | ||||
| 2022-04-29 | Ban non-static in const generics in AST. | Camille GILLOT | -33/+34 | |
| 2022-04-28 | Auto merge of #96495 - Dylan-DPC:rollup-9lm4tpp, r=Dylan-DPC | bors | -3/+1 | |
| Rollup of 7 pull requests Successful merges: - #96377 (make `fn() -> _ { .. }` suggestion MachineApplicable) - #96397 (Make EncodeWide implement FusedIterator) - #96421 (Less `NoDelim`) - #96432 (not need `Option` for `dbg_scope`) - #96466 (Better error messages when collecting into `[T; n]`) - #96471 (replace let else with `?`) - #96483 (Add missing `target_feature` to the list of well known cfg names) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup | ||||
| 2022-04-28 | Rollup merge of #96471 - BoxyUwU:let_else_considered_harmful, r=lcnr | Dylan DPC | -3/+1 | |
| replace let else with `?` r? `@oli-obk` | ||||
| 2022-04-27 | Auto merge of #91557 - cjgillot:ast-lifetimes-named, r=petrochenkov | bors | -50/+202 | |
| Perform lifetime resolution on the AST for lowering Lifetime resolution is currently implemented several times. Once during lowering in order to introduce in-band lifetimes, and once in the resolve_lifetimes query. However, due to the global nature of lifetime resolution and how it interferes with hygiene, it is better suited on the AST. This PR implements a first draft of lifetime resolution on the AST. For now, we specifically target named lifetimes and everything we need to remove lifetime resolution from lowering. Some diagnostics have already been ported, and sometimes made more precise using available hygiene information. Follow-up PRs will address in particular the resolution of anonymous lifetimes on the AST. We reuse the rib design of the current resolution framework. Specific `LifetimeRib` and `LifetimeRibKind` types are introduced. The most important variant is `LifetimeRibKind::Generics`, which happens each time we encounter something which may introduce generic lifetime parameters. It can be an item or a `for<...>` binder. The `LifetimeBinderKind` specifies how this rib behaves with respect to in-band lifetimes. r? `@petrochenkov` | ||||
| 2022-04-27 | Collect extra lifetime parameters during late resolution. | Camille GILLOT | -9/+44 | |
| 2022-04-27 | Use LifetimeRes during lowering. | Camille GILLOT | -48/+165 | |
| 2022-04-27 | Do not resolve elided lifetimes in path twice. | Camille GILLOT | -1/+1 | |
| 2022-04-27 | tut tut tut | Ellen | -3/+1 | |
| 2022-04-25 | Auto merge of #96246 - SparrowLii:bound_contxet, r=compiler-errors | bors | -6/+6 | |
| Add `BoundKind` in `visit_param_bounds` to check questions in bounds From the FIXME in the impl of `AstValidator`. Better bound checks by adding `BoundCtxt` type parameter to `visit_param_bound` cc `@ecstatic-morse` | ||||
| 2022-04-23 | Compute has_pub_restricted in the resolver. | Camille GILLOT | -0/+7 | |
| 2022-04-23 | Fix lints. | Camille GILLOT | -1/+8 | |
| 2022-04-23 | Drop vis in Item. | Camille GILLOT | -0/+2 | |
| 2022-04-23 | Stop visiting visibility. | Camille GILLOT | -2/+2 | |
| 2022-04-21 | Remove redundant `format!`s | Nixon Enraght-Moony | -2/+2 | |
| 2022-04-21 | rename to `BoundKind` and add comments | SparrowLii | -6/+6 | |
| 2022-04-20 | Add `BoundCtxt` in `visit_param_bounds` to check questions in bounds | SparrowLii | -6/+6 | |
| 2022-04-19 | Rollup merge of #96142 - cjgillot:no-crate-def-index, r=petrochenkov | Dylan DPC | -24/+21 | |
| Stop using CRATE_DEF_INDEX outside of metadata encoding. `CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want. We should not manipulate raw `DefIndex` outside of metadata encoding. | ||||
| 2022-04-17 | Stop using CRATE_DEF_INDEX. | Camille GILLOT | -24/+21 | |
| `CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want. | ||||
| 2022-04-17 | Lint elided lifetimes in path on the AST. | Camille GILLOT | -61/+188 | |
| 2022-04-17 | Report undeclared lifetimes on AST. | Camille GILLOT | -381/+831 | |
| 2022-04-17 | Remove is_in_fn_syntax. | Camille GILLOT | -11/+0 | |
| 2022-04-17 | Visit generics inside visit_fn. | Camille GILLOT | -2/+10 | |
| 2022-04-17 | Count number of lifetime parameters in a separate pass. | Camille GILLOT | -13/+39 | |
| 2022-04-16 | Rollup merge of #95887 - petrochenkov:doclink5, r=cjgillot | Dylan DPC | -30/+28 | |
| resolve: Create dummy bindings for all unresolved imports Apparently such bindings weren't previously created for all unresolved imports, causing issues like https://github.com/rust-lang/rust/issues/95879. In this PR I'm trying to create such dummy bindings in a more centralized way by calling `import_dummy_binding` once for all imports in `finalize_imports`. Fixes https://github.com/rust-lang/rust/issues/95879. | ||||
| 2022-04-14 | Reimplement lowering of sym operands for asm! so that it also works with ↵ | Amanieu d'Antras | -2/+71 | |
| global_asm! | ||||
| 2022-04-12 | Rollup merge of #95918 - compiler-errors:issue-95878, r=cjgillot | Dylan DPC | -0/+9 | |
| Delay a bug when we see SelfCtor in ref pattern Fixes #95878 | ||||
| 2022-04-12 | Rollup merge of #95405 - cjgillot:probe, r=petrochenkov | Dylan DPC | -2191/+2337 | |
| Move name resolution logic to a dedicated file The code resolution logic from an Ident is scattered between several files. The first commits creates `rustc_resolve::probe` module to hold the different mutually recursive functions together. Just a move, no code change. The following commits attempt to make the logic a bit more readable. The two fields `last_import_segment` and `unusable_binding` are replaced by function parameters. In order to manage the fallout, `maybe_` variants of the function are added, dedicated to speculative resolution. r? `@petrochenkov` | ||||
| 2022-04-12 | Handle `unusable_binding` more compactly. | Vadim Petrochenkov | -17/+14 | |
| 2022-04-12 | Fix imports. | Camille GILLOT | -8/+3 | |
| 2022-04-12 | Move diagnostic methods to the dedicated module. | Camille GILLOT | -477/+472 | |
| 2022-04-12 | Simplify error reporting. | Camille GILLOT | -85/+76 | |
| 2022-04-12 | Move path resolution error to rustc_resolve::diagnostics. | Camille GILLOT | -164/+207 | |
| 2022-04-12 | Make the logic more explicit with let chains. | Camille GILLOT | -18/+16 | |
