This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from e33b62eed7f libstdc++: Fix use-after-free in std::format [PR119671] new db5a399d13b gccrs: Evaluate the enum's discriminant in a const context new 0282fd7cabe gccrs: nr2.0: Handle global paths new e873e2a0b15 gccrs: Fix ICE when doing shift checks on const decl new 4f110b297d4 gccrs: Fix ICE when resolving lifetimes without name new b1afef95601 gccrs: Fix ICE when there are 2 functions named main new f388cac59df gccrs: Fix recusive type query and nullptr on type path new 0f37641978a gccrs: Fix ICE on invalid match arms new f7fc904335e gccrs: Fix ICE on raw reference new 568289b9f83 gccrs: Fix ICE when hitting invalid types for generics new c5f1d576a22 gccrs: feature: Add min_specialization feature new 6410c1dddab gccrs: hir: Add default qualifier to function, lower it properly new 381da0e21da gccrs: Fix ICE for reserved lifetime name new 2f955bea137 gccrs: nr2.0: Remove duplicate self visit new 89ca1e3cb69 gccrs: nr2.0: Improve test script new 72a0fb9d989 gccrs: refactoring rust_error_at "redefined multiple times" new d307dddfc1a gccrs: Revert part of 44ffe1193269 new 5d34589597c gccrs: Resolve labels new d85a88aa3fd gccrs: Add check for label new d7bbb929a88 gccrs: Visit loop label before predicate expression new ff04ba261af gccrs: Make loop label truly optional new a3148850a5a gccrs: Remove unused error constructor and getter new 3cf4d5cb996 gccrs: Update ast visitor with proper check for looplabel new 827ceac9e1b gccrs: Migrate error state to optionals new 8c51fd896d0 gccrs: Fix unresolved label error message new fb890cd43bc gccrs: Resolve labels within break or continue expressions new 7ae95869c83 gccrs: Adapt testcase to name resolution 2.0 new 37908277b1c gccrs: Change optional to expected for parse_loop_label new c4ec1bc7b2f gccrs: Rename label getter in ContinueExpr new 8885e9e109b gccrs: Rename label getter to unchecked new a75a697ff0a gccrs: fix ICE segfault with empty feature gate new df45e75724f gccrs: nr2.0: Adjust test issue-2812.rs new 29ed33631f0 gccrs: nr2.0: Adjust test macro6.rs
The 32 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/ast/rust-ast-builder.cc | 8 +- gcc/rust/ast/rust-ast-collector.cc | 4 +- gcc/rust/ast/rust-ast-visitor.cc | 16 +- gcc/rust/ast/rust-ast.cc | 23 +-- gcc/rust/ast/rust-ast.h | 20 +- gcc/rust/ast/rust-desugar-for-loops.cc | 4 +- gcc/rust/ast/rust-expr.h | 60 +++--- gcc/rust/ast/rust-item.h | 23 ++- gcc/rust/ast/rust-type.h | 10 +- gcc/rust/backend/rust-compile-base.cc | 22 ++- gcc/rust/backend/rust-compile-base.h | 6 +- gcc/rust/backend/rust-compile-expr.cc | 3 +- gcc/rust/backend/rust-compile-extern.h | 6 - gcc/rust/backend/rust-compile-implitem.cc | 2 +- gcc/rust/backend/rust-compile-implitem.h | 6 - gcc/rust/backend/rust-compile-item.cc | 6 +- gcc/rust/backend/rust-compile-item.h | 4 - gcc/rust/backend/rust-compile-resolve-path.cc | 15 +- gcc/rust/backend/rust-compile.cc | 2 +- gcc/rust/checks/errors/rust-feature-gate.cc | 7 + gcc/rust/checks/errors/rust-feature.cc | 4 + gcc/rust/checks/errors/rust-feature.h | 1 + gcc/rust/expand/rust-derive-clone.cc | 5 +- gcc/rust/expand/rust-derive-debug.cc | 3 +- gcc/rust/expand/rust-derive-default.cc | 3 +- gcc/rust/expand/rust-derive-eq.cc | 3 +- gcc/rust/hir/rust-ast-lower-base.cc | 8 +- gcc/rust/hir/rust-ast-lower-block.h | 4 +- gcc/rust/hir/rust-ast-lower-expr.cc | 21 ++- gcc/rust/hir/rust-ast-lower-implitem.cc | 29 +-- gcc/rust/hir/rust-ast-lower-item.cc | 5 +- gcc/rust/hir/rust-ast-lower.cc | 11 +- gcc/rust/hir/rust-hir-dump.cc | 6 +- gcc/rust/hir/tree/rust-hir-bound.h | 12 -- gcc/rust/hir/tree/rust-hir-expr.cc | 24 ++- gcc/rust/hir/tree/rust-hir-expr.h | 51 ++--- gcc/rust/hir/tree/rust-hir-generic-param.h | 3 - gcc/rust/hir/tree/rust-hir-item.cc | 28 +-- gcc/rust/hir/tree/rust-hir-item.h | 61 +++--- gcc/rust/hir/tree/rust-hir-type.cc | 2 +- gcc/rust/hir/tree/rust-hir-type.h | 9 +- gcc/rust/hir/tree/rust-hir.cc | 106 +++++------ gcc/rust/parse/rust-parse-impl.h | 189 ++++++++++--------- gcc/rust/parse/rust-parse.h | 45 +++-- gcc/rust/resolve/rust-ast-resolve-base.h | 5 + gcc/rust/resolve/rust-ast-resolve-expr.cc | 14 +- gcc/rust/resolve/rust-ast-resolve-implitem.h | 19 +- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 2 +- gcc/rust/resolve/rust-ast-resolve-stmt.h | 20 +- gcc/rust/resolve/rust-ast-resolve-toplevel.h | 32 ++-- gcc/rust/resolve/rust-ast-resolve-type.cc | 2 +- gcc/rust/resolve/rust-forever-stack.h | 7 +- gcc/rust/resolve/rust-forever-stack.hxx | 79 +++++--- gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 53 ++++-- gcc/rust/resolve/rust-late-name-resolver-2.0.h | 4 + gcc/rust/resolve/rust-name-resolution-context.h | 41 ++++- gcc/rust/rust-gcc.cc | 6 + gcc/rust/typecheck/rust-hir-trait-resolve.cc | 12 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 44 ++++- gcc/rust/typecheck/rust-hir-type-check-base.h | 8 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 9 + gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 205 ++++----------------- gcc/rust/typecheck/rust-hir-type-check-path.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 21 ++- gcc/rust/typecheck/rust-hir-type-check-type.cc | 44 ++++- gcc/rust/typecheck/rust-hir-type-check-type.h | 11 +- gcc/rust/typecheck/rust-hir-type-check.cc | 35 +--- gcc/rust/typecheck/rust-substitution-mapper.cc | 27 ++- gcc/rust/typecheck/rust-substitution-mapper.h | 2 + gcc/rust/typecheck/rust-type-util.cc | 37 ++++ gcc/rust/typecheck/rust-typecheck-context.cc | 11 +- gcc/rust/typecheck/rust-tyty-subst.cc | 8 +- gcc/rust/typecheck/rust-tyty-subst.h | 6 +- gcc/rust/typecheck/rust-tyty-variance-analysis.cc | 2 +- gcc/rust/util/expected.h | 4 +- gcc/testsuite/rust/compile/enum_discriminant1.rs | 7 + gcc/testsuite/rust/compile/feature.rs | 2 + gcc/testsuite/rust/compile/invalid_label_name.rs | 4 + gcc/testsuite/rust/compile/issue-2812.rs | 4 +- gcc/testsuite/rust/compile/issue-3625.rs | 2 + gcc/testsuite/rust/compile/issue-3643.rs | 4 + gcc/testsuite/rust/compile/issue-3646.rs | 7 + gcc/testsuite/rust/compile/issue-3647.rs | 7 + gcc/testsuite/rust/compile/issue-3648.rs | 8 + gcc/testsuite/rust/compile/issue-3654.rs | 3 + gcc/testsuite/rust/compile/issue-3656.rs | 10 + gcc/testsuite/rust/compile/issue-3657.rs | 8 + gcc/testsuite/rust/compile/issue-3663.rs | 6 + gcc/testsuite/rust/compile/issue-3665.rs | 6 + gcc/testsuite/rust/compile/issue-3667.rs | 24 +++ gcc/testsuite/rust/compile/issue-3671.rs | 2 + gcc/testsuite/rust/compile/macros/mbe/macro6.rs | 2 +- gcc/testsuite/rust/compile/min_specialization1.rs | 15 ++ gcc/testsuite/rust/compile/nr2/compile.exp | 32 ++-- gcc/testsuite/rust/compile/nr2/exclude | 12 +- gcc/testsuite/rust/compile/undeclared_label.rs | 4 +- 96 files changed, 1046 insertions(+), 775 deletions(-) create mode 100644 gcc/testsuite/rust/compile/enum_discriminant1.rs create mode 100644 gcc/testsuite/rust/compile/issue-3625.rs create mode 100644 gcc/testsuite/rust/compile/issue-3643.rs create mode 100644 gcc/testsuite/rust/compile/issue-3646.rs create mode 100644 gcc/testsuite/rust/compile/issue-3647.rs create mode 100644 gcc/testsuite/rust/compile/issue-3648.rs create mode 100644 gcc/testsuite/rust/compile/issue-3654.rs create mode 100644 gcc/testsuite/rust/compile/issue-3656.rs create mode 100644 gcc/testsuite/rust/compile/issue-3657.rs create mode 100644 gcc/testsuite/rust/compile/issue-3663.rs create mode 100644 gcc/testsuite/rust/compile/issue-3665.rs create mode 100644 gcc/testsuite/rust/compile/issue-3667.rs create mode 100644 gcc/testsuite/rust/compile/issue-3671.rs create mode 100644 gcc/testsuite/rust/compile/min_specialization1.rs