| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Make `missing_copy_implementations` more cautious
- Fixes https://github.com/rust-lang/rust/issues/98348
- Also makes the lint not fire on large types and types containing raw pointers. Thoughts?
|
|
|
|
|
|
Don't ICE in ExprUseVisitor on FRU for non-existent struct
Fixes #104613
Fixes #105202
|
|
|
|
These each have a single call site, due to being called from a
"combined" lint pass.
|
|
Because it makes more sense that way.
|
|
|
|
Because it's always `'tcx`.
|
|
Remove `{Early,Late}LintPassObjects`.
`EarlyContextAndPass` wraps a single early lint pass. We aggregate multiple passes into that single pass by using `EarlyLintPassObjects`.
This commit removes `EarlyLintPassObjects` by changing `EarlyContextAndPass` into `EarlyContextAndPasses`. I.e. it just removes a level of indirection. This makes the code simpler and slightly faster.
The commit does likewise for late lints.
r? `@cjgillot`
|
|
Fix `emit_unused_delims_expr` ICE
Fixes #104897
This is also related to #104433.
|
|
Put all cached values into a central struct instead of just the stable hash
cc `@nnethercote`
this allows re-use of the type for Predicate without duplicating all the logic for the non-hash cached fields
|
|
`EarlyContextAndPass` wraps a single early lint pass. We aggregate
multiple passes into that single pass by using `EarlyLintPassObjects`.
This commit removes `EarlyLintPassObjects` by changing
`EarlyContextAndPass` into `EarlyContextAndPasses`. I.e. it just removes
a level of indirection. This makes the code simpler and slightly faster.
The commit does likewise for late lints.
|
|
|
|
Reduce macro usage for lints
r? `@cjgillot`
|
|
fmt
add a comment
|
|
It has a single call site.
|
|
This avoids calling `early_lint_node` twice.
Note: one `early_lint_node` call had `!pre_expansion` for the second
argument and the other had `false`. The new single call just has
`!pre_expansion`. This results in a reduction of duplicate error
messages in some `ui-fulldeps` tests. The order of some `ui-fulldeps`
output also changes, but that doesn't matter.
|
|
Required to get the parallel compiler building again.
|
|
It has a single call site.
|
|
It has a single call site.
|
|
This avoids calling the `late_lint_{mod_pass,pass_crate}` twice.
|
|
These were enabled by the removal of `-Zno-interleave-lints`.
|
|
Because it complicates lint implementation greatly.
|
|
The lint definitions use macros heavily. This commit merges some of them
that are split unnecessarily. I find the reduced indirection makes it
easier to imagine what the generated code will look like.
|
|
Lower them into a single item with multiple resolutions instead.
This also allows to remove additional `NodId`s and `DefId`s related to those additional items.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Simplify checking for `GeneratorKind::Async`
Adds a helper method around `generator_kind` that makes matching async constructs simpler.
|
|
Adds a helper method around `generator_kind` that makes matching async constructs simpler.
|
|
We already use a mix of `Literal` and `Lit`. The latter is better
because it is shorter without causing any ambiguity.
|
|
Prefer doc comments over `//`-comments in compiler
Doc comments are generally nicer: they show up in the documentation, they are shown in IDEs when you hover other mentions of items, etc. Thus it makes sense to use them instead of `//`-comments.
|
|
Separate lifetime ident from lifetime resolution in HIR
Drive-by: change how suggested generic args are computed.
Fixes https://github.com/rust-lang/rust/issues/103815
I recommend reviewing commit-by-commit.
|
|
|
|
Various cleanups around scalar layout restrictions
Pulled out of https://github.com/rust-lang/rust/pull/103724
|
|
Use the power of adding helper function to simplify code w/ `Mutability`
r? `@compiler-errors`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rollup of 11 pull requests
Successful merges:
- #104514 (Use node_ty_opt to avoid ICE in visit_ty)
- #104704 (Allow power10-vector feature in PowerPC)
- #104747 (resolve: Don't use constructor def ids in the map for field names)
- #104773 (OpaqueCast projections are always overlapping, they can't possibly be disjoint)
- #104774 (Document split{_ascii,}_whitespace() for empty strings)
- #104780 (make `error_reported` check for delayed bugs)
- #104782 (Bump the const eval step limit)
- #104792 (rustdoc: simplify `.search-results-title` CSS)
- #104796 (lint: do not warn unused parens around higher-ranked function pointers)
- #104820 (Remove normalize_projection_type)
- #104822 (with_query_mode -> new)
Failed merges:
- #104716 (move 2 candidates into builtin candidate)
- #104841 (Assert that we don't capture escaping bound vars in `Fn` trait selection)
r? `@ghost`
`@rustbot` modify labels: rollup
|