This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from 3e3f2ee1932 gccrs: typecheck: Refactor cast_site new 73b6d9b91ce gccrs: parser: Parse `default` impl Functions and Methods new cbbe80d61ad gccrs: Implement and test include_str eager expansion new 4679d129fcc gccrs: parser: Parse external type item new f5d4d756d8e gccrs: testsuite: Add extern type item test new d43bc24b0ae gccrs: testsuite: Add test with missing semicolon new 4306bf12227 gccrs: Fix ICE in ADTType::is_concrete new 00b8eff7bda gccrs: refactor unify commit as a static function from unify code new 24c4394cc4e gccrs: Generic pointers are coerceable new 232377f8575 gccrs: Allow infer vars on the lhs too new e67500111db gccrs: Make coercion sites autoderef cycle optional new a313761b2f5 gccrs: Only emit errors during type-bounds checking when required new 0d8c98f7ff5 gccrs: autoderef unconstify so we can use in non const contexts new 49d5df4c826 gccrs: bug-fix implicit inference checks new 7017e9de820 gccrs: Fix method resolution to use TryCoerce new 4c77c7ac0f2 gccrs: Remove cmp_autoderef_mode hack from old autoderef new 4516631ae20 gccrs: ast: Add RestPattern AST node new 9c4beccae3c gccrs: Fix formatting new 85629837c7d gccrs: Replace gcc_unreachable with rust_sorry_at new 8a8436aa6a6 gccrs: Change struct StructPatternElements into class new 525110ae495 gccrs: typecheck: Fix casting error behind generics new 98b83ea8a41 gccrs: Fix assignment operator overloads for AST and HIR patterns new 1793dec6639 gccrs: Add feature gate definition for `extern_types`. new b1a0e57bc2e gccrs: hir: Refactor ASTLoweringStmt to source file. new 4db1970abbf gccrs: add {add,sub,mul}_with_overflow intrinsics new d34922c4964 gccrs: parser: Fix if let parsing new d344a64be5b gccrs: testsuite: Add a test for if let syntax new cc89c429d6f gccrs: ast: Add NodeId and clone to RestPattern new c9644897bb1 gccrs: parser: Add RestPattern parsing new d17c95a0521 gccrs: testsuite: Add a test for .. in slice patterns new 9d1d633099b gccrs: Add location info when opening a file fails in inclu [...] new 2b6d2e1d5a5 gccrs: added support for printing HIR dump of functions, st [...] new 060652cdd8b gccrs: fixup: parser: Fix bootstrap compile error new ba5445ad7ad gccrs: parser: Add 0 sized slice pattern parsing new 895729f35b5 gccrs: add uninit intrinsic new e6ff2bcc3a6 gccrs: parser: Fix while let expr parsing new 24ce9baa6d9 gccrs: parser: Fix parsing closure parameter new 312a861d861 gccrs: Take advantage of our new unify_and to inject inference new 3df5ed955d3 gccrs: destructure parameter names. new fca49c4d4a1 gccrs: Fix missing move and copy constructors missing the a [...] new cb64096940c gccrs: cleanup headers new 10c4a2ce03c gccrs: Add missing node_id copys in the copy constructors new 9e369c3577e gccrs: Fix name-resolution to be permissive and carry on new 1e1bcabf1c6 gccrs: make predicate bounds overwrite-able new 234e7176a5d gccrs: Resolve closure parameters without given type new e9e0f8bf8bc gccrs: Cleanup and Assertion new 29fed556263 gccrs: parser: Fix handling of multiple left angles in null [...] new b0416339c07 gccrs: Add length checking for tuple patterns new c3e0c8b8108 gccrs: expand: Add stringify macro new e1af4688562 gccrs: Add AltPattern HIR node new 767a227a34b gccrs: Add coherence related lang_items new 5104a38ae85 gccrs: typecheck: Add basic typechecking for ReferenceType new c4969068c94 gccrs: hir: add a helper function for visit new 2046aec032f gccrs: fix some clang warnings new a042b495405 gccrs: hir: Fix ReferencePattern typechecking new 7fb5366831a gccrs: hir: Unify indentation approach with ast new 664e19ac6c8 gccrs: hir: Simplify indentation to single line new eba55786062 gccrs: enr: Fetch module items during early name resolution new 3e0437dc981 gccrs: hir: Provide basic handling for ReferencePattern in [...] new 51ba68e38a0 gccrs: hir: Add ExportedMacro node and handling. new fb5d5187932 gccrs: HIR::AltPattern fixes new 9708900e1d5 gccrs: Convert structs to classes new 92986248144 gccrs: Add method to access SlicePattern items new 69cc35db87d gccrs: Rename compiler proper new 1b793f2aa1a gccrs: hir: Improve pattern bindings handling in closure pa [...] new 8511a6f5cee gccrs: resolve: Handle multiple bindings to the same identifier new ef24a5b5587 gccrs: Add all rust keywords (except priv) to the follow-se [...] new f0f04b256ce gccrs: reuse destructure code in compilation of types new d3057e69654 gccrs: refactor is_concrete to not just virtual dispatch new e40067e4f75 gccrs: refactor TyTy::BaseType::is_unit to not use virtual [...] new 3d9f8ad2918 gccrs: refactor monomoprhized_clone to not use virtual dispatch new 599d5d9f833 gccrs: group basetype virtuals together and remove unused virtual new 7ec57f2e7c7 gccrs: tyty get rid of useless virtuals new 2bfd2350ec7 gccrs: get rid of virtual dispatch for substitution proxys new 385a03ae32d gccrs: cleanup header usage to decouple includes new 0fdd53beb18 gccrs: get rid of can_eq in CoerceionRules selection new 026c1041dff gccrs: Remove solve_missing_mappings_from_this to handle co [...] new 3861c44c7e7 gccrs: add extra debug line for method resolve select new b134f7d50d7 gccrs: Only infer when no generic arguments have been specified new ac01179b471 gccrs: cleanup resolve method address code generation new dc92981d06a gccrs: remove proxy class to use virtual method to get impl [...] new f821a019e62 gccrs: resolve: Fix multiple bindings handling in match new 265d8555fe3 gccrs: Unify HIR::IfExprConseqIf{,Let} into HIR::IfExprConseqElse new 4622e12040e gccrs: Unify HIR::IfLetExprConseqIf{,Let} into HIR::IfLetEx [...] new 3b61fe1d507 gccrs: resolve: Add name resolution for AltPattern new ebdc961f811 gccrs: Dump inner attrs for Dump::visit(BlockExpr &) new 3b8ffff2a46 gccrs: add new apply_primtiive_type_hint to inference variables new 6d169ce149a gccrs: Fix bad method resolution new 8f98348f31a gccrs: Add move_val_init intrinsic new 7d6ef248a97 gccrs: Remove unused ResolvePattern visitor new 5130c17766b gccrs: Cleanup unused headers new b9dcaf8ee7e gccrs: Add name resolution and ast lowering for slice pattern new cef9bca143a gccrs: Return resolved_node_id when possible new 7e7cffb709d gccrs: support use declaration to write the type into the c [...] new 2163af71247 gccrs: Fix `FeatureGate::gate` will crash on 32-bit x86. new 31361479ae8 gccrs: Lower AltPattern new 4cb51d2b020 gccrs: rust-imports: Fix last few mentions of Go. new 9d6fd110c80 gccrs: ast: Dump each MacroRule properly without the extra [...] new a2232ff6171 gccrs: Fix bad type inference new a64474937c5 gccrs: Fix ICE on parsing trait object missing dyn keyword new 8576cdbb5a0 gccrs: Revert "hir: Add ExportedMacro node and handling."
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 | 11 +- gcc/rust/README.md | 10 +- gcc/rust/ast/rust-ast-dump.cc | 26 +- gcc/rust/ast/rust-ast-dump.h | 17 +- gcc/rust/ast/rust-ast-full-decls.h | 21 +- gcc/rust/ast/rust-ast-visitor.h | 1 + gcc/rust/ast/rust-ast.cc | 7 + gcc/rust/ast/rust-ast.h | 5 + gcc/rust/ast/rust-item.h | 59 +- gcc/rust/ast/rust-macro.cc | 3 + gcc/rust/ast/rust-macro.h | 1 + gcc/rust/ast/rust-path.h | 74 +- gcc/rust/ast/rust-pattern.h | 39 +- gcc/rust/backend/rust-builtins.cc | 6 + gcc/rust/backend/rust-compile-base.cc | 2 +- gcc/rust/backend/rust-compile-base.h | 11 +- gcc/rust/backend/rust-compile-block.cc | 22 +- gcc/rust/backend/rust-compile-block.h | 12 +- gcc/rust/backend/rust-compile-expr.cc | 101 +- gcc/rust/backend/rust-compile-expr.h | 4 - gcc/rust/backend/rust-compile-extern.h | 1 + gcc/rust/backend/rust-compile-fnparam.cc | 48 +- gcc/rust/backend/rust-compile-fnparam.h | 5 +- gcc/rust/backend/rust-compile-intrinsic.cc | 214 ++++ gcc/rust/backend/rust-compile-pattern.cc | 18 + gcc/rust/backend/rust-compile-pattern.h | 24 +- gcc/rust/backend/rust-compile-resolve-path.h | 1 + gcc/rust/backend/rust-compile-type.cc | 51 +- gcc/rust/backend/rust-compile-type.h | 1 - gcc/rust/backend/rust-compile-var-decl.h | 1 + gcc/rust/backend/rust-compile.cc | 44 +- .../checks/errors/privacy/rust-privacy-reporter.cc | 33 - .../checks/errors/privacy/rust-privacy-reporter.h | 4 - gcc/rust/checks/errors/rust-const-checker.cc | 37 +- gcc/rust/checks/errors/rust-const-checker.h | 5 +- gcc/rust/checks/errors/rust-feature-gate.cc | 17 +- gcc/rust/checks/errors/rust-feature-gate.h | 3 +- gcc/rust/checks/errors/rust-feature.cc | 5 + gcc/rust/checks/errors/rust-feature.h | 7 +- gcc/rust/checks/errors/rust-unsafe-checker.cc | 37 +- gcc/rust/checks/errors/rust-unsafe-checker.h | 5 +- gcc/rust/checks/lints/rust-lint-marklive.h | 7 - gcc/rust/config-lang.in | 2 +- gcc/rust/expand/rust-attribute-visitor.cc | 14 +- gcc/rust/expand/rust-attribute-visitor.h | 1 + gcc/rust/expand/rust-macro-builtins.cc | 205 +++- gcc/rust/expand/rust-macro-builtins.h | 3 + gcc/rust/hir/rust-ast-lower-base.cc | 3 + gcc/rust/hir/rust-ast-lower-base.h | 1 + gcc/rust/hir/rust-ast-lower-enumitem.h | 1 - gcc/rust/hir/rust-ast-lower-implitem.h | 2 - gcc/rust/hir/rust-ast-lower-item.cc | 24 +- gcc/rust/hir/rust-ast-lower-item.h | 12 - gcc/rust/hir/rust-ast-lower-pattern.cc | 43 +- gcc/rust/hir/rust-ast-lower-pattern.h | 2 + gcc/rust/hir/rust-ast-lower-stmt.cc | 410 ++++++++ gcc/rust/hir/rust-ast-lower-stmt.h | 388 +------ gcc/rust/hir/rust-ast-lower-type.cc | 22 +- gcc/rust/hir/rust-ast-lower-type.h | 1 - gcc/rust/hir/rust-ast-lower.cc | 11 +- gcc/rust/hir/rust-ast-lower.h | 5 +- gcc/rust/hir/rust-hir-dump.cc | 359 +++++-- gcc/rust/hir/rust-hir-dump.h | 10 +- gcc/rust/hir/tree/rust-hir-expr.h | 286 +----- gcc/rust/hir/tree/rust-hir-full-decls.h | 11 +- gcc/rust/hir/tree/rust-hir-item.h | 2 + gcc/rust/hir/tree/rust-hir-path.h | 24 +- gcc/rust/hir/tree/rust-hir-pattern.h | 157 ++- gcc/rust/hir/tree/rust-hir-visitor.h | 15 +- gcc/rust/hir/tree/rust-hir.cc | 118 +-- gcc/rust/hir/tree/rust-hir.h | 1 + gcc/rust/lang-specs.h | 2 +- gcc/rust/lex/rust-lex.h | 5 +- gcc/rust/metadata/rust-imports.cc | 7 +- gcc/rust/parse/rust-parse-impl.h | 196 ++-- gcc/rust/parse/rust-parse.cc | 92 +- gcc/rust/parse/rust-parse.h | 2 + gcc/rust/resolve/rust-ast-resolve-base.cc | 4 + gcc/rust/resolve/rust-ast-resolve-base.h | 1 + gcc/rust/resolve/rust-ast-resolve-expr.cc | 30 +- gcc/rust/resolve/rust-ast-resolve-expr.h | 5 +- gcc/rust/resolve/rust-ast-resolve-item.cc | 55 +- gcc/rust/resolve/rust-ast-resolve-item.h | 6 +- gcc/rust/resolve/rust-ast-resolve-path.cc | 65 +- gcc/rust/resolve/rust-ast-resolve-path.h | 12 +- gcc/rust/resolve/rust-ast-resolve-pattern.cc | 235 ++++- gcc/rust/resolve/rust-ast-resolve-pattern.h | 126 ++- gcc/rust/resolve/rust-ast-resolve-stmt.cc | 1 + gcc/rust/resolve/rust-ast-resolve-stmt.h | 6 +- .../resolve/rust-ast-resolve-struct-expr-field.h | 1 - gcc/rust/resolve/rust-ast-resolve-toplevel.h | 22 +- gcc/rust/resolve/rust-ast-resolve-type.cc | 12 +- gcc/rust/resolve/rust-ast-resolve-type.h | 1 - gcc/rust/resolve/rust-ast-resolve.h | 1 - gcc/rust/resolve/rust-early-name-resolver.cc | 13 +- gcc/rust/resolve/rust-early-name-resolver.h | 1 + gcc/rust/rust-gcc.h | 6 - gcc/rust/rust-object-export.cc | 3 +- gcc/rust/rustspec.cc | 4 +- gcc/rust/typecheck/rust-autoderef.cc | 17 +- gcc/rust/typecheck/rust-autoderef.h | 32 +- gcc/rust/typecheck/rust-casts.cc | 14 +- gcc/rust/typecheck/rust-coercion.cc | 106 +- gcc/rust/typecheck/rust-coercion.h | 13 +- gcc/rust/typecheck/rust-hir-dot-operator.cc | 213 +++- gcc/rust/typecheck/rust-hir-dot-operator.h | 9 +- .../typecheck/rust-hir-inherent-impl-overlap.h | 44 +- gcc/rust/typecheck/rust-hir-path-probe.cc | 2 +- gcc/rust/typecheck/rust-hir-trait-resolve.cc | 41 +- gcc/rust/typecheck/rust-hir-type-check-base.cc | 5 +- gcc/rust/typecheck/rust-hir-type-check-base.h | 2 - gcc/rust/typecheck/rust-hir-type-check-enumitem.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 37 +- gcc/rust/typecheck/rust-hir-type-check-expr.h | 4 - gcc/rust/typecheck/rust-hir-type-check-implitem.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-item.cc | 16 +- gcc/rust/typecheck/rust-hir-type-check-path.cc | 39 +- gcc/rust/typecheck/rust-hir-type-check-pattern.cc | 173 ++-- gcc/rust/typecheck/rust-hir-type-check-pattern.h | 12 +- gcc/rust/typecheck/rust-hir-type-check-stmt.cc | 13 +- gcc/rust/typecheck/rust-hir-type-check-struct.cc | 2 +- gcc/rust/typecheck/rust-hir-type-check-type.cc | 11 +- gcc/rust/typecheck/rust-hir-type-check-type.h | 3 - gcc/rust/typecheck/rust-hir-type-check.h | 3 +- gcc/rust/typecheck/rust-type-util.cc | 73 +- gcc/rust/typecheck/rust-type-util.h | 7 +- gcc/rust/typecheck/rust-typecheck-context.cc | 17 +- gcc/rust/typecheck/rust-tyty-bounds.cc | 3 +- gcc/rust/typecheck/rust-tyty-call.cc | 1 + gcc/rust/typecheck/rust-tyty-cmp.h | 12 +- gcc/rust/typecheck/rust-tyty-subst.cc | 55 +- gcc/rust/typecheck/rust-tyty-subst.h | 11 +- gcc/rust/typecheck/rust-tyty-util.cc | 3 +- gcc/rust/typecheck/rust-tyty.cc | 1077 ++++++++++++-------- gcc/rust/typecheck/rust-tyty.h | 278 ++--- gcc/rust/typecheck/rust-unify.cc | 209 +++- gcc/rust/typecheck/rust-unify.h | 30 +- gcc/rust/util/rust-attributes.cc | 4 + gcc/rust/util/rust-attributes.h | 1 + gcc/rust/util/rust-buffered-queue.h | 2 +- .../{backend/rust-compile.h => util/rust-dump.h} | 38 +- gcc/rust/util/rust-hir-map.cc | 22 + gcc/rust/util/rust-hir-map.h | 4 + gcc/rust/util/rust-lang-item.h | 231 ++++- gcc/testsuite/rust/compile/builtin_macro_eager3.rs | 16 + .../builtin_macro_include_bytes_location_info.rs | 10 + .../builtin_macro_include_str_location_info.rs | 10 + gcc/testsuite/rust/compile/cast_generics.rs | 8 + gcc/testsuite/rust/compile/closure_no_type_anno.rs | 10 + .../rust/compile/complex_qualified_path_in_expr.rs | 34 + gcc/testsuite/rust/compile/default_not_a_kw.rs | 2 + .../{syntax-only.rs => extern_type_item.rs} | 5 +- .../rust/compile/extern_type_item_missing_semi.rs | 7 + gcc/testsuite/rust/compile/feature_extern_types.rs | 8 + gcc/testsuite/rust/compile/if_let_expr.rs | 19 + gcc/testsuite/rust/compile/issue-1524.rs | 49 + gcc/testsuite/rust/compile/issue-1893.rs | 42 + gcc/testsuite/rust/compile/issue-1901.rs | 33 + gcc/testsuite/rust/compile/issue-1930.rs | 4 + gcc/testsuite/rust/compile/issue-1981.rs | 132 +++ gcc/testsuite/rust/compile/issue-2037.rs | 13 + gcc/testsuite/rust/compile/issue-850.rs | 43 + gcc/testsuite/rust/compile/issue-855.rs | 23 + gcc/testsuite/rust/compile/lang-impl.rs | 2 + gcc/testsuite/rust/compile/macro47.rs | 10 + gcc/testsuite/rust/compile/macro48.rs | 10 + gcc/testsuite/rust/compile/multiple_bindings1.rs | 29 + gcc/testsuite/rust/compile/multiple_bindings2.rs | 14 + .../parse_associated_type_as_generic_arg.rs | 6 +- .../parse_associated_type_as_generic_arg2.rs | 8 +- .../parse_associated_type_as_generic_arg3.rs | 6 +- .../rust/compile/parse_invalid_specialization.rs | 4 + gcc/testsuite/rust/compile/parse_specialization.rs | 11 + .../rust/compile/ref_pattern_fn_param1.rs | 1 + .../rust/compile/ref_pattern_fn_param2.rs | 7 + .../rust/compile/sizeof-stray-infer-var-bug.rs | 14 + gcc/testsuite/rust/compile/slice_rest_pattern.rs | 8 + gcc/testsuite/rust/compile/stringify.rs | 10 + .../rust/compile/torture/alt_patterns1.rs | 15 + gcc/testsuite/rust/compile/torture/intrinsics-8.rs | 38 + .../rust/compile/torture/uninit-intrinsic-1.rs | 21 + gcc/testsuite/rust/compile/tuple_mismatch.rs | 13 + gcc/testsuite/rust/compile/while_let_expr.rs | 13 + gcc/testsuite/rust/compile/zero_sized_slice.rs | 5 + ...o_include_str.rs => builtin_macro_stringify.rs} | 17 +- .../execute/torture/{closure1.rs => closure4.rs} | 18 +- gcc/testsuite/rust/execute/torture/ref-pattern1.rs | 8 + .../torture/{closure1.rs => ref-pattern2.rs} | 10 +- 188 files changed, 4858 insertions(+), 2848 deletions(-) create mode 100644 gcc/rust/hir/rust-ast-lower-stmt.cc copy gcc/rust/{backend/rust-compile.h => util/rust-dump.h} (60%) create mode 100644 gcc/testsuite/rust/compile/builtin_macro_eager3.rs create mode 100644 gcc/testsuite/rust/compile/builtin_macro_include_bytes_location [...] create mode 100644 gcc/testsuite/rust/compile/builtin_macro_include_str_location_info.rs create mode 100644 gcc/testsuite/rust/compile/cast_generics.rs create mode 100644 gcc/testsuite/rust/compile/closure_no_type_anno.rs create mode 100644 gcc/testsuite/rust/compile/complex_qualified_path_in_expr.rs create mode 100644 gcc/testsuite/rust/compile/default_not_a_kw.rs copy gcc/testsuite/rust/compile/{syntax-only.rs => extern_type_item.rs} (51%) create mode 100644 gcc/testsuite/rust/compile/extern_type_item_missing_semi.rs create mode 100644 gcc/testsuite/rust/compile/feature_extern_types.rs create mode 100644 gcc/testsuite/rust/compile/if_let_expr.rs create mode 100644 gcc/testsuite/rust/compile/issue-1524.rs create mode 100644 gcc/testsuite/rust/compile/issue-1893.rs create mode 100644 gcc/testsuite/rust/compile/issue-1901.rs create mode 100644 gcc/testsuite/rust/compile/issue-1930.rs create mode 100644 gcc/testsuite/rust/compile/issue-1981.rs create mode 100644 gcc/testsuite/rust/compile/issue-2037.rs create mode 100644 gcc/testsuite/rust/compile/issue-850.rs create mode 100644 gcc/testsuite/rust/compile/issue-855.rs create mode 100644 gcc/testsuite/rust/compile/lang-impl.rs create mode 100644 gcc/testsuite/rust/compile/macro47.rs create mode 100644 gcc/testsuite/rust/compile/macro48.rs create mode 100644 gcc/testsuite/rust/compile/multiple_bindings1.rs create mode 100644 gcc/testsuite/rust/compile/multiple_bindings2.rs create mode 100644 gcc/testsuite/rust/compile/parse_invalid_specialization.rs create mode 100644 gcc/testsuite/rust/compile/parse_specialization.rs create mode 100644 gcc/testsuite/rust/compile/ref_pattern_fn_param1.rs create mode 100644 gcc/testsuite/rust/compile/ref_pattern_fn_param2.rs create mode 100644 gcc/testsuite/rust/compile/sizeof-stray-infer-var-bug.rs create mode 100644 gcc/testsuite/rust/compile/slice_rest_pattern.rs create mode 100644 gcc/testsuite/rust/compile/stringify.rs create mode 100644 gcc/testsuite/rust/compile/torture/alt_patterns1.rs create mode 100644 gcc/testsuite/rust/compile/torture/intrinsics-8.rs create mode 100644 gcc/testsuite/rust/compile/torture/uninit-intrinsic-1.rs create mode 100644 gcc/testsuite/rust/compile/tuple_mismatch.rs create mode 100644 gcc/testsuite/rust/compile/while_let_expr.rs create mode 100644 gcc/testsuite/rust/compile/zero_sized_slice.rs copy gcc/testsuite/rust/execute/torture/{builtin_macro_include_str.rs => builtin_m [...] copy gcc/testsuite/rust/execute/torture/{closure1.rs => closure4.rs} (50%) create mode 100644 gcc/testsuite/rust/execute/torture/ref-pattern1.rs copy gcc/testsuite/rust/execute/torture/{closure1.rs => ref-pattern2.rs} (56%)