| Age | Commit message (Collapse) | Author | Lines |
|
It's now split between two errors, one to remove the invalid derive macro
and one suggesting adding a new non-derive macro
|
|
It helped to reuse `update_def` for the crate root, but it created confusion and caused some mistakes when I implemented #109500
|
|
|
|
|
|
Remove the `NodeId` of `ast::ExprKind::Async`
This is a followup to https://github.com/rust-lang/rust/pull/104833#pullrequestreview-1314537416.
In my original attempt, I was using `LoweringContext::expr`, which was not correct as it creates a fresh `DefId`.
It now uses the correct `DefId` for the wrapping `Expr`, and also makes forwarding `#[track_caller]` attributes more explicit.
|
|
|
|
rustdoc: Skip doc link resolution for non-exported items
|
|
resolve: Rename some cstore methods to match queries and add comments
about costs associated with replacing them with query calls.
Supersedes https://github.com/rust-lang/rust/pull/108346.
r? `@cjgillot`
|
|
r=petrochenkov
Move useless_anynous_reexport lint into unused_imports
As mentioned in https://github.com/rust-lang/rust/pull/109003, this check should have been merged with `unused_imports` in the start.
r? `@petrochenkov`
|
|
Lint ambiguous glob re-exports
Attempts to fix #107563.
We currently already emit errors for ambiguous re-exports when two names are re-exported *specifically*, i.e. not from glob exports. This PR attempts to emit deny-by-default lints for ambiguous glob re-exports.
|
|
about costs associated with replacing them with query calls.
|
|
rustc_interface: Add a new query `pre_configure`
It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early.
Crate-level cfg attributes on the crate itself are then expanded normally during the main expansion pass, like attributes on any other nodes.
This is a continuation of https://github.com/rust-lang/rust/pull/92473 and one more step to very unstable crate-level proc macro attributes maybe actually working.
Previously crate attributes were pre-configured simultaneously with feature extraction, and then written directly into `ast::Crate`.
|
|
Rollup of 7 pull requests
Successful merges:
- #108541 (Suppress `opaque_hidden_inferred_bound` for nested RPITs)
- #109137 (resolve: Querify most cstore access methods (subset 2))
- #109380 (add `known-bug` test for unsoundness issue)
- #109462 (Make alias-eq have a relation direction (and rename it to alias-relate))
- #109475 (Simpler checked shifts in MIR building)
- #109504 (Stabilize `arc_into_inner` and `rc_into_inner`.)
- #109506 (make param bound vars visibly bound vars with -Zverbose)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early.
Crate-level cfg attributes are then expanded normally during the main expansion pass, like attributes on any other nodes.
|
|
resolve: Querify most cstore access methods (subset 2)
These changes are less likely to cause perf regressions than the rest of https://github.com/rust-lang/rust/pull/108346.
|
|
Rollup of 9 pull requests
Successful merges:
- #108954 (rustdoc: handle generics better when matching notable traits)
- #109203 (refactor/feat: refactor identifier parsing a bit)
- #109213 (Eagerly intern and check CrateNum/StableCrateId collisions)
- #109358 (rustc: Remove unused `Session` argument from some attribute functions)
- #109359 (Update stdarch)
- #109378 (Remove Ty::is_region_ptr)
- #109423 (Use region-erased self type during IAT selection)
- #109447 (new solver cleanup + implement coherence)
- #109501 (make link clickable)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
rustc: Remove unused `Session` argument from some attribute functions
(One auxiliary test file containing one of these functions was unused, so I removed it instead of updating.)
|
|
Rollup of 10 pull requests
Successful merges:
- #109373 (Set LLVM `LLVM_UNREACHABLE_OPTIMIZE` to `OFF`)
- #109392 (Custom MIR: Allow optional RET type annotation)
- #109394 (adapt tests/codegen/vec-shrink-panik for LLVM 17)
- #109412 (rustdoc: Add GUI test for "Auto-hide item contents for large items" setting)
- #109452 (Ignore the vendor directory for tidy tests.)
- #109457 (Remove comment about reusing rib allocations)
- #109461 (rustdoc: remove redundant `.content` prefix from span/a colors)
- #109477 (`HirId` to `LocalDefId` cleanup)
- #109489 (More general captures)
- #109494 (Do not feed param_env for RPITITs impl side)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
More general captures
This avoids repetition of the binding.
|
|
Remove comment about reusing rib allocations
Perf indicates this to not be worth the complexity
cc #4948
|
|
rustdoc: Cleanup parent module tracking for doc links
Keep ids of the documented items themselves, not their parent modules. Parent modules can be retreived from those ids when necessary.
Fixes https://github.com/rust-lang/rust/issues/108501.
That issue could be fixed in a more local way, but this refactoring is something that I wanted to do since https://github.com/rust-lang/rust/pull/93805 anyway.
|
|
|
|
This avoids repetition
|
|
|
|
|
|
Keep ids of the documented items themselves, not their parent modules.
Parent modules can be retreived from those ids when necessary.
|
|
|
|
|
|
|
|
resolve: Improve debug impls for `NameBinding`
Print at least the Some/None/Ok/Err status of the nested bindings if not the bindings themselves.
Noticed while reviewing https://github.com/rust-lang/rust/pull/108729.
|
|
Do not ICE for unexpected lifetime with ConstGeneric rib
Fixes #109143
r? ````@petrochenkov````
Combining this test with the previous test will affect the previous diagnostics, so I added a separate test case.
|
|
Print at least the Some/None/Ok/Err status of the nested bindings if not the bindings themselves.
|
|
|
|
|
|
This is a cleanup that doesn't introduce new query calls, but this way `def_key` is decoded twice which may matter for performance or may not
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This makes it easier to open the messages file while developing on features.
The commit was the result of automatted changes:
for p in compiler/rustc_*; do mv $p/locales/en-US.ftl $p/messages.ftl; rmdir $p/locales; done
for p in compiler/rustc_*; do sed -i "s#\.\./locales/en-US.ftl#../messages.ftl#" $p/src/lib.rs; done
|
|
Rollup of 9 pull requests
Successful merges:
- #104363 (Make `unused_allocation` lint against `Box::new` too)
- #106633 (Stabilize `nonzero_min_max`)
- #106844 (allow negative numeric literals in `concat!`)
- #108071 (Implement goal caching with the new solver)
- #108542 (Force parentheses around `match` expression in binary expression)
- #108690 (Place size limits on query keys and values)
- #108708 (Prevent overflow through Arc::downgrade)
- #108739 (Prevent the `start_bx` basic block in codegen from having two `Builder`s at the same time)
- #108806 (Querify register_tools and post-expansion early lints)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Querify register_tools and post-expansion early lints
The 2 extra queries correspond to code that happen before and after macro expansion, and don't need the resolver to exist.
|
|
This is a regression from #94857.
|