This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from b42078879d7 gccrs: Implement compilation support for TuplePatternItems::RANGED new 6f7a0946569 gccrs: nr2.0: Enable by default new 0d542c18c67 gccrs: Remove -frust-name-resolution-2.0 usage in tests new c5d5bc1b41b gccrs: nr1.0: Remove rust/backend support new 7ff7ac9ea35 gccrs: Remove Late visitor override for StructStruct new b790c4a2f3b gccrs: Remove reinterpret_cast usages in DefaultASTVisitor new df0fd3ad845 gccrs: Change enum to enum class new 8122f4de72c gccrs: Allow format_args to accept a raw string literal new 528dd22fd93 gccrs: Parse try expressions new 4e06ba151c4 gccrs: ast: Check before visiting a while-let's label new 1c22584fee9 gccrs: nr2.0: Add proper handling for WhileLet loops. new b42c7041ae2 gccrs: Do proper const folding during typechecking for arra [...] new 4d3f4efc932 gccrs: Fix ice with invalid borrow expression new 42cf04c2b8f gccrs: Add type checking for SlicePattern new ca34282cc71 gccrs: Improve LiteralPattern type checking new a887f69e96b gccrs: Fix narrowing of Loan (size_t) into LoanId (uint32) new d8d02332bcc gccrs: Fix bad bounds checking for PartialOrd new eea4cce9698 gccrs: nr2.0: Check before visiting a for-loop's label new 04b29afceef gccrs: Fix cast rules logic to try simple casts then fall b [...] new 79ce69f728d gccrs: Fix ICE when handling bad constructor new 24efd3aa458 gccrs: add test case to show issue is fixed new 4d57fe1a442 gccrs: Add test case to show we emit better errors now new 65b8519344e gccrs: Add test case to show issue is fixed new cf8a078221d gccrs: attributes: Add #[test] and #[simd_test] new a7c999f8fea gccrs: Add test case showing all derives working on enum new 72eb21fdf97 gccrs: Add size checking to SlicePattern new 39aa96ce938 gccrs: Implement compilation for SlicePattern matching agai [...] new ecb3582903c gccrs: Reject loop in const/static context new 1420d244ee2 gccrs: Add test case to show issue is fixed new cfa1e8f973c gccrs: Improve parsing of simple paths new c3642a2cded gccrs: Fix ICE with duplicate root item main function new 9076a8f6888 gccrs: Add initial support for deffered operator overload r [...] new 1490b80bd14 gccrs: return error node when this fails during constexpr case new 9eec8c94ff8 gccrs: Use MacroInvocLexer in AttributeParser new 97f6ec0b880 gccrs: fix bad monomophization of generic paths new d957db9385c gccrs: Specialize ExpandVisitor::expand_macro_children new 9862af0658e gccrs: Load modules during CfgStrip phase new b67f1346885 gccrs: mappings: Change mappings to allow other items as it [...] new 04c0a865150 gccrs: nr2.0: Handle glob imports of enum variants. new 796f8f69441 gccrs: ast: Use AnonConst for array type sizes new 03cdb5236c5 gccrs: hir: Handle deferred const inference variables new f735d62958d gccrs: chore: ast: Fix formatting in rust-expr.h new 5594047290c gccrs: desugar: Add desugar dispatch for all desugars new d8224f0222d gccrs: ast: Visit block labels if they are present new 3c18f1e4877 gccrs: Handle IfLetExprConseqElse in DefaultResolver new ba00ed09766 gccrs: ast: Add Expr::Kind::Try new 499a70699bc gccrs: desugar: Handle try-blocks new 495765758a3 gccrs: Update SlicePattern typechecking against slice refer [...] new e80e577df7c gccrs: Implement compilation for SlicePattern against Slice [...] new 75a24412545 gccrs: Add indexed positional argument support in asm new 37ecb97134b gccrs: Add pretty hir dump for inline assembly new a527e317a06 gccrs: Parse input and output expression new 68287a532c0 gccrs: Add input/output from inout and split in out new 71a121c2c65 gccrs: Add execute test for variable and identifiers new 611b74cffe4 gccrs: nr1.0: Remove rust/typecheck support new a9fdfc065c3 gccrs: Fix semicolon after some namespace new 697025acf8b gccrs: Fix infinite loop with missing comma new 7f520ecc0c0 gccrs: Error message field member was not properly updated new aa57360f263 gccrs: ast: Add OffsetOf node new 689f2ffb73c gccrs: expand: Add parser for offset_of!() and builtin resolution. new 8a3cac82ccd gccrs: hir: Add OffsetOf node new 40754a08e5b gccrs: desugar: Add for-loop desugar to ExpressionYeast new eba7cd78ddf gccrs: desugar: Add assertions for try-blocks and question-mark new 78b6af888e6 gccrs: lower: Add assertions for desugared nodes new ba7f3c6d3be gccrs: desugar: Cleanup for-loop desugar implementation. new e705ad248a2 gccrs: Fix AttrInputMacro operator= overloading. new bdb6f7f2c06 gccrs: desugar: Add base for desugaring while-let loops new f77ca6f8ced gccrs: Do not warn about unused `self` parameter new 2dcfb123df0 gccrs: Remove warning for unused `self` parameter new 948e4a63455 gccrs: Fix ICE during const eval of const capacity new 4dc145a4150 gccrs: Refactor substitution param mapping to be more abstract new eca63cc3b4d gccrs: simplify the is_eq on ADTType new 839e42810ab gccrs: Refactor the ParamType to a BaseGeneric base-type new 0390f9422a8 gccrs: Add ConstType boiler plate to handle const generics new 91126cb80e3 gccrs: Add initial support for const generics new 1e7a193af1f gccrs: fix clang formatting new 7f0fed0bfea gccrs: Fix ICE for ast dump of deferred anon const new 3e141c0cd3e gccrs: Fix ICE during hir dump of deferred anon constant new 13d6c61231e gccrs: Support const generic inference variables new ad8393db6b4 gccrs: Fix ICE when extra const arguments supplied new a22c11304c4 gccrs: Add rest pattern support for AST::SlicePattern new 73a77277d1a gccrs: Retrieve token stream before vector move new 6aeedda5416 gccrs: Prevent used after move on self param new d44420f3f3f gccrs: Initialize boolean flag correctly new 26055423013 gccrs: Initialize boolean flag correctly new 481cb635fe5 gccrs: Ensure we track the const generic substitution on th [...] new f52be4bf85a gccrs: Remove more calls to the old TyTy::BaseType::can_eq [...] new 4d9a4c08a60 gccrs: improve debug logging for unify site new 90070a8f457 gccrs: remove old debug new 3d42d4fdf1a gccrs: Add test case showing method resolution with const-generics new 35d2c4cfe3a gccrs: Parse expression instead of literal in attributes new 759e57acac7 gccrs: Fix object copying issue causing pointer inconsistency new 715849d86f8 gccrs: Avoid including rust-parse-impl.h in rust-parse.h new 2f054b8db9f gccrs: Catch parse failure in parse_path_meta_item new eb54ab61fd5 gccrs: offset_of: Compile the offset properly new d2140c7d5c1 gccrs: Make AttributeParser rely more on Parser new 95c619976ff gccrs: Recognize rustc_args_required_const attribute new 9938133aca9 gccrs: Remove undefined behavior with static_cast new 73def70e348 gccrs: Add check before calling `get_trait_ref()` new ea83b1a9d49 gccrs: Call base class's accept_vis method new 04effdd023e gccrs: Add read-only check on HIR
The 100 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 | 8 + gcc/rust/ast/rust-ast-collector.cc | 73 +++- gcc/rust/ast/rust-ast-collector.h | 6 +- gcc/rust/ast/rust-ast-full-decls.h | 5 +- gcc/rust/ast/rust-ast-visitor.cc | 56 ++- gcc/rust/ast/rust-ast-visitor.h | 12 +- gcc/rust/ast/rust-ast.cc | 319 +++++++-------- gcc/rust/ast/rust-ast.h | 7 +- gcc/rust/ast/rust-builtin-ast-nodes.h | 53 +++ gcc/rust/ast/rust-desugar-for-loops.cc | 69 +--- gcc/rust/ast/rust-desugar-for-loops.h | 17 +- gcc/rust/ast/rust-desugar-question-mark.cc | 54 +-- gcc/rust/ast/rust-desugar-question-mark.h | 16 +- gcc/rust/ast/rust-desugar-try-block.cc | 62 +++ ...ust-desugar-apit.h => rust-desugar-try-block.h} | 20 +- gcc/rust/ast/rust-desugar-while-let.cc | 104 +++++ gcc/rust/ast/rust-desugar-while-let.h | 71 ++++ gcc/rust/ast/rust-expr.h | 255 ++++++++---- gcc/rust/ast/rust-expression-yeast.cc | 118 ++++++ ...rust-desugar-apit.h => rust-expression-yeast.h} | 24 +- gcc/rust/ast/rust-macro.h | 29 +- gcc/rust/ast/rust-pattern.cc | 54 ++- gcc/rust/ast/rust-pattern.h | 204 +++++++++- gcc/rust/ast/rust-type.h | 29 +- gcc/rust/backend/rust-compile-asm.cc | 105 +++-- gcc/rust/backend/rust-compile-base.cc | 25 +- gcc/rust/backend/rust-compile-base.h | 3 + gcc/rust/backend/rust-compile-block.h | 3 + gcc/rust/backend/rust-compile-context.cc | 13 +- gcc/rust/backend/rust-compile-context.h | 6 +- gcc/rust/backend/rust-compile-expr.cc | 107 ++--- gcc/rust/backend/rust-compile-expr.h | 1 + gcc/rust/backend/rust-compile-implitem.cc | 42 +- gcc/rust/backend/rust-compile-intrinsic.cc | 16 +- gcc/rust/backend/rust-compile-item.cc | 66 +--- gcc/rust/backend/rust-compile-pattern.cc | 133 +++++++ gcc/rust/backend/rust-compile-pattern.h | 4 +- gcc/rust/backend/rust-compile-resolve-path.cc | 45 +-- gcc/rust/backend/rust-compile-stmt.cc | 3 + gcc/rust/backend/rust-compile-type.cc | 31 +- gcc/rust/backend/rust-compile-type.h | 1 + .../errors/borrowck/rust-bir-builder-expr-stmt.cc | 4 + .../errors/borrowck/rust-bir-builder-expr-stmt.h | 2 + .../borrowck/rust-bir-builder-lazyboolexpr.h | 1 + .../errors/borrowck/rust-bir-builder-struct.h | 2 + .../errors/borrowck/rust-bir-fact-collector.h | 3 +- gcc/rust/checks/errors/borrowck/rust-bir-place.h | 3 +- .../errors/borrowck/rust-function-collector.h | 2 + .../checks/errors/privacy/rust-privacy-reporter.cc | 8 + .../checks/errors/privacy/rust-privacy-reporter.h | 2 + gcc/rust/checks/errors/rust-const-checker.cc | 4 + gcc/rust/checks/errors/rust-const-checker.h | 1 + gcc/rust/checks/errors/rust-feature.cc | 2 +- .../checks/errors/rust-hir-pattern-analysis.cc | 4 + gcc/rust/checks/errors/rust-hir-pattern-analysis.h | 1 + gcc/rust/checks/errors/rust-readonly-check2.cc | 253 ++++++++++++ gcc/rust/checks/errors/rust-readonly-check2.h | 67 ++++ gcc/rust/checks/errors/rust-unsafe-checker.cc | 6 + gcc/rust/checks/errors/rust-unsafe-checker.h | 1 + gcc/rust/checks/lints/rust-lint-unused-var.cc | 4 +- gcc/rust/expand/rust-cfg-strip.cc | 55 ++- gcc/rust/expand/rust-cfg-strip.h | 2 + gcc/rust/expand/rust-derive.h | 6 +- gcc/rust/expand/rust-expand-visitor.cc | 39 +- gcc/rust/expand/rust-expand-visitor.h | 8 +- gcc/rust/expand/rust-macro-builtins-asm.cc | 32 +- gcc/rust/expand/rust-macro-builtins-format-args.cc | 11 +- gcc/rust/expand/rust-macro-builtins-helpers.cc | 7 +- gcc/rust/expand/rust-macro-builtins-offset-of.cc | 78 ++++ gcc/rust/expand/rust-macro-builtins.cc | 3 + gcc/rust/expand/rust-macro-builtins.h | 4 + gcc/rust/expand/rust-macro-expand.cc | 21 + gcc/rust/expand/rust-token-tree-desugar.cc | 4 +- gcc/rust/expand/rust-token-tree-desugar.h | 4 +- gcc/rust/hir/rust-ast-lower-base.cc | 39 +- gcc/rust/hir/rust-ast-lower-base.h | 12 +- gcc/rust/hir/rust-ast-lower-block.h | 2 - gcc/rust/hir/rust-ast-lower-expr.cc | 39 +- gcc/rust/hir/rust-ast-lower-expr.h | 5 +- gcc/rust/hir/rust-ast-lower-implitem.cc | 19 +- gcc/rust/hir/rust-ast-lower-pattern.cc | 27 +- gcc/rust/hir/rust-ast-lower.cc | 6 - gcc/rust/hir/rust-hir-dump.cc | 87 +++- gcc/rust/hir/rust-hir-dump.h | 1 + gcc/rust/hir/tree/rust-hir-expr-abstract.h | 1 + gcc/rust/hir/tree/rust-hir-expr.cc | 68 +++- gcc/rust/hir/tree/rust-hir-expr.h | 125 +++++- gcc/rust/hir/tree/rust-hir-full-decls.h | 1 + gcc/rust/hir/tree/rust-hir-generic-param.h | 4 +- gcc/rust/hir/tree/rust-hir-path.h | 16 +- gcc/rust/hir/tree/rust-hir-visitor.cc | 24 +- gcc/rust/hir/tree/rust-hir-visitor.h | 5 + gcc/rust/hir/tree/rust-hir.cc | 5 +- gcc/rust/lang.opt | 6 +- .../rust-parse-impl-lexer.cc} | 11 +- .../rust-parse-impl-macro.cc} | 12 +- .../rust-parse-impl-proc-macro.cc} | 26 +- gcc/rust/parse/rust-parse-impl.h | 290 ++++++++++---- gcc/rust/parse/rust-parse.h | 23 +- gcc/rust/resolve/rust-ast-resolve-base.cc | 18 +- gcc/rust/resolve/rust-ast-resolve-base.h | 7 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 25 +- gcc/rust/resolve/rust-default-resolver.cc | 7 + gcc/rust/resolve/rust-default-resolver.h | 1 + gcc/rust/resolve/rust-early-name-resolver-2.0.cc | 35 +- gcc/rust/resolve/rust-early-name-resolver-2.0.h | 14 +- gcc/rust/resolve/rust-early-name-resolver.cc | 2 +- gcc/rust/resolve/rust-early-name-resolver.h | 2 +- gcc/rust/resolve/rust-finalize-imports-2.0.cc | 29 +- gcc/rust/resolve/rust-finalize-imports-2.0.h | 7 +- gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 35 +- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 2 +- gcc/rust/resolve/rust-name-resolution-context.h | 1 + .../resolve/rust-toplevel-name-resolver-2.0.cc | 32 +- gcc/rust/rust-backend.h | 13 + gcc/rust/rust-diagnostics.h | 8 +- gcc/rust/rust-gcc.cc | 60 +++ gcc/rust/rust-session-manager.cc | 15 +- gcc/rust/typecheck/rust-autoderef.cc | 1 - gcc/rust/typecheck/rust-casts.cc | 45 ++- gcc/rust/typecheck/rust-casts.h | 10 +- gcc/rust/typecheck/rust-coercion.cc | 8 +- .../typecheck/rust-hir-inherent-impl-overlap.h | 40 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 8 +- gcc/rust/typecheck/rust-hir-path-probe.h | 16 +- gcc/rust/typecheck/rust-hir-trait-reference.cc | 8 +- gcc/rust/typecheck/rust-hir-trait-reference.h | 4 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 40 +- gcc/rust/typecheck/rust-hir-type-bounds.h | 4 + gcc/rust/typecheck/rust-hir-type-check-base.cc | 98 ++++- gcc/rust/typecheck/rust-hir-type-check-base.h | 7 +- gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 91 +---- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 243 +++++++----- gcc/rust/typecheck/rust-hir-type-check-expr.h | 7 + gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 36 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 137 ++----- gcc/rust/typecheck/rust-hir-type-check-path.cc | 70 +--- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 105 +++-- gcc/rust/typecheck/rust-hir-type-check-struct.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 89 +++-- gcc/rust/typecheck/rust-hir-type-check.cc | 30 +- gcc/rust/typecheck/rust-hir-type-check.h | 51 ++- gcc/rust/typecheck/rust-substitution-mapper.cc | 6 + gcc/rust/typecheck/rust-substitution-mapper.h | 6 +- gcc/rust/typecheck/rust-type-util.cc | 38 +- gcc/rust/typecheck/rust-typecheck-context.cc | 77 +++- gcc/rust/typecheck/rust-tyty-bounds.cc | 103 ++--- gcc/rust/typecheck/rust-tyty-call.h | 1 + gcc/rust/typecheck/rust-tyty-cmp.h | 33 ++ gcc/rust/typecheck/rust-tyty-subst.cc | 206 ++++++++-- gcc/rust/typecheck/rust-tyty-subst.h | 29 +- gcc/rust/typecheck/rust-tyty-util.cc | 34 +- gcc/rust/typecheck/rust-tyty-util.h | 4 + .../rust-tyty-variance-analysis-private.h | 2 + gcc/rust/typecheck/rust-tyty-variance-analysis.cc | 7 +- gcc/rust/typecheck/rust-tyty-visitor.h | 2 + gcc/rust/typecheck/rust-tyty.cc | 235 +++++++++-- gcc/rust/typecheck/rust-tyty.h | 113 ++++-- gcc/rust/typecheck/rust-unify.cc | 122 +++++- gcc/rust/typecheck/rust-unify.h | 1 + gcc/rust/util/optional.h | 6 +- gcc/rust/util/rust-attribute-values.h | 7 + gcc/rust/util/rust-attributes.cc | 10 +- gcc/rust/util/rust-attributes.h | 2 +- gcc/rust/util/rust-hir-map.cc | 16 +- gcc/rust/util/rust-hir-map.h | 6 +- .../rust/compile/additional-trait-bounds2nr2.rs | 2 - gcc/testsuite/rust/compile/all-cast.rs | 2 +- gcc/testsuite/rust/compile/arrays2.rs | 3 +- gcc/testsuite/rust/compile/auto_traits2.rs | 2 +- gcc/testsuite/rust/compile/const3.rs | 2 +- .../{const_generics_3.rs => const_generics_10.rs} | 10 +- gcc/testsuite/rust/compile/const_generics_11.rs | 14 + gcc/testsuite/rust/compile/const_generics_12.rs | 14 + gcc/testsuite/rust/compile/const_generics_13.rs | 11 + gcc/testsuite/rust/compile/const_generics_14.rs | 13 + gcc/testsuite/rust/compile/const_generics_15.rs | 16 + gcc/testsuite/rust/compile/const_generics_16.rs | 10 + gcc/testsuite/rust/compile/const_generics_3.rs | 25 +- gcc/testsuite/rust/compile/const_generics_5.rs | 4 +- gcc/testsuite/rust/compile/const_generics_8.rs | 7 +- gcc/testsuite/rust/compile/const_generics_9.rs | 13 + .../rust/compile/deferred_const_inference.rs | 7 + gcc/testsuite/rust/compile/derive-debug1.rs | 6 +- gcc/testsuite/rust/compile/derive_macro1.rs | 2 +- gcc/testsuite/rust/compile/derive_partial_ord1.rs | 2 +- gcc/testsuite/rust/compile/enum_variant_name.rs | 2 +- .../rust/compile/format_args_basic_expansion.rs | 1 - .../rust/compile/format_args_extra_comma.rs | 1 - gcc/testsuite/rust/compile/generics8.rs | 2 +- gcc/testsuite/rust/compile/generics9.rs | 1 - gcc/testsuite/rust/compile/glob_import_enum.rs | 16 + gcc/testsuite/rust/compile/invalid_label_name.rs | 1 - gcc/testsuite/rust/compile/issue-1048.rs | 8 + gcc/testsuite/rust/compile/issue-2043.rs | 1 - gcc/testsuite/rust/compile/issue-2166.rs | 2 - gcc/testsuite/rust/compile/issue-2238.rs | 1 - gcc/testsuite/rust/compile/issue-2680.rs | 6 + gcc/testsuite/rust/compile/issue-2907.rs | 1 - gcc/testsuite/rust/compile/issue-3144.rs | 29 ++ gcc/testsuite/rust/compile/issue-3304.rs | 1 - gcc/testsuite/rust/compile/issue-3524.rs | 9 + gcc/testsuite/rust/compile/issue-3546.rs | 16 + gcc/testsuite/rust/compile/issue-3599.rs | 8 + gcc/testsuite/rust/compile/issue-3618.rs | 3 +- .../partial-ord-4.rs => compile/issue-3836.rs} | 56 +-- gcc/testsuite/rust/compile/issue-3874.rs | 4 + gcc/testsuite/rust/compile/issue-3876.rs | 8 + gcc/testsuite/rust/compile/issue-3885.rs | 7 + gcc/testsuite/rust/compile/issue-3915.rs | 28 ++ gcc/testsuite/rust/compile/issue-3916.rs | 36 ++ gcc/testsuite/rust/compile/issue-3960.rs | 7 + .../rust/compile/{issue-1234.rs => issue-3978.rs} | 8 +- gcc/testsuite/rust/compile/issue-4006.rs | 13 + .../rust/compile/loop_constant_context.rs | 5 + .../rust/compile/macros/mbe/macro-issue3708.rs | 2 +- .../rust/compile/macros/mbe/macro-issue3709-2.rs | 2 +- .../rust/compile/match-slicepattern-array.rs | 8 + .../rust/compile/match-slicepattern-slice.rs | 10 + gcc/testsuite/rust/compile/min_specialization1.rs | 2 +- gcc/testsuite/rust/compile/name_resolution10.rs | 2 +- gcc/testsuite/rust/compile/name_resolution11.rs | 2 +- gcc/testsuite/rust/compile/name_resolution12.rs | 2 +- gcc/testsuite/rust/compile/name_resolution13.rs | 2 - gcc/testsuite/rust/compile/name_resolution14.rs | 2 - gcc/testsuite/rust/compile/name_resolution15.rs | 1 - gcc/testsuite/rust/compile/name_resolution16.rs | 1 - gcc/testsuite/rust/compile/name_resolution17.rs | 2 - gcc/testsuite/rust/compile/name_resolution18.rs | 2 - gcc/testsuite/rust/compile/name_resolution2.rs | 2 +- gcc/testsuite/rust/compile/name_resolution20.rs | 2 - gcc/testsuite/rust/compile/name_resolution22.rs | 1 - gcc/testsuite/rust/compile/name_resolution23.rs | 2 - gcc/testsuite/rust/compile/name_resolution24.rs | 2 - gcc/testsuite/rust/compile/name_resolution25.rs | 2 - gcc/testsuite/rust/compile/name_resolution4.rs | 2 +- gcc/testsuite/rust/compile/name_resolution6.rs | 2 +- gcc/testsuite/rust/compile/name_resolution7.rs | 2 - gcc/testsuite/rust/compile/name_resolution8.rs | 2 - gcc/testsuite/rust/compile/name_resolution9.rs | 2 - .../rust/compile/nested_macro_definition.rs | 2 - gcc/testsuite/rust/compile/nr2/compile.exp | 149 ------- gcc/testsuite/rust/compile/nr2/exclude | 1 - gcc/testsuite/rust/compile/offset_of1.rs | 11 + gcc/testsuite/rust/compile/offset_of2.rs | 9 + .../rust/compile/parse_simple_path_fail_1.rs | 3 + .../rust/compile/parse_simple_path_fail_2.rs | 9 + gcc/testsuite/rust/compile/pub_restricted_1.rs | 2 - gcc/testsuite/rust/compile/pub_restricted_2.rs | 2 +- gcc/testsuite/rust/compile/self-in-impl.rs | 2 - .../rust/compile/self_import_namespace.rs | 2 - .../rust/compile/slicepattern-size-mismatch.rs | 8 + gcc/testsuite/rust/compile/torture/generics29.rs | 1 - gcc/testsuite/rust/compile/torture/generics30.rs | 1 - gcc/testsuite/rust/compile/torture/traits3.rs | 1 - gcc/testsuite/rust/compile/torture/traits7.rs | 1 - .../rust/compile/{try-trait.rs => try_block1.rs} | 51 ++- gcc/testsuite/rust/compile/use_1.rs | 1 - gcc/testsuite/rust/compile/usize1.rs | 2 +- .../rust/compile/{try-trait.rs => while_let1.rs} | 73 +++- .../rust/compile/while_let_without_label.rs | 11 + .../rust/compile/xfail/name_resolution21.rs | 2 - .../rust/execute/inline_asm_inout_ident.rs | 23 ++ gcc/testsuite/rust/execute/inline_asm_inout_var.rs | 24 ++ .../rust/execute/torture/basic_partial_ord1.rs | 13 + .../rust/execute/torture/basic_partial_ord2.rs | 13 + .../rust/execute/torture/const-generics-1.rs | 24 ++ gcc/testsuite/rust/execute/torture/impl_trait3.rs | 1 - .../torture/{partial-eq-3.rs => issue-2005.rs} | 52 +-- .../torture/issue-3836.rs} | 32 +- ...tern-tuple.rs => match-slicepattern-array-1.rs} | 14 +- ...tern-tuple.rs => match-slicepattern-slice-1.rs} | 15 +- .../rust/execute/torture/min_specialization2.rs | 2 +- .../rust/execute/torture/name_resolution.rs | 1 - gcc/testsuite/rust/execute/torture/offset_of1.rs | 16 + .../torture/partial-ord-6.rs} | 66 +++- gcc/testsuite/rust/execute/torture/sip-hasher.rs | 438 +++++++++++++++++++++ gcc/testsuite/rust/execute/torture/trait10.rs | 1 - gcc/testsuite/rust/execute/torture/trait11.rs | 1 - gcc/testsuite/rust/execute/torture/trait12.rs | 1 - gcc/testsuite/rust/execute/torture/trait13.rs | 1 - gcc/testsuite/rust/execute/torture/trait9.rs | 1 - 282 files changed, 5729 insertions(+), 2157 deletions(-) create mode 100644 gcc/rust/ast/rust-desugar-try-block.cc copy gcc/rust/ast/{rust-desugar-apit.h => rust-desugar-try-block.h} (74%) create mode 100644 gcc/rust/ast/rust-desugar-while-let.cc create mode 100644 gcc/rust/ast/rust-desugar-while-let.h create mode 100644 gcc/rust/ast/rust-expression-yeast.cc copy gcc/rust/ast/{rust-desugar-apit.h => rust-expression-yeast.h} (57%) create mode 100644 gcc/rust/checks/errors/rust-readonly-check2.cc create mode 100644 gcc/rust/checks/errors/rust-readonly-check2.h create mode 100644 gcc/rust/expand/rust-macro-builtins-offset-of.cc copy gcc/rust/{expand/rust-macro-builtins-test-bench.cc => parse/rust-parse-impl-l [...] copy gcc/rust/{expand/rust-macro-builtins-trait.cc => parse/rust-parse-impl-macro. [...] copy gcc/rust/{util/rust-edition.h => parse/rust-parse-impl-proc-macro.cc} (67%) copy gcc/testsuite/rust/compile/{const_generics_3.rs => const_generics_10.rs} (58%) create mode 100644 gcc/testsuite/rust/compile/const_generics_11.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_12.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_13.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_14.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_15.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_16.rs create mode 100644 gcc/testsuite/rust/compile/const_generics_9.rs create mode 100644 gcc/testsuite/rust/compile/deferred_const_inference.rs create mode 100644 gcc/testsuite/rust/compile/glob_import_enum.rs create mode 100644 gcc/testsuite/rust/compile/issue-1048.rs create mode 100644 gcc/testsuite/rust/compile/issue-2680.rs create mode 100644 gcc/testsuite/rust/compile/issue-3144.rs create mode 100644 gcc/testsuite/rust/compile/issue-3524.rs create mode 100644 gcc/testsuite/rust/compile/issue-3546.rs create mode 100644 gcc/testsuite/rust/compile/issue-3599.rs copy gcc/testsuite/rust/{execute/torture/partial-ord-4.rs => compile/issue-3836.rs} (54%) create mode 100644 gcc/testsuite/rust/compile/issue-3874.rs create mode 100644 gcc/testsuite/rust/compile/issue-3876.rs create mode 100644 gcc/testsuite/rust/compile/issue-3885.rs create mode 100644 gcc/testsuite/rust/compile/issue-3915.rs create mode 100644 gcc/testsuite/rust/compile/issue-3916.rs create mode 100644 gcc/testsuite/rust/compile/issue-3960.rs copy gcc/testsuite/rust/compile/{issue-1234.rs => issue-3978.rs} (51%) create mode 100644 gcc/testsuite/rust/compile/issue-4006.rs create mode 100644 gcc/testsuite/rust/compile/loop_constant_context.rs create mode 100644 gcc/testsuite/rust/compile/match-slicepattern-array.rs create mode 100644 gcc/testsuite/rust/compile/match-slicepattern-slice.rs delete mode 100644 gcc/testsuite/rust/compile/nr2/compile.exp delete mode 100644 gcc/testsuite/rust/compile/nr2/exclude create mode 100644 gcc/testsuite/rust/compile/offset_of1.rs create mode 100644 gcc/testsuite/rust/compile/offset_of2.rs create mode 100644 gcc/testsuite/rust/compile/parse_simple_path_fail_1.rs create mode 100644 gcc/testsuite/rust/compile/parse_simple_path_fail_2.rs create mode 100644 gcc/testsuite/rust/compile/slicepattern-size-mismatch.rs copy gcc/testsuite/rust/compile/{try-trait.rs => try_block1.rs} (67%) copy gcc/testsuite/rust/compile/{try-trait.rs => while_let1.rs} (60%) create mode 100644 gcc/testsuite/rust/compile/while_let_without_label.rs create mode 100644 gcc/testsuite/rust/execute/inline_asm_inout_ident.rs create mode 100644 gcc/testsuite/rust/execute/inline_asm_inout_var.rs create mode 100644 gcc/testsuite/rust/execute/torture/const-generics-1.rs copy gcc/testsuite/rust/execute/torture/{partial-eq-3.rs => issue-2005.rs} (96%) copy gcc/testsuite/rust/{compile/derive_partial_ord1.rs => execute/torture/issue-3 [...] copy gcc/testsuite/rust/execute/torture/{match-restpattern-tuple.rs => match-slice [...] copy gcc/testsuite/rust/execute/torture/{match-restpattern-tuple.rs => match-slice [...] create mode 100644 gcc/testsuite/rust/execute/torture/offset_of1.rs copy gcc/testsuite/rust/{compile/derive_partial_ord1.rs => execute/torture/partial [...] create mode 100644 gcc/testsuite/rust/execute/torture/sip-hasher.rs