aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2025-03-20 00:20:10 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2025-03-20 00:20:10 +0000
commitc675c9dcb4eb006131f6a86d2e763a955c9b2fc8 (patch)
treee700eac10527850ba75f14c42afff79b96bf2ab2 /gcc/rust
parentb93e60e7901526d7df2d8c0f5e0e46c57e8e3771 (diff)
downloadgcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.zip
gcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.tar.gz
gcc-c675c9dcb4eb006131f6a86d2e763a955c9b2fc8.tar.bz2
Daily bump.
Diffstat (limited to 'gcc/rust')
-rw-r--r--gcc/rust/ChangeLog1189
1 files changed, 1189 insertions, 0 deletions
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index ba6430a..b871717 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,1192 @@
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle ExternalStaticItem.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/errors/rust-hir-pattern-analysis.cc: Add includes.
+ (PatternChecker::visit): Use name resolver 2.0 when enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * backend/rust-compile-expr.cc
+ (CompileExpr::visit): Use name resolver 2.0 to lookup label
+ definitions for break and continue statements when name
+ resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/errors/rust-const-checker.cc: Add includes.
+ (ConstChecker::visit): Use name resolver 2.0 to lookup
+ function definitions when name resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Load unloaded modules before attempting to
+ visit their items.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-forever-stack.h
+ (ForeverStack::to_canonical_path): Make const.
+ (ForeverStack::to_rib): Add const overload.
+ (ForeverStack::reverse_iter): Add const overloads.
+ (ForeverStack::ConstDfsResult): Add.
+ (ForeverStack::dfs): Add const overload.
+ (ForeverStack::dfs_rib): Likewise.
+ * resolve/rust-forever-stack.hxx
+ (ForeverStack::reverse_iter): Add const overloads.
+ (ForeverStack::dfs): Add const overload.
+ (ForeverStack::to_canonical_path): Make const.
+ (ForeverStack::dfs_rib): Likewise.
+ (ForeverStack::to_rib): Add const overload.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * checks/lints/rust-lint-marklive.cc
+ (MarkLive::visit_path_segment): Use name resolver 2.0 when
+ enabled.
+ (MarkLive::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle ConstGenericParam.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Visit GenericArgs and GenericArg, the former
+ because the latter involves a non-virtual member function call.
+ * resolve/rust-late-name-resolver-2.0.h
+ (Late::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in): Fix
+ compiler error on ast wrong implicit construct push_back
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_inputs):
+ Provide input operand for gccrs
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand_in):
+ Move expr to In
+ (expand_inline_asm_strings):
+ Add comments to debug strings
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * typecheck/rust-hir-type-check-pattern.cc: Add includes.
+ (TypeCheckPattern::visit): Use name resolver 2.0 if enabled.
+ * resolve/rust-name-resolution-context.cc
+ (NameResolutionContext::lookup): Make const qualified.
+ * resolve/rust-name-resolution-context.h
+ (NameResolutionContext::lookup): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Allow IdentifierExpr and PathInExpression to
+ reference types as well as values, remove ability for
+ IdentifierExpr to reference labels.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-ast-visitor.cc
+ (DefaultASTVisitor::visit): Visit fields of InlineAsm.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * backend/rust-compile-item.cc
+ (CompileItem::visit): Check canonical path of StaticItem
+ properly when name resolution 2.0 is enabled.
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Insert static items into the value namespace.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * ast/rust-expr.h
+ (InlineAsmOperand): Replace multiple mutually-exclusive tl::optional
+ fields with a std::unique_ptr and modify nested classes to allow
+ this. Also, make getters return references where possible.
+ * expand/rust-macro-builtins-asm.cc
+ (parse_reg_operand_out): Pass location when constructing
+ InlineAsmOperand.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc
+ (TopLevel::visit): Handle TypeAlias.
+ * resolve/rust-toplevel-name-resolver-2.0.h
+ (TopLevel::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * typecheck/rust-hir-type-check-enumitem.cc: Add includes.
+ (TypeCheckEnumItem::visit): Fetch canonical paths properly when
+ name resolution 2.0 is enabled.
+ * typecheck/rust-hir-type-check-implitem.cc: Add includes.
+ (TypeCheckImplItem::visit): Fetch canonical paths properly when
+ name resolution 2.0 is enabled.
+ * typecheck/rust-hir-type-check-item.cc: Add include.
+ (TypeCheckItem::visit): Fetch canonical paths properly when name
+ resolution 2.0 is enabled.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-finalize-imports-2.0.cc
+ (GlobbingVisitor::visit): Replace calls to insert_shadowable with
+ insert_globbed.
+ * resolve/rust-forever-stack.h
+ (ForeverStack::insert_globbed): Add.
+ * resolve/rust-forever-stack.hxx
+ (ForeverStack::insert_globbed): Add.
+ (ForeverStack::dfs): Handle modifications to Rib::Definition
+ fields.
+ * resolve/rust-late-name-resolver-2.0.cc
+ (Late::visit): Make IdentifierPattern-based declarations
+ shadowable.
+ * resolve/rust-name-resolution-context.cc
+ (NameResolutionContext::insert_globbed): Add.
+ * resolve/rust-name-resolution-context.h
+ (NameResolutionContext::insert_globbed): Add.
+ * resolve/rust-rib.cc
+ (Rib::Definition::Definition): Use Rib::Definition::Mode to
+ indicate shadowing mode instead of boolean, handle modifications
+ to Rib::Definition fields.
+ (Rib::Definition::is_ambiguous): Handle modifications to
+ Rib::Definition fields.
+ (Rib::Definition::to_string): Likewise.
+ (Rib::Definition::Shadowable): Handle changed constructor
+ signature.
+ (Rib::Definition::NonShadowable): Likewise.
+ (Rib::Definition::Globbed): Add.
+ (Rib::insert): Handle changes to Rib::Definition fields.
+ * resolve/rust-rib.h
+ (Rib::Definition::Globbed): Add.
+ (Rib::Definition::ids): Remove.
+ (Rib::Definition::ids_shadowable): Add.
+ (Rib::Definition::ids_non_shadowable): Add.
+ (Rib::Definition::ids_globbed): Add.
+ (Rib::Definition::get_node_id): Handle modifications to
+ Rib::Definition fields.
+ (Rib::Definition::Mode): Add.
+ (Rib::Definition::Definition): Use Rib::Definition::Mode to
+ indicate shadowing mode instead of boolean.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * typecheck/rust-hir-trait-resolve.cc (TraitResolver::resolve_path_to_trait):
+ use error handling instead of assertion
+ * typecheck/rust-hir-type-check-item.cc (TypeCheckItem::visit): reuse trait reference
+ * typecheck/rust-hir-type-check-item.h: update prototype
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * resolve/rust-ast-resolve-type.cc (ResolveTypeToCanonicalPath::visit): add unit-type catch
+ * resolve/rust-ast-resolve-type.h: likewise
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * Make-lang.in: new objects
+ * ast/rust-ast-builder.cc (Builder::generic_type_path_segment): new helper
+ (Builder::single_generic_type_path): likewise
+ (Builder::new_type): likewise
+ (Builder::new_lifetime_param): likewise
+ (Builder::new_type_param): likewise
+ (Builder::new_lifetime): likewise
+ (Builder::new_generic_args): likewise
+ * ast/rust-ast-builder.h: new helper decls
+ * ast/rust-ast.h: new const getters
+ * ast/rust-path.h: likewise
+ * ast/rust-type.h: likewise
+ * expand/rust-derive-clone.cc (DeriveClone::clone_impl): take the types generics
+ (DeriveClone::visit_tuple): likewise
+ (DeriveClone::visit_struct): likewise
+ (DeriveClone::visit_union): likewise
+ * expand/rust-derive-clone.h: update header
+ * expand/rust-derive-copy.cc (DeriveCopy::copy_impl): similarly take type generics
+ (DeriveCopy::visit_struct): likewise
+ (DeriveCopy::visit_tuple): likewise
+ (DeriveCopy::visit_enum): likewise
+ (DeriveCopy::visit_union): likewise
+ * expand/rust-derive-copy.h: likewse
+ * ast/rust-ast-builder-type.cc: New file.
+ * ast/rust-ast-builder-type.h: New file.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust-session-manager.cc (Session::expansion): Break on error after
+ top level name resolution.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Resolve
+ TypeParam.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add visit function
+ prototype.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast.h: Node id getter could be const.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.h: Add visit function prototype.
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Change resolved
+ type segment.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Remove
+ assertion and explicitely tells why we ignore the insertion result.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * Make-lang.in: Add new rust-bir-builder-pattern file.
+ * checks/errors/borrowck/rust-bir-builder-pattern.h: Remove
+ implementation.
+ * checks/errors/borrowck/rust-bir-builder-pattern.cc: New file.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast-visitor.h: Make visit functions public.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-finalize-imports-2.0.h: Add parent member functions
+ from default resolver.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Use
+ default visitor instead.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ default visit code and replace it with call to default visitor.
+ * resolve/rust-default-resolver.h: Remove removed function's
+ prototypes.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Remove
+ empty visit function implementations.
+ * resolve/rust-default-resolver.h: Remove corresponding prototypes.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-default-resolver.h: Make most visit function override.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::Early): Add dirty
+ flag initialization.
+ (Early::go): Set dirty flag using top level resolver.
+ * resolve/rust-early-name-resolver-2.0.h: Add dirty flag.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::TopLevel):
+ Initialize dirty flag.
+ (TopLevel::insert_or_error_out): Set dirty flag on successful
+ namespace modification.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Add dirty flag.
+ * rust-session-manager.cc (Session::expansion): Modify fixed point
+ condition to include name resolution modifications.
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-rib.cc (Rib::insert): Emit an error when trying to
+ insert an already inserted node.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.h: New class for imports.
+ * resolve/rust-finalize-imports-2.0.cc (finalize_simple_import): Use
+ the new API.
+ (finalize_glob_import): Likewise.
+ (finalize_rebind_import): Likewise.
+ (FinalizeImports::FinalizeImports): Likewise.
+ (FinalizeImports::visit): Likewise.
+ * resolve/rust-finalize-imports-2.0.h: Likewise.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import): Likewise.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_simple_import):
+ Insert import in all namespaces where they were resolved.
+ (Early::resolve_rebind_import): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Improve APIs, make them
+ accept multiple resolutions.
+ * resolve/rust-finalize-imports-2.0.cc: Handle multiple resolutions.
+ * resolve/rust-name-resolution-context.h (resolve_path): Remove function.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::visit_attributes):
+ Store errors for later.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-finalize-imports-2.0.cc (FinalizeImports::go): Turn
+ static method into method.
+ (FinalizeImports::visit): New.
+ * resolve/rust-finalize-imports-2.0.h (class FinalizeImports): Make
+ FinalizeImports a visitor.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::go): Use new FinalizeImports API.
+ (Early::resolve_glob_import): Use new API.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add debug call.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Store
+ imports using the new classes.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Use new classes.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import):
+ Use ImportData class.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Likewise.
+ * resolve/rust-finalize-imports-2.0.cc (finalize_simple_import): Likewise.
+ (finalize_glob_import): Likewise.
+ (finalize_rebind_import): Likewise.
+ (FinalizeImports::go): Likewise.
+ * resolve/rust-finalize-imports-2.0.h: Likewise.
+ * resolve/rust-name-resolution-context.h: Likewise.
+ * resolve/rust-rib.h: Define ImportData class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * Make-lang.in: Add new object file.
+ * ast/rust-item.h: Constify method.
+ * resolve/rust-early-name-resolver-2.0.cc (Early::go): Call into
+ the imports finalizer.
+ (Early::resolve_glob_import): Remove old resolution.
+ (Early::resolve_rebind_import): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (GlobbingVisitor::go):
+ New function.
+ (GlobbingVisitor::visit): Likewise.
+ (TopLevel::visit): Do not call into handle_use_* functions anymore.
+ * resolve/rust-toplevel-name-resolver-2.0.h (class GlobbingVisitor):
+ New.
+ * resolve/rust-finalize-imports-2.0.cc: New file.
+ * resolve/rust-finalize-imports-2.0.h: New file.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-early-name-resolver-2.0.cc (Early::resolve_glob_import): New function.
+ (Early::resolve_simple_import): Likewise.
+ (Early::resolve_rebind_import): Likewise.
+ (Early::build_import_mapping): Likewise.
+ * resolve/rust-early-name-resolver-2.0.h: Add declarations and list of imports to
+ resolve.
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_glob): Remove function,
+ which is now being handled by the Early name resolver.
+ (TopLevel::handle_use_dec): Likewise.
+ (TopLevel::handle_rebind): Likewise.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise, and add functions for creating
+ import list and fetching it.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc: Comment out handle_use
+ call and error emission.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Create ImportKind class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::handle_use_dec):
+ Add notes on the problem.
+ * resolve/rust-toplevel-name-resolver-2.0.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * resolve/rust-default-resolver.cc (DefaultResolver::visit): Do not
+ visit self's type if it does not have one.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * hir/rust-ast-lower-type.cc (ASTLowerQualifiedPathInType::visit):
+ check for valid as segment
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * resolve/rust-ast-resolve-type.cc (ResolveType::visit):
+ handle never type
+ (ResolveTypeToCanonicalPath::visit): likewise
+ * resolve/rust-ast-resolve-type.h: missing never type
+ * resolve/rust-name-resolver.cc (Resolver::generate_builtins):
+ track never type node_id
+ (Resolver::setup_builtin): likewise
+ * resolve/rust-name-resolver.h: new never type getter
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-default-resolver.cc
+ (DefaultResolver::visit): Remove some empty overloads which
+ DefaultASTVisitor::visit should be able to handle.
+ * resolve/rust-default-resolver.h
+ (DefaultResolver::visit): Likewise.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/optional.h
+ (optional): Add assertions to dereference operator overloads
+ when C++14 is available.
+
+2025-03-19 Marc Poulhiès <dkm@kataplop.net>
+
+ * hir/rust-hir-dump.cc (Dump::visit): Add missing fields.
+
+2025-03-19 Philip Herron <herron.philip@googlemail.com>
+
+ * hir/rust-ast-lower-item.cc (ASTLoweringItem::visit): the polarity was reversed
+ * typecheck/rust-hir-type-check-item.cc: check the polarity
+
+2025-03-19 benjamin.thos <benjamin.thos@epita.fr>
+
+ * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit): Add
+ implementation of error propagation visitor
+ * resolve/rust-ast-resolve-expr.h: Add prototype of error
+ propagation
+
+2025-03-19 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Add optional
+ check.
+
+2025-03-19 JoanVC <github-91yu@joanvc.cat>
+
+ * backend/rust-compile-expr.cc
+
+2025-03-19 JoanVC <github-91yu@joanvc.cat>
+
+ * backend/rust-compile-expr.cc: Fix range checking for both integers and floats.
+ * hir/tree/rust-hir-expr.h: Add "negative_number" boolean to LiteralExpr class.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * rust-session-manager.cc (Session::compile_crate): Use less repetition,
+ fix a typo in `reports`, fix word order.
+
+2025-03-19 benjamin.thos <benjamin.thos@epita.fr>
+
+ * checks/errors/rust-feature-gate.cc (FeatureGate::visit): Emit error
+ on trait when auto field member true.
+ * checks/errors/rust-feature-gate.h: add prototype of trait visitor.
+ * checks/errors/rust-feature.cc (Feature::create): add
+ optin_builtin_traits in match of feature.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * Make-lang.in: Add rust-hir-pattern-analysis.o.
+ * rust-session-manager.cc (Session::compile_crate):
+ Add pattern analysis pass.
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Do typecheck for subpatterns.
+ * checks/errors/rust-hir-pattern-analysis.cc: New file.
+ * checks/errors/rust-hir-pattern-analysis.h: New file.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * backend/rust-compile.cc:
+ Modify compute_address_for_trait_item to support supertraits
+ * typecheck/rust-tyty.cc:
+ Remove auto
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Use strong
+ type instead of size_t.
+ (Dump::visit_place): Likewise.
+ (Dump::visit_scope): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.h (class Dump): Use
+ IndeVec for place_map.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Used `IndexVec` for bb_fold_map.
+ (Dump::go): Use strong type as index instead of value as now we
+ are using `IndexVec`.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.h (class Dump): Use
+ `IndexVec` for bb_fold_map.
+ * checks/errors/borrowck/rust-bir-place.h: Add constructor for
+ `IndexVec` that can reserve size.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h: Use strong types as
+ index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::visit): Use strong type as index and
+ remove access to numeric value.
+ * checks/errors/borrowck/rust-bir-builder-internal.h
+ (struct BuilderContext): Likewise.
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Likewise.
+ (Dump::go): Likewise.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h
+ (class FactCollector): Likewise.
+ (points): Likewise.
+ * checks/errors/borrowck/rust-bir.h (struct BasicBlockId): Used
+ IndexVec for BasicBlocks.
+ (struct Function): Likewise.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::get_statement): Change the extracted
+ index to strong type.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h: Used `IndexVec` with
+ ScopeId as index.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::get_loan): Convert Polonius::Loan to
+ BIR::Loan, so we can use it as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h:
+ Used `IndexVec` with ScopeId as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-place.h (struct Loan):
+ Introduce new class `IndexVec` inspired from IndexVec of rust.
+ It acts as a wrapper around `std::vector` and lets user specify
+ a strong type to use as index.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Use value of BasicBlockId as index.
+ * checks/errors/borrowck/rust-bir-builder-internal.h (struct BuilderContext):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h:
+ Initialize with ENTRY_BASIC_BLOCK.
+ * checks/errors/borrowck/rust-bir-dump.cc (simplify_cfg):
+ Use value of BasicBlockId as index.
+ (Dump::go): Likewise.
+ (Dump::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (class FactCollector):
+ Initialize with ENTRY_BASIC_BLOCK.
+ (points): Use value of BasicBlockId as index.
+ * checks/errors/borrowck/rust-bir.h (struct BasicBlockId):
+ BasicBlockId is a struct now.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::setup_loop): Use value of ScopeId.
+ (ExprStmtBuilder::visit): Use continue scope id instead of
+ continue basic block id.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use value
+ of ScopeId.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::go): Use
+ ROOT_VALUE instead of hardcoded 0.
+ (Dump::visit_scope): Use value of ScopeId.
+ * checks/errors/borrowck/rust-bir-place.h (struct ScopeId):
+ ScopeId is now a struct.
+ (std::numeric_limits::max): Set invalid ScopeId.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit): Use new
+ API, i.e get_loan_id() instead of get_loan().
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points): Use
+ value of LoanId in Polonius facts.
+ * checks/errors/borrowck/rust-bir-place.h (struct LoanId):
+ LoanId is a struct now.
+ * checks/errors/borrowck/rust-bir.h (class AbstractExpr): Use
+ new API, as we are getting a LoanId and not a loan itself.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use
+ FreeRegions instead of making a temporary vector of FreeRegion.
+ * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (class FactCollector):
+ Likewise.
+ (points): Likewise.
+ * checks/errors/borrowck/rust-bir-free-region.h: Remove obsolete
+ set_from() helpers, add push_back().
+ * checks/errors/borrowck/rust-bir-place.h: Use FreeRegions
+ instead of making a temporary vector of Origin.
+ * typecheck/rust-tyty-variance-analysis-private.h: Change type
+ of `regions`.
+ * typecheck/rust-tyty-variance-analysis.cc (CrateCtx::query_type_regions):
+ Use new type.
+ (GenericTyPerCrateCtx::query_generic_variance): Likewise.
+ (TyVisitorCtx::add_constraints_from_generic_args): Likewise.
+ (FieldVisitorCtx::add_constraints_from_region): Likewise.
+ (FieldVisitorCtx::add_constrints_from_param): Likewise.
+ * typecheck/rust-tyty-variance-analysis.h: Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Use
+ STATIC_FREE_REGION, use value of FreeRegion for origin.
+ * checks/errors/borrowck/rust-bir-builder.h: Use free region
+ value.
+ * checks/errors/borrowck/rust-bir-dump.cc (Dump::visit_scope):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points):
+ Likewise.
+ * checks/errors/borrowck/rust-bir-free-region.h (struct FreeRegion):
+ Make FreeRegion a struct.
+ * checks/errors/borrowck/rust-bir-place.h: Use FreeRegion
+ instead of Origin in PlaceDB.
+ * typecheck/rust-tyty-variance-analysis.cc (FieldVisitorCtx::add_constraints_from_region):
+ Use value of FreeRegion for origin.
+ (FieldVisitorCtx::add_constrints_from_param): Likewise.
+ (Term::make_transform): Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-dump.cc (renumber_places):
+ Use value of PlaceId as index.
+ (Dump::visit_place): Likewise.
+ (Dump::visit_scope): Likewise.
+ (Dump::go): Refill `place_map` with for loop instead of
+ using std::iota().
+ * checks/errors/borrowck/rust-bir-fact-collector.h (points): Use
+ value as index.
+ * checks/errors/borrowck/rust-bir-place.h (struct PlaceId):
+ PlaceId is now a class holding a uint32_t value. Overloaded
+ comparision operators for easier comparision.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * resolve/rust-ast-resolve-pattern.cc
+ (PatternDeclaration::check_bindings_consistency): Check if
+ outer_bindings_map contains an entry before indexing.
+
+2025-03-19 Owen Avery <powerboat9.gamer@gmail.com>
+
+ * util/rust-canonical-path.h
+ (CanonicalPath::CanonicalPath): Properly initialize crate_num
+ with copy constructor.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::visit):
+ Change API, public/private, comments, formatting from code
+ review
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::tree_codegen_asm): Likewise.
+ * backend/rust-compile-asm.h (class CompileAsm): Likewise.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+ * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise.
+ * expand/rust-macro-builtins-asm.cc (strip_double_quotes): Likewise.
+ (parse_options): Likewise.
+ (parse_asm_arg): Likewise.
+ (expand_inline_asm_strings): Likewise.
+ (parse_asm): Likewise.
+ * expand/rust-macro-builtins-asm.h (strip_double_quotes): Likewise.
+ (expand_inline_asm_strings): Likewise.
+ (expand_inline_asm_string): Likewise.
+ * hir/tree/rust-hir-expr.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Remove debug
+ * expand/rust-macro-builtins-asm.cc (expand_inline_asm_strings):
+ properly formatted via rust instead of c
+ (parse_asm): formatted comment
+ (parse_format_strings): formatted comment
+ * hir/tree/rust-hir-expr.h: fix is_simple_asm()
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Use's array type when constring string tree
+ (CompileAsm::asm_construct_string_tree):
+ Use's array type when constring string tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Added noreturn checking for nevertype
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Add debug comment
+ (CompileAsm::asm_construct_outputs):
+ Perform lowering hir output operand to tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Perform type check on InlineAsm's operand
+ (typecheck_inline_asm_operand): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_outputs):
+ Lower the HIR to tree with CompileExpr
+ * backend/rust-compile-asm.h: Remove static from method
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (strip_double_quotes):
+ Move strip double quotes to parse phase
+ (CompileAsm::asm_construct_string_tree): Likewise
+ * backend/rust-compile-asm.h (strip_double_quotes): Likewise
+ * expand/rust-macro-builtins-asm.cc (strip_double_quotes):
+ Likewise
+ (expand_inline_asm): Renamed to expand_inline_asm_strings
+ (expand_inline_asm_strings): Renamed from expand_inline_asm
+ (parse_asm): Move strip double quotes to parse phase
+ (parse_format_strings): Likewise
+ * expand/rust-macro-builtins-asm.h (strip_double_quotes):
+ Likewise
+ (expand_inline_asm_strings): Inline asm expansion fn
+ (expand_inline_asm_string): Inline asm expansion fn
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Remove warnings
+ (parse_reg_operand_out): Remove warnings
+ (expand_inline_asm): New function for eventual expansion
+ (parse_asm): Use expand_inline_asm
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_construct_outputs):
+ Set up counting to check
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::asm_build_expr):
+ Use expr's is_simple_asm and is_inline_asm
+ (CompileAsm::asm_is_simple): removed
+ (CompileAsm::asm_is_inline): removed
+ * backend/rust-compile-asm.h: Add docs to ASM_TREE_ARRAY_LENGTH
+ * hir/tree/rust-hir-expr.h: Add is_simple_asm, is_inline_asm
+ and remove #include tree
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (strip_double_quotes):
+ Refactor compile-asm for first round review
+ (CompileAsm::asm_build_asm_stmt): Likewise.
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::asm_get_locus): Likewise.
+ (CompileAsm::asm_construct_string_tree): Likewise.
+ (CompileAsm::asm_construct_outputs): Likewise.
+ (CompileAsm::asm_construct_inputs): Likewise.
+ (CompileAsm::asm_construct_clobber_tree): Likewise.
+ (CompileAsm::asm_construct_label_tree): Likewise.
+ (CompileAsm::asm_is_simple): Likewise.
+ (CompileAsm::asm_is_inline): Likewise.
+ * backend/rust-compile-asm.h (strip_double_quotes): Likewise.
+ (class CompileAsm): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::add_stmt):
+ Deleted
+ (CompileAsm::CompileAsm):
+ Successfully produce pseudo-nop
+ (CompileAsm::visit): Likewise
+ (CompileAsm::asm_build_asm_stmt): Likewise
+ (CompileAsm::asm_construct_string_tree): Likewise
+ (CompileAsm::asm_is_inline): Likewise
+ * backend/rust-compile-asm.h (class CompileAsm): Likewise
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * backend/rust-compile-asm.cc (CompileAsm::add_stmt):
+ Scaffolding code.
+ (CompileAsm::asm_build_asm_stmt): Likewise.
+ (CompileAsm::asm_build_expr): Likewise.
+ (CompileAsm::asm_construct_string_tree): Likewise.
+ * backend/rust-compile-asm.h: Likewise.
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * Make-lang.in:
+ Scaffolding new compile-asm files
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise
+ * hir/tree/rust-hir-expr.h: Likewise
+ * backend/rust-compile-asm.cc: New file. Likewise
+ * backend/rust-compile-asm.h: New file. Likewise
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit):
+ Setting up interfaces for codegen
+ * hir/tree/rust-hir-expr.h: Likewise.
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-expr.cc (CompileExpr::visit):
+ Local testing for build_string and debug()
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * hir/tree/rust-hir.cc (InlineAsm::accept_vis):
+ Make sure CompileExpr::visit is reached
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Likewise
+
+2025-03-19 jjasmine <tanghocle456@gmail.com>
+
+ * backend/rust-compile-block.h:
+ Scaffolding asm codegen
+ * backend/rust-compile-expr.cc (CompileExpr::visit): Likewise.
+ * backend/rust-compile-expr.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit): Likewise.
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h: Likewise.
+ * checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::visit): Likewise.
+ * checks/errors/privacy/rust-privacy-reporter.h: Likewise.
+ * hir/tree/rust-hir-expr.h: Likewise.
+ * hir/tree/rust-hir-visitor.h: Likewise.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit): Likewise.
+ * typecheck/rust-hir-type-check-expr.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Fix parsing logic & reassignment logic
+ (parse_reg_operand_in): Fix parsing
+ (parse_reg_operand_out): Fix parsing
+ (parse_reg_operand_inout): Fix parsing
+ (parse_reg_operand_unexpected): Remove rust_unreachable()
+ (parse_asm_arg): Fix parsing logic
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * typecheck/rust-hir-type-check.h:
+ Add pop guard for binder
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * resolve/rust-ast-resolve.cc (NameResolution::go):
+ Fix warnings from const auto& to const auto
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * lex/rust-lex.cc (Lexer::build_token): Emit error code.
+ * lex/rust-lex.h: Fix comment.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * hir/tree/rust-hir.cc (Item::item_kind_string): New function.
+ * hir/tree/rust-hir.h: New function.
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Modify to check all arms in match expressions even if some of them
+ has errors.
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Add and fix check for path patterns.
+
+2025-03-19 Raiki Tamura <tamaron1203@gmail.com>
+
+ * typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
+ Add check for union patterns.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/rust-feature.cc (Feature::create): Reuse variable,
+ remove now optional parameters from constructor.
+ * checks/errors/rust-feature.h: Cleanup class definition.
+ * checks/errors/rust-feature-gate.cc (FeatureGate::gate): Use optional.
+ * checks/errors/rust-feature-gate.h: Cleanup visitor implementation.
+ * checks/errors/borrowck/ffi-polonius/Cargo.lock: New file.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/rust-feature-gate.cc (FeatureGate::visit): Add base
+ feature gating for `#[feature(prelude_import)]`.
+ * checks/errors/rust-feature-gate.h: Likewise.
+ * checks/errors/rust-feature.cc (Feature::create): Likewise.
+ * checks/errors/rust-feature.h: Likewise.
+ * util/rust-attribute-values.h: Add base handling for `#[prelude_import]`
+ attribute.
+ * util/rust-attributes.cc: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-ast-full-decls.h (struct InlineAsmOperand):
+ Change to class
+ (class InlineAsmOperand): Change from struct
+ * hir/tree/rust-hir-full-decls.h (struct InlineAsmRegOrRegClass):
+ Removed from decl, used from AST
+ (struct AnonConst): new decl from rust-hir-expr.h
+ (class InlineAsmOperand): new decl from rust-hir-expr.h
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast-full-decls.h (class PathPattern): Rename PathPattern to...
+ (class Path): ...Path
+ * ast/rust-ast-collector.cc (TokenCollector::visit): Add required methods
+ for LangItemPath and RegularPath.
+ * ast/rust-ast-collector.h: Likewise.
+ * ast/rust-ast-visitor.cc (DefaultASTVisitor::visit): Likewise.
+ * ast/rust-ast-visitor.h: Likewise.
+ * ast/rust-path.cc (PathPattern::as_string): Likewise.
+ (RegularPath::as_string): Likewise.
+ (LangItemPath::as_string): Likewise.
+ (PathPattern::convert_to_simple_path): Likewise.
+ (RegularPath::convert_to_simple_path): Likewise.
+ (RegularPath::accept_vis): Likewise.
+ (LangItemPath::accept_vis): Likewise.
+ (PathInExpression::as_string): Likewise.
+ (QualifiedPathInExpression::as_string): Likewise.
+ * ast/rust-path.h (class PathPattern): Likewise.
+ (class Path): Likewise.
+ (class RegularPath): Likewise.
+ (class LangItemPath): Likewise.
+ (class PathInExpression): Likewise.
+ (class QualifiedPathInExpression): Likewise.
+ * ast/rust-pattern.h (class PathPattern): Likewise.
+ (class Path): Likewise.
+ * expand/rust-derive.h: Likewise.
+ * hir/rust-ast-lower-base.cc (ASTLoweringBase::visit): Likewise.
+ * hir/rust-ast-lower-base.h: Likewise.
+ * resolve/rust-ast-resolve-base.cc (ResolverBase::visit): Likewise.
+ * resolve/rust-ast-resolve-base.h: Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-ast.h (class PathExpr): Remove class.
+ * ast/rust-path.h (class PathInExpression): Inherit from ExprWithoutBlock.
+ (class QualifiedPathInExpression): Likewise.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * ast/rust-path.h (class PathInExpression): Remove `remove_all_segments`
+ method, add a `marked_for_strip` flag instead.
+
+2025-03-19 Muhammad Mahad <mahadtxt@gmail.com>
+
+ * typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
+ Add error code and update error message
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_move_errors): Specify
+ locations for code causing errors and related moves.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_subset_errors): Highlight
+ lifetime locations while reporting subset errors.
+ (BorrowCheckerDiagnostics::get_lifetime_param): Helper function
+ to fetch HIR::Lifetime node from Polonius::Origin.
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.h:
+ Definition of helper function.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder.h: Map regions to
+ their respective HIR nodes.
+ * checks/errors/borrowck/rust-bir.h (struct Function):
+ Add unordered_map to maintain the mapping.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * typecheck/rust-hir-type-check-pattern.cc:
+ Emit E0532 when trying to reference a Tuple or Struct variant
+ using a non Tuple or Struct pattern.
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * expand/rust-expand-visitor.h:
+ remove auto keyword
+ * expand/rust-macro-builtins-helpers.cc:
+ allow for changing macro invoc types on eager expansions to
+ semicoloned macros
+ * expand/rust-macro-builtins-helpers.h:
+ add default semicoloned argument
+ * expand/rust-macro-builtins-include.cc:
+ allow for eager expansion for include and include_bytes
+ allow for parsing include invocations as items instead of
+ expressions, which allows invocations at global scope
+ * expand/rust-macro-expand.cc:
+ push Expr type for eager invocations
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h:
+ Use `make_*` functions to create BIR::Statements.
+ * checks/errors/borrowck/rust-bir.h: Make a complete constructor
+ and introduce `make_*` functions to create various
+ BIR::Statements.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::report_loan_errors): Add label to
+ where the borrow occurs and where the invalid access occurs.
+ (BorrowCheckerDiagnostics::get_statement):
+ Fetch BIR::Statement from Polonius::Point
+ (BorrowCheckerDiagnostics::get_loan):
+ Fetch BIR::Loan from Polonius::Loan
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.h:
+ Function definition of helpers.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc (ExprStmtBuilder::visit):
+ Add location parameter.
+ * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Add helper
+ function for pushing return statements.
+ * checks/errors/borrowck/rust-bir.h: Remove `expr` parameter as
+ it is only needed for ASSIGNMENT statements, for which we
+ already have a constructor.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * resolve/rust-ast-resolve-expr.cc (ResolveExpr::visit):
+ Implement resolve expr for inline asm ast
+ (translate_operand): Likewise.
+ * resolve/rust-ast-resolve-expr.h: Likewise.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-internal.h:
+ Fill location for loan.
+ * checks/errors/borrowck/rust-bir-place.h (struct Loan):
+ Add location field.
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+ (ExprStmtBuilder::visit): Added location parameter.
+ * checks/errors/borrowck/rust-bir-builder-internal.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h:
+ Likewise.
+ * checks/errors/borrowck/rust-bir-builder-pattern.h: Likewise.
+ * checks/errors/borrowck/rust-bir-builder.h: Likewise.
+ * checks/errors/borrowck/rust-bir.h: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * hir/rust-ast-lower-expr.cc (translate_operand_in):
+ Turn to switch case, use new helper functions
+ (translate_operand_out): Likewise.
+ (translate_operand_inout): Likewise.
+ (translate_operand_split_in_out): Likewise.
+ (translate_operand_const): Likewise.
+ (translate_operand_sym): Likewise.
+ (translate_operand_label): Likewise.
+ (from_operand): Likewise.
+ (ASTLoweringExpr::visit): Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * hir/rust-ast-lower-expr.cc (from_operand):
+ Set up the lowering for operand
+ (ASTLoweringExpr::visit): Likewise
+ * hir/tree/rust-hir-expr.h (struct InlineAsmRegOrRegClass):
+ Not necessary, kept from ast
+ (struct AnonConst): Set up lowering for operand
+ (class InlineAsmOperand): Likewise, add getters
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/polonius/rust-polonius.h (struct FullPoint):
+ Added comments and made extraction of statement more verbose for
+ better understanding.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: Likewise.
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-expr.h (struct InlineAsmOperand): changed to class
+ (class InlineAsmOperand): Have appropriate constructor,
+ and getter
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Use the new implement constructors and new control flow.
+ (parse_reg_operand_in): Likewise
+ (parse_reg_operand_out): Likewise
+ (parse_reg_operand_inout): Likewise
+ (parse_reg_operand_const): Likewise
+
+2025-03-19 badumbatish <tanghocle456@gmail.com>
+
+ * ast/rust-expr.h (struct InlineAsmOperand):
+ Add construction for register_type
+ * expand/rust-macro-builtins-asm.cc (parse_reg_operand):
+ Fix parsing logic & reassignment logic
+ (parse_reg_operand_in): Fix parsing
+ (parse_reg_operand_out): Fix parsing
+ (parse_reg_operand_inout): Fix parsing
+ (parse_reg_operand_unexpected): Remove rust_unreachable()
+ (parse_asm_arg): Fix parsing logic
+ * expand/rust-macro-builtins-asm.h: Add = operator overloading
+
+2025-03-19 Kushal Pal <kushalpal109@gmail.com>
+
+ * checks/errors/borrowck/polonius/rust-polonius.h (struct FullPoint):
+ This is the correct way of extracting the required bits.
+
+2025-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
+
+ * checks/errors/borrowck/ffi-polonius/src/gccrs_ffi.rs: Remove extern
+ type feature.
+ * checks/errors/borrowck/ffi-polonius/src/lib.rs: Define FFIVector
+ per the nomicon's recommendation
+ https://doc.rust-lang.org/nomicon/ffi.html#representing-opaque-structs
+
+2025-03-19 Liam Naddell <liam.naddell@mail.utoronto.ca>
+
+ * ast/rust-ast.cc:
+ Fix Attribute constructors to copy inner_attribute
+ * checks/errors/rust-unsafe-checker.cc:
+ Add pass for #[may_dangle] in safe impl's
+ * hir/rust-ast-lower-item.cc:
+ Add support for unsafe impl's
+ * hir/rust-ast-lower-type.cc:
+ Lower attributes in impl's from AST to HIR
+ * hir/rust-hir-dump.cc:
+ Change single attribute to AttrVec
+ * hir/tree/rust-hir-item.h:
+ Add unsafe support to Impl blocks in HIR
+ * hir/tree/rust-hir.cc:
+ Change single attribute to AttrVec
+ * hir/tree/rust-hir.h:
+ Add has/get_outer_attribute to GenericParam
+
+2025-03-19 Antonio Gomes <antoniospg100@gmail.com>
+
+ * expand/rust-cfg-strip.cc:
+ Strip struct expr fields and strip fields in struct definition
+ * expand/rust-cfg-strip.h:
+ Signatures for new function maybe_strip_struct_expr_fields
+
2025-03-18 Marc Poulhiès <dkm@kataplop.net>
PR rust/119333