This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 75df481fcc3 libstdc++: Ensure that std::vector<bool> allocator has bool [...] new ecb0e17c419 gccrs: typecheck: Separate assemble_builtin_candidate in two new 3ee9affeb3b gccrs: typecheck: Add basic handling for applying auto trai [...] new 1beda99b033 gccrs: lang-item:Add LangItem::Kind::RECEIVER new 9b784c352ba gccrs: hir-dump: Improve handling of typepathsegments that [...] new a7914fcc4f9 gccrs: ast-builder: Add extra parameter for TypeParam builder new d7794f91e61 gccrs: derive(Clone): Add Clone bound on generated impl blocks new 2bee6000c3d gccrs: derive(Clone): Use lang item bounds on AssertParamIsCopy new 9061a823a11 gccrs: derive(Copy): Improve bounds when deriving Copy new 9df8fc12d04 gccrs: Fix rust breakage with nr2 new 23a3ec61f6d gccrs: lang-items: Add Result and Try lang items new 561ef90a364 gccrs: backend: Allow anything as a match scrutinee new 1bb09fcfd10 gccrs: Check for type paths nr2.0 can't handle yet new 8c95b5062dd gccrs: Add environment capture to NR2 new cd30e006462 gccrs: Add captures for ClosureExprInnerTyped with nr2 new 34ef64d9448 gccrs: Infer crate name after file opening new aa025559159 gccrs: catch missing guard for optional result new bff688808d2 gccrs: lang-items: Collect enum variants as lang items new 14d04e93cf8 gccrs: mappings: Improve error message for get_lang_item_node new d9a02b1f616 gccrs: lang-items: Add LangItem::IsEnumVariant new 379b69c149d gccrs: ast: More visitors to allow lang item paths in expressions new d14bb437ed4 gccrs: hir: Add LangItem paths to PathPattern class new 8d883fbc553 gccrs: hir: Adapt visitors to lang item PathInExpressions new 8c8bd50a267 gccrs: marklive: Fix handling for lang item PathInExpressions. new 1b745da3ae5 gccrs: ast: Add Path::is_lang_item() new 75325a32512 gccrs: backend: Improve handling of lang-item PathInExpressions new fc811e730d5 gccrs: Labels shall be pushed within label namespace new c48090da99c gccrs: Add debug dump to old name resolver new 5d61ca14fc1 gccrs: Add unit struct to name namespace in old resolver new 8ed266e56b4 gccrs: Remove query mode on CompileItem new 0529a772896 gccrs: Remove some tests from nr2 exclusion file new 178e5f85b48 gccrs: Clone expr instead of taking it new 48d524e2ee0 gccrs: Make foreverstack debug string const new af1acc3599c gccrs: Resolved item type shall be differentiated later new 4f6d40d3238 gccrs: Compile unit struct with constructor new a73fe69c4fd gccrs: Remove some passing test from exclude file new dda64731782 gccrs: add new -frust-overflow-checks flag to control overf [...] new d1e92022104 gccrs: lang-items: Add From::from new 89d8c5434c6 gccrs: add support for ref literal patterns new c1d6807f7a5 gccrs: ast: Add new Expr::Kinds new d26828bd44b gccrs: Add option_env! support new c4731c1b144 gccrs: Fix an issue with ForeverStack::dfs_rib new 1c7507dd1a0 gccrs: nr2.0: late: Add proper handling for lang item PathI [...] new 62a8f1539c0 gccrs: lang-items: Add structural_{peq, teq} new ee93fe2c991 gccrs: scan-deadcode: Do not warn unused fields if they sta [...] new 4106b575c66 gccrs: ast-builder: Add new functions to create type paths. new 554150f889a gccrs: ast-builder: Add new methods for functions, traits a [...] new 4851916f183 gccrs: derive-visitor: Add method for setting up derived im [...] new 41262dfcd43 gccrs: derive(Clone, Copy): Cleanup using new method from D [...] new 51c247c4dbe gccrs: derive(Debug): Add stub implementation. new 50c9ea91216 gccrs: ast: builder: Add Return expression builder new 9a97fa81958 gccrs: nr2.0: Remove accidental copies of resolver new 60aeb762959 gccrs: Fix bug in type resolution of paths new 0eddc297f03 gccrs: Fix ICE when fn_once and fn_once_output lang item is [...] new 3057b8a897a gccrs: Fix ICE during path probe new b767d01f17d gccrs: coercion sites allow for type inference as well. new ea913186d45 gccrs: Fix crash in privay reporter for placeholder types new e09a03982cf gccrs: Fix bad generic substitution error on fn/adt types new 6711c731356 gccrs: Fix compilation of trait-items which map to impl items new 5d1ba7c2243 gccrs: ast-builder: Add methods for QualifiedPathInExpressions new d8dc928bad2 gccrs: derive(Default): Add implementation new 419965b1cab gccrs: Add test case to show issue is fixed new f4d20fbe6b5 gccrs: Add warning about default visitor usage new d9a21c18751 gccrs: inline-asm: Fix some warnings new bbf31f8f5a6 gccrs: nr2.0: Resolve instances of TypePath more accurately new f6a2a71b356 gccrs: ast: builder: Fix arguments of Builder::let new 01d7dd796f7 gccrs: ast: Add DesugarForLoop class new 0c14d952985 gccrs: session manager: Call into DesugarForLoops new a34f4d5a817 gccrs: remove bad type checking diagnostic new 90376526038 gccrs: Get rid of duplicate interface gccrs#3396 new b5106eeabdb gccrs: add discriminant value intrinsic new fc77cd53875 gccrs: add variant_count intrinsic new 980ae7ad443 gccrs: enum type layout needs to respect the enum repr type new dd0a895a555 gccrs: remove name resolution inserts from type-path new c5b8c95b82c gccrs: add diagnostic for E0229 no associated type argument [...] new 93f32b3d49c gccrs: fix unconstrained generics check to handle recursive [...] new 41302945e2a gccrs: fix name resolution for generics where type param is [...] new 3ac3c6f90f2 gccrs: self paths are patterns but we dont have mappings for it new 093ae1547cb gccrs: improve error diagnostic for bad type-resolution in [...] new 271a3489604 gccrs: Add name resolution and HIR lowering for ImplTraitType's new 3e589260b4e gccrs: initial setup for new OpaqueType to represent Impl types new 0da1380d663 gccrs: nr2.0: Resolve paths which start with Self new 75db9aed8d9 gccrs: Add type check on if-expr new c92dfc78201 gccrs: Add comments to resolve_segments new 1dc99a42643 gccrs: nr2.0: Fix issue with external crates new 228ee853d92 gccrs: nr2.0: Run DefaultResolver::visit on PathInExpression new 8586724f973 gccrs: derive(Eq): Add implementation. new 0897e2bcaf0 gccrs: ast-builder: Improve function generation. new 1a58f2b23f0 gccrs: ast-builder: Add new methods for creating operator e [...] new 20580f75496 gccrs: derive(Clone): chore: Cleanup new e98f95a473d gccrs: derive(PartialEq): Add partial implementation new e79f430bf0e gccrs: expand: Allow built-in derives to generate multiple items new 1e58453aa20 gccrs: derive(PartialEq): Also derive StructuralPartialEq new ee743907d9b gccrs: derive(Eq): Also derive StructuralEq new a4d2184f430 gccrs: derive(Eq): Create copies of Eq typepath to avoid No [...] new 9724c8af49e gccrs: Remove PathInExpression::get_pattern_node_id new ebc8d3c1a23 gccrs: Fix expansion of macros inside modules new 3538d23b6ce gccrs: Remove some member functions from SingleASTNode new c378a3a4ef5 gccrs: ast: builder: Add new builder methods new 0287030e770 gccrs: derive(Debug): Use builder's ptrify function instead new 051e54e5fcf gccrs: derive(Hash): Add implementation. new 2ab119672d4 gccrs: hir-dump: Fix more segfaults in the HIR dump new b0dff76ede4 gccrs: Adjust type path resolution error message new 9ddf6be21e0 gccrs: nr2.0: Implement macro_use for modules new 75252f2dc9b gccrs: lower: Always crash when lowering macro invocations new d5eaa52c1ab gccrs: name-resolution: early: Remove overzealous overrides new 146dc9483b5 gccrs: expansion: Expand generic args in generic type path [...] new d0e6dc1bb77 gccrs: nr2.0: Handle lang item type path segments new f60b2106af7 gccrs: Adjust unknown macro error message new 4d6a08b4766 gccrs: ast: Add base for desugaring try expressions new 1160e4b7e1c gccrs: lower: Error out when lowering ErrorPropagationExpr new a136e94e9da gccrs: session-manager: Call into DesugarQuestionMark new e06530a531e gccrs: Reduce usage of rust-session-manager.h new 0d8b4920da2 gccrs: nr2.0: Make sure PathInExpression is default resolved new 1181104e1ff gccrs: expansion: Correctly expand $crate metavar new f9dce5e97dd gccrs: nr2.0: Set the node id of the root node new f0de6f16237 gccrs: Add rib kind debug representation new 8b178586c7e gccrs: Keep definition provenance to skip enum variants new f9c9afd0b8b gccrs: Add enum variant string information to definition new e5ed8845583 gccrs: Remove nr2 exhaustiveness test from exclusion list new 604ab7aa646 gccrs: Add a test for enum variant name resolution new 472d3efda8b gccrs: Fix some small issues new 29b76999b69 gccrs: remove visitor which is not needed here new 3bb961a903e gccrs: track DefId on ADT Types this could be useful information new 1f650869b6b gccrs: check for recursion trait cycle with bounds checks new 4d74da60a84 gccrs: Move import mapping resolution to in tree visit new e3dd0a4d7b2 gccrs: Remove tests from exclusion list new d7b9a0f0863 gccrs: Remove finalize import visitor new 76bc92cc924 gccrs: Add a function to get the crate number from node id new 7567357e178 gccrs: Insert crate name in canonical path new 05c3b517146 gccrs: Fix canonical path parent resolution new d32b548b35a gccrs: Remove mangling tests from exclusion list new 7107f9261f7 gccrs: nr2.0: Check compile/torture/*.rs tests new 69f84cbe23c gccrs: Fix modules with same name as builtins causing ICE (#3315) new 8ad42961181 gccrs: emit an error for type or const parameters on foreign items new 0b342630e4f gccrs: nr2.0: Fix test self-path2.rs new 6b0faf2946a gccrs: Prevent multiple resolution insertion new f1ccfd074bc gccrs: nr2.0: Adjust visitors for struct expressions new 853f57877d5 gccrs: Modify multiple definition error new 6736f9881ab gccrs: nr2.0: Adjust indentifier expression handling new a52914f01bf gccrs: nr2.0: Fix StructExprFieldIdentifier handling new 46de5444be4 gccrs: support generic super traits recursively
The 141 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/rust/Make-lang.in | 10 + gcc/rust/ast/rust-ast-builder.cc | 223 ++++++++++++- gcc/rust/ast/rust-ast-builder.h | 122 ++++++- gcc/rust/ast/rust-ast-collector.cc | 18 +- gcc/rust/ast/rust-ast-visitor.cc | 8 +- gcc/rust/ast/rust-ast.h | 27 +- gcc/rust/ast/rust-collect-lang-items.cc | 9 + gcc/rust/ast/rust-collect-lang-items.h | 1 + gcc/rust/ast/rust-desugar-for-loops.cc | 204 ++++++++++++ gcc/rust/ast/rust-desugar-for-loops.h | 108 +++++++ gcc/rust/ast/rust-desugar-question-mark.cc | 167 ++++++++++ gcc/rust/ast/rust-desugar-question-mark.h | 79 +++++ gcc/rust/ast/rust-expr.h | 31 ++ gcc/rust/ast/rust-path.h | 4 +- gcc/rust/ast/rust-pattern.cc | 1 - gcc/rust/backend/rust-compile-expr.cc | 49 ++- gcc/rust/backend/rust-compile-intrinsic.cc | 205 +++++++++--- gcc/rust/backend/rust-compile-item.cc | 33 +- gcc/rust/backend/rust-compile-item.h | 6 +- gcc/rust/backend/rust-compile-pattern.cc | 18 +- gcc/rust/backend/rust-compile-resolve-path.cc | 148 ++++++--- gcc/rust/backend/rust-compile-resolve-path.h | 60 ++-- gcc/rust/backend/rust-compile-type.cc | 22 +- gcc/rust/backend/rust-compile-type.h | 4 +- .../errors/borrowck/rust-bir-builder-struct.h | 4 - .../errors/borrowck/rust-bir-fact-collector.h | 1 + gcc/rust/checks/errors/borrowck/rust-bir-place.h | 1 + .../errors/borrowck/rust-function-collector.h | 1 - .../checks/errors/privacy/rust-privacy-reporter.cc | 12 +- gcc/rust/checks/errors/rust-const-checker.cc | 4 - gcc/rust/checks/errors/rust-const-checker.h | 1 - gcc/rust/checks/errors/rust-feature.h | 6 +- .../checks/errors/rust-hir-pattern-analysis.cc | 4 - gcc/rust/checks/errors/rust-hir-pattern-analysis.h | 1 - gcc/rust/checks/errors/rust-unsafe-checker.cc | 4 - gcc/rust/checks/errors/rust-unsafe-checker.h | 1 - gcc/rust/checks/lints/rust-lint-marklive.cc | 18 +- gcc/rust/checks/lints/rust-lint-scan-deadcode.h | 3 +- gcc/rust/expand/rust-cfg-strip.cc | 10 +- gcc/rust/expand/rust-derive-clone.cc | 164 +++------- gcc/rust/expand/rust-derive-clone.h | 8 +- gcc/rust/expand/rust-derive-copy.cc | 89 +----- gcc/rust/expand/rust-derive-debug.cc | 122 +++++++ .../{rust-derive-copy.h => rust-derive-debug.h} | 41 ++- gcc/rust/expand/rust-derive-default.cc | 173 ++++++++++ gcc/rust/expand/rust-derive-default.h | 58 ++++ gcc/rust/expand/rust-derive-eq.cc | 217 +++++++++++++ gcc/rust/expand/rust-derive-eq.h | 82 +++++ gcc/rust/expand/rust-derive-hash.cc | 293 +++++++++++++++++ .../{rust-derive-copy.h => rust-derive-hash.h} | 35 +- gcc/rust/expand/rust-derive-partial-eq.cc | 313 ++++++++++++++++++ gcc/rust/expand/rust-derive-partial-eq.h | 85 +++++ gcc/rust/expand/rust-derive.cc | 102 +++++- gcc/rust/expand/rust-derive.h | 31 +- gcc/rust/expand/rust-expand-visitor.cc | 37 ++- gcc/rust/expand/rust-expand-visitor.h | 1 + gcc/rust/expand/rust-macro-builtins-asm.cc | 24 +- gcc/rust/expand/rust-macro-builtins-helpers.h | 1 - gcc/rust/expand/rust-macro-builtins-include.cc | 1 + gcc/rust/expand/rust-macro-builtins-utility.cc | 79 +++++ gcc/rust/expand/rust-macro-builtins.cc | 6 +- gcc/rust/expand/rust-macro-builtins.h | 4 + gcc/rust/expand/rust-macro-expand.cc | 11 +- gcc/rust/expand/rust-macro-expand.h | 3 +- gcc/rust/expand/rust-macro-substitute-ctx.cc | 51 ++- gcc/rust/expand/rust-macro-substitute-ctx.h | 25 +- gcc/rust/hir/rust-ast-lower-base.cc | 23 +- gcc/rust/hir/rust-ast-lower-base.h | 356 +++++++++++---------- gcc/rust/hir/rust-ast-lower-expr.cc | 17 +- gcc/rust/hir/rust-ast-lower-expr.h | 1 - gcc/rust/hir/rust-ast-lower-item.cc | 11 +- gcc/rust/hir/rust-ast-lower-type.cc | 36 +++ gcc/rust/hir/rust-ast-lower-type.h | 3 + gcc/rust/hir/rust-ast-lower.cc | 35 +- gcc/rust/hir/rust-hir-dump.cc | 33 +- gcc/rust/hir/rust-hir-dump.h | 1 - gcc/rust/hir/tree/rust-hir-full-decls.h | 1 - gcc/rust/hir/tree/rust-hir-path.cc | 20 ++ gcc/rust/hir/tree/rust-hir-path.h | 95 +++++- gcc/rust/hir/tree/rust-hir-type.h | 32 -- gcc/rust/hir/tree/rust-hir-visitor.h | 3 - gcc/rust/hir/tree/rust-hir.cc | 26 +- gcc/rust/lang.opt | 4 + gcc/rust/lex/rust-lex.cc | 6 +- gcc/rust/parse/rust-parse-impl.h | 5 +- gcc/rust/resolve/rust-ast-resolve-expr.cc | 64 +--- gcc/rust/resolve/rust-ast-resolve-implitem.h | 18 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 71 ++-- gcc/rust/resolve/rust-ast-resolve-path.cc | 219 ++++++++++--- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 2 +- gcc/rust/resolve/rust-ast-resolve-stmt.h | 48 ++- gcc/rust/resolve/rust-ast-resolve-toplevel.h | 53 +-- gcc/rust/resolve/rust-ast-resolve-type.cc | 146 +++++++-- gcc/rust/resolve/rust-ast-resolve-type.h | 139 ++++---- gcc/rust/resolve/rust-ast-resolve.cc | 2 +- gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 132 +++++++- gcc/rust/resolve/rust-early-name-resolver-2.0.h | 18 +- gcc/rust/resolve/rust-early-name-resolver.cc | 34 +- gcc/rust/resolve/rust-early-name-resolver.h | 7 +- gcc/rust/resolve/rust-finalize-imports-2.0.cc | 95 ------ gcc/rust/resolve/rust-finalize-imports-2.0.h | 57 ---- gcc/rust/resolve/rust-forever-stack.h | 46 ++- gcc/rust/resolve/rust-forever-stack.hxx | 265 ++++++++++++--- .../rust-ice-finalizer.cc} | 18 +- gcc/rust/resolve/rust-ice-finalizer.h | 65 ++++ gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 222 ++++++++++--- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 7 + gcc/rust/resolve/rust-name-resolution-context.cc | 10 + gcc/rust/resolve/rust-name-resolution-context.h | 43 +++ gcc/rust/resolve/rust-name-resolver.cc | 7 +- gcc/rust/resolve/rust-name-resolver.h | 35 ++ gcc/rust/resolve/rust-rib.cc | 19 +- gcc/rust/resolve/rust-rib.h | 48 ++- .../resolve/rust-toplevel-name-resolver-2.0.cc | 69 +++- gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 22 +- gcc/rust/rust-session-manager.cc | 67 ++-- gcc/rust/rust-session-manager.h | 2 +- gcc/rust/typecheck/rust-autoderef.cc | 2 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 14 +- gcc/rust/typecheck/rust-hir-trait-reference.cc | 24 +- gcc/rust/typecheck/rust-hir-trait-reference.h | 9 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 24 +- gcc/rust/typecheck/rust-hir-trait-resolve.h | 2 + gcc/rust/typecheck/rust-hir-type-bounds.h | 1 + gcc/rust/typecheck/rust-hir-type-check-base.cc | 46 +-- gcc/rust/typecheck/rust-hir-type-check-base.h | 3 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 17 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 121 +++++-- gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 13 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 25 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 93 ++++-- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 18 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 203 ++++-------- gcc/rust/typecheck/rust-hir-type-check-type.h | 25 +- gcc/rust/typecheck/rust-hir-type-check.h | 5 - gcc/rust/typecheck/rust-substitution-mapper.cc | 13 +- gcc/rust/typecheck/rust-substitution-mapper.h | 4 + gcc/rust/typecheck/rust-type-util.cc | 13 +- gcc/rust/typecheck/rust-typecheck-context.cc | 24 -- gcc/rust/typecheck/rust-tyty-bounds.cc | 110 ++++++- gcc/rust/typecheck/rust-tyty-bounds.h | 25 -- gcc/rust/typecheck/rust-tyty-call.h | 1 + gcc/rust/typecheck/rust-tyty-cmp.h | 33 ++ gcc/rust/typecheck/rust-tyty-subst.cc | 25 +- gcc/rust/typecheck/rust-tyty-subst.h | 4 +- .../rust-tyty-variance-analysis-private.h | 2 + gcc/rust/typecheck/rust-tyty-visitor.h | 2 + gcc/rust/typecheck/rust-tyty.cc | 286 +++++++++++++++-- gcc/rust/typecheck/rust-tyty.h | 114 +++++-- gcc/rust/typecheck/rust-unify.cc | 89 +++++- gcc/rust/typecheck/rust-unify.h | 2 + .../rust-edition.cc} | 24 +- .../rust-edition.h} | 31 +- gcc/rust/util/rust-hir-map.cc | 69 +++- gcc/rust/util/rust-hir-map.h | 17 +- gcc/rust/util/rust-lang-item.cc | 26 ++ gcc/rust/util/rust-lang-item.h | 27 +- gcc/rust/util/rust-unwrap-segment.cc | 61 ++++ gcc/rust/util/rust-unwrap-segment.h | 121 +++++++ .../rust/compile/additional-trait-bounds2.rs | 2 +- gcc/testsuite/rust/compile/auto_traits2.rs | 5 +- gcc/testsuite/rust/compile/auto_traits3.rs | 34 -- gcc/testsuite/rust/compile/auto_traits4.rs | 14 + gcc/testsuite/rust/compile/const_generics_4.rs | 2 +- gcc/testsuite/rust/compile/const_generics_7.rs | 14 +- gcc/testsuite/rust/compile/crate-metavar1.rs | 14 + gcc/testsuite/rust/compile/derive-debug1.rs | 41 +++ gcc/testsuite/rust/compile/derive-default1.rs | 29 ++ gcc/testsuite/rust/compile/derive-eq-invalid.rs | 52 +++ gcc/testsuite/rust/compile/derive-hash1.rs | 91 ++++++ gcc/testsuite/rust/compile/derive-partialeq1.rs | 62 ++++ gcc/testsuite/rust/compile/derive_macro6.rs | 2 +- gcc/testsuite/rust/compile/enum_variant_name.rs | 12 + gcc/testsuite/rust/compile/extern_generics.rs | 8 + .../torture/iter1.rs => compile/for-loop1.rs} | 33 +- .../torture/iter1.rs => compile/for-loop2.rs} | 31 +- gcc/testsuite/rust/compile/generic-default1.rs | 2 +- gcc/testsuite/rust/compile/generics4.rs | 1 - gcc/testsuite/rust/compile/generics5.rs | 2 +- gcc/testsuite/rust/compile/generics6.rs | 1 - gcc/testsuite/rust/compile/generics9.rs | 2 +- gcc/testsuite/rust/compile/if-without-else.rs | 9 + .../rust/compile/implicit_returns_err3.rs | 2 +- gcc/testsuite/rust/compile/issue-2015.rs | 19 ++ gcc/testsuite/rust/compile/issue-2035.rs | 10 + gcc/testsuite/rust/compile/issue-2369.rs | 21 ++ gcc/testsuite/rust/compile/issue-2423.rs | 6 +- gcc/testsuite/rust/compile/issue-2954.rs | 17 + gcc/testsuite/rust/compile/issue-3022.rs | 18 ++ gcc/testsuite/rust/compile/issue-3031.rs | 15 + gcc/testsuite/rust/compile/issue-3174.rs | 28 ++ gcc/testsuite/rust/compile/issue-3315-1.rs | 8 + gcc/testsuite/rust/compile/issue-3315-2.rs | 7 + gcc/testsuite/rust/compile/issue-3382.rs | 61 ++++ gcc/testsuite/rust/compile/issue-3402-1.rs | 29 ++ gcc/testsuite/rust/compile/issue-3402-2.rs | 18 ++ gcc/testsuite/rust/compile/issue-3403.rs | 38 +++ .../rust/compile/macros/builtin/option_env1.rs | 29 ++ .../rust/compile/macros/builtin/option_env2.rs | 27 ++ .../rust/compile/macros/builtin/option_env3.rs | 28 ++ .../rust/compile/macros/mbe/macro-expand-module.rs | 11 + gcc/testsuite/rust/compile/macros/mbe/macro43.rs | 2 +- gcc/testsuite/rust/compile/macros/mbe/macro44.rs | 2 +- gcc/testsuite/rust/compile/method2.rs | 2 +- gcc/testsuite/rust/compile/nested_macro_use2.rs | 2 +- gcc/testsuite/rust/compile/nr2/compile.exp | 6 +- gcc/testsuite/rust/compile/nr2/exclude | 138 +------- gcc/testsuite/rust/compile/redef_error2.rs | 2 +- gcc/testsuite/rust/compile/redef_error5.rs | 2 +- gcc/testsuite/rust/compile/reference1.rs | 2 +- gcc/testsuite/rust/compile/self-path2.rs | 4 +- gcc/testsuite/rust/compile/structural-eq-peq.rs | 9 + gcc/testsuite/rust/compile/torture/if.rs | 8 +- gcc/testsuite/rust/compile/try-expr1.rs | 84 +++++ gcc/testsuite/rust/compile/try-trait.rs | 44 +++ gcc/testsuite/rust/compile/type-bindings1.rs | 1 - .../rust/compile/unconstrained_type_param.rs | 1 - gcc/testsuite/rust/execute/crate-metavar1.rs | 11 + .../execute/torture/builtin_macro_option_env.rs | 65 ++++ .../rust/execute/torture/derive-default1.rs | 26 ++ .../rust/execute/torture/derive-partialeq1.rs | 64 ++++ .../rust/execute/torture/enum_intrinsics1.rs | 48 +++ .../rust/execute/torture/enum_intrinsics2.rs | 25 ++ .../execute/torture/{iter1.rs => for-loop1.rs} | 29 +- .../execute/torture/{iter1.rs => for-loop2.rs} | 28 +- .../execute/torture/{trait15.rs => issue-3126.rs} | 24 +- gcc/testsuite/rust/execute/torture/issue-3381.rs | 90 ++++++ .../execute/torture/{trait15.rs => issue-3502.rs} | 22 +- 228 files changed, 7528 insertions(+), 2278 deletions(-) create mode 100644 gcc/rust/ast/rust-desugar-for-loops.cc create mode 100644 gcc/rust/ast/rust-desugar-for-loops.h create mode 100644 gcc/rust/ast/rust-desugar-question-mark.cc create mode 100644 gcc/rust/ast/rust-desugar-question-mark.h create mode 100644 gcc/rust/expand/rust-derive-debug.cc copy gcc/rust/expand/{rust-derive-copy.h => rust-derive-debug.h} (52%) create mode 100644 gcc/rust/expand/rust-derive-default.cc create mode 100644 gcc/rust/expand/rust-derive-default.h create mode 100644 gcc/rust/expand/rust-derive-eq.cc create mode 100644 gcc/rust/expand/rust-derive-eq.h create mode 100644 gcc/rust/expand/rust-derive-hash.cc copy gcc/rust/expand/{rust-derive-copy.h => rust-derive-hash.h} (56%) create mode 100644 gcc/rust/expand/rust-derive-partial-eq.cc create mode 100644 gcc/rust/expand/rust-derive-partial-eq.h copy gcc/rust/{hir/tree/rust-hir-type-abstract.cc => resolve/rust-ice-finalizer.cc} (62%) create mode 100644 gcc/rust/resolve/rust-ice-finalizer.h copy gcc/rust/{hir/tree/rust-hir-type-abstract.cc => util/rust-edition.cc} (60%) copy gcc/rust/{backend/rust-compile-intrinsic.h => util/rust-edition.h} (67%) create mode 100644 gcc/rust/util/rust-unwrap-segment.cc create mode 100644 gcc/rust/util/rust-unwrap-segment.h delete mode 100644 gcc/testsuite/rust/compile/auto_traits3.rs create mode 100644 gcc/testsuite/rust/compile/auto_traits4.rs create mode 100644 gcc/testsuite/rust/compile/crate-metavar1.rs create mode 100644 gcc/testsuite/rust/compile/derive-debug1.rs create mode 100644 gcc/testsuite/rust/compile/derive-default1.rs create mode 100644 gcc/testsuite/rust/compile/derive-eq-invalid.rs create mode 100644 gcc/testsuite/rust/compile/derive-hash1.rs create mode 100644 gcc/testsuite/rust/compile/derive-partialeq1.rs create mode 100644 gcc/testsuite/rust/compile/enum_variant_name.rs create mode 100644 gcc/testsuite/rust/compile/extern_generics.rs copy gcc/testsuite/rust/{execute/torture/iter1.rs => compile/for-loop1.rs} (96%) copy gcc/testsuite/rust/{execute/torture/iter1.rs => compile/for-loop2.rs} (96%) create mode 100644 gcc/testsuite/rust/compile/if-without-else.rs create mode 100644 gcc/testsuite/rust/compile/issue-2015.rs create mode 100644 gcc/testsuite/rust/compile/issue-2035.rs create mode 100644 gcc/testsuite/rust/compile/issue-2369.rs create mode 100644 gcc/testsuite/rust/compile/issue-2954.rs create mode 100644 gcc/testsuite/rust/compile/issue-3022.rs create mode 100644 gcc/testsuite/rust/compile/issue-3031.rs create mode 100644 gcc/testsuite/rust/compile/issue-3174.rs create mode 100644 gcc/testsuite/rust/compile/issue-3315-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3315-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3382.rs create mode 100644 gcc/testsuite/rust/compile/issue-3402-1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3402-2.rs create mode 100644 gcc/testsuite/rust/compile/issue-3403.rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/option_env1.rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/option_env2.rs create mode 100644 gcc/testsuite/rust/compile/macros/builtin/option_env3.rs create mode 100644 gcc/testsuite/rust/compile/macros/mbe/macro-expand-module.rs create mode 100644 gcc/testsuite/rust/compile/structural-eq-peq.rs create mode 100644 gcc/testsuite/rust/compile/try-expr1.rs create mode 100644 gcc/testsuite/rust/compile/try-trait.rs create mode 100644 gcc/testsuite/rust/execute/crate-metavar1.rs create mode 100644 gcc/testsuite/rust/execute/torture/builtin_macro_option_env.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive-default1.rs create mode 100644 gcc/testsuite/rust/execute/torture/derive-partialeq1.rs create mode 100644 gcc/testsuite/rust/execute/torture/enum_intrinsics1.rs create mode 100644 gcc/testsuite/rust/execute/torture/enum_intrinsics2.rs copy gcc/testsuite/rust/execute/torture/{iter1.rs => for-loop1.rs} (96%) copy gcc/testsuite/rust/execute/torture/{iter1.rs => for-loop2.rs} (96%) copy gcc/testsuite/rust/execute/torture/{trait15.rs => issue-3126.rs} (61%) create mode 100644 gcc/testsuite/rust/execute/torture/issue-3381.rs copy gcc/testsuite/rust/execute/torture/{trait15.rs => issue-3502.rs} (63%)