-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Rollup of 4 pull requests #150729
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 4 pull requests #150729
Conversation
Also, rename `DeclKind::Res` to `DeclKind::Def`.
`MacroRulesBinding` -> `MacroRulesDef`
…-bug, r=jdonszelmann
Fix macro_metavar_expr_concat behavior with nested repetitions
**The Bug**: The `${concat(...)}` expression was using the wrong loop index when inside nested repetitions (like optional groups), causing it to get "stuck" on the first element and generate duplicate code.
**The Fix**: Updated `metavar_expr_concat` in `transcribe.rs` to correctly search the repetition stack (`tscx.repeats`) for the target variable instead of blindly using the last index.
**Tests**:
Added `tests/ui/macros/concat-nested-repetition.rs.`
Fixes rust-lang#150002
resolve: Rename "name bindings" to "name declarations" This was discussed previously in some name resolution specification threads on zulip. Link: [#t-compiler/help > understanding early name resolution of imports @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/understanding.20early.20name.20resolution.20of.20imports/near/545306658) The main change is that `NameBinding` is renamed to `Decl`. The `Name` part is skipped because almost everything in `rustc_resolve` is about names. So in general the naming looks more compact now (`binding: NameBinding` -> `decl: Decl`). I didn't rename *everything* including all the local variables, but did rename most of significant interfaces. Late resolution in particular uses "bindings" in slightly different meanings, I didn't touch that. Also, some interface comments are added/improved. Renaming list: - fn `define_binding_local` -> `plant_decl_into_local_module` - fn `add_macro_use_binding` -> `add_macro_use_decl` - fn `binding_description` -> `decl_description` - enum `PendingBinding` -> `PendingDecl` - field `ImportKind::Single::bindings` -> `ImportKind::Single::decls` - field `NameResolution::non_glob_binding` -> `NameResolution::non_glob_decl` - field `NameResolution::glob_binding` -> `NameResolution::glob_decl` - fn `best_binding` -> `best_decl` - fn `import` -> `new_import_decl` - fn `try_define_local` -> `try_plant_decl_into_local_module` - fn `new_ambiguity_binding` -> `new_decl_with_ambiguity` - fn `new_warn_ambiguity_binding` -> `new_decl_with_warn_ambiguity` - field `UnnecessaryQualification::binding` -> `UnnecessaryQualification::decl` - struct `MacroRulesBinding` -> `MacroRulesDef` - field `MacroRulesBinding::binding` -> `MacroRulesDef::decl` - variant `MacroRulesScope::Binding` -> `MacroRulesScope::Def` - enum `LexicalScopeBinding` -> `LateDecl` - variant `LexicalScopeBinding::Item` -> `LateDecl::Decl` - variant `LexicalScopeBinding::Res` -> `LateDecl::RibDef` - field `ModuleData::self_binding` -> `ModuleData::self_decl` - struct `NameBindingData` -> `DeclData` - type `NameBinding` -> `Decl` - enum `NameBindingKind` -> `DeclKind` - variant `NameBindingKind::Res` -> `DeclKind::Def` - field `NameBindingKind::Import::binding` -> `DeclKind::Import::source_decl` - field `PrivacyError::binding` -> `PrivacyError::decl` - field `ExternPreludeEntry::item_binding` -> `ExternPreludeEntry::item_decl` - field `ExternPreludeEntry::flag_binding` -> `ExternPreludeEntry::flag_decl` - field `Resolver::binding_parent_modules` -> `Resolver::decl_parent_modules` - field `Resolver::dummy_binding` -> `Resolver::dummy_decl` - field `Resolver::builtin_types_bindings` -> `Resolver::builtin_type_decls` - field `Resolver::builtin_attrs_bindings` -> `Resolver::builtin_attr_decls` - field `Resolver::registered_tool_bindings` -> `Resolver::registered_tool_decls` - fn `ResolverArenas::new_res_binding` -> `ResolverArenas::new_def_decl` - fn `ResolverArenas::new_pub_res_binding` -> `ResolverArenas::new_pub_def_decl` - fn `ResolverArenas::alloc_name_binding` -> `ResolverArenas::alloc_decl` - fn `ResolverArenas::alloc_macro_rules_binding` -> `ResolverArenas::alloc_macro_rules_def` - fn `set_binding_parent_module` -> `set_decl_parent_module`
MGCA: Const constructors support part of rust-lang#132980 fixes rust-lang#132985 fixes rust-lang#136138 fixes rust-lang#139596 r? BoxyUwU
…t-cleanup, r=fmease Cleanup some ui tests for const-traits r? project-const-traits These tests pretty much behave as expected now.
|
@bors r+ rollup=never p=5 |
Rollup of 4 pull requests Successful merges: - #150026 (Fix macro_metavar_expr_concat behavior with nested repetitions) - #150521 (resolve: Rename "name bindings" to "name declarations") - #150704 (MGCA: Const constructors support) - #150728 (Cleanup some ui tests for const-traits) r? `@ghost` `@rustbot` modify labels: rollup
|
💔 Test failed - checks-actions |
|
💡 This pull request was already approved, no need to approve it again.
|
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
☀️ Test successful - checks-actions |
|
📌 Perf builds for each rolled up PR:
previous master: 4d73a008ea In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 4d73a00 (parent) -> 0aced20 (this PR) Test differencesShow 78 test diffsStage 1
Stage 2
Additionally, 44 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 0aced202c24f9356c1640fc0a7f07433b3a7124f --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (0aced20): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary -4.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 473.709s -> 474.51s (0.17%) |
Successful merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup