+2023-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/110959
+ * dmd/canthrow.d (Dsymbol_canThrow): Use foreachVar.
+ * dmd/declaration.d (TupleDeclaration::needThis): Likewise.
+ (TupleDeclaration::foreachVar): New function.
+ (VarDeclaration::setFieldOffset): Use foreachVar.
+ * dmd/dinterpret.d (Interpreter::visit (DeclarationExp)): Likewise.
+ * dmd/dsymbolsem.d (DsymbolSemanticVisitor::visit (VarDeclaration)):
+ Don't push tuple field members to the scope symbol table.
+ (determineFields): Handle pushing tuple field members here instead.
+ * dmd/dtoh.d (ToCppBuffer::visit (VarDeclaration)): Visit all tuple
+ fields.
+ (ToCppBuffer::visit (TupleDeclaration)): New function.
+ * dmd/expression.d (expandAliasThisTuples): Use foreachVar.
+ * dmd/foreachvar.d (VarWalker::visit (DeclarationExp)): Likewise.
+ * dmd/ob.d (genKill): Likewise.
+ (checkObErrors): Likewise.
+ * dmd/semantic2.d (Semantic2Visitor::visit (TupleDeclaration)): Visit
+ all tuple fields.
+
2023-07-07 Iain Buclaw <ibuclaw@gdcproject.org>
Backported from master:
+2023-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/110959
+ * gdc.dg/pr110959.d: New test.
+ * gdc.test/runnable/test23010.d: New test.
+
2023-08-11 Jason Merrill <jason@redhat.com>
PR c++/106310