[COMMITTED 61/77] gccrs: hir: Remove unnecessary HIR::RangeFromToInclExpr class

[email protected]
Newsgroups gmane.comp.gcc.rust,gmane.comp.gcc.patches
Message-ID <[email protected]>
From: Enes Cevik <[email protected]>

This patch removes the unnecessary HIR::RangeFromToInclExpr class and its
associated visitors across the compiler. Since inclusive ranges are now
directly desugared into a CallExpr targeting the 'range_inclusive_new'
lang item during AST-to-HIR lowering, this HIR node and its
codegen/typecheck implementations are dead code.

gcc/rust/ChangeLog:

	* backend/rust-compile-block.h: Remove RangeFromToInclExpr visit.
	* 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/borrowck/rust-bir-builder-struct.h: Likewise.
	* checks/errors/borrowck/rust-function-collector.h: Likewise.
	* checks/errors/privacy/rust-privacy-reporter.cc
	(PrivacyReporter::visit): Likewise.
	* checks/errors/privacy/rust-privacy-reporter.h: Likewise.
	* checks/errors/rust-const-checker.cc (ConstChecker::visit):
	Likewise.
	* checks/errors/rust-const-checker.h: Likewise.
	* checks/errors/rust-hir-pattern-analysis.cc
	(PatternChecker::visit): Likewise.
	* checks/errors/rust-hir-pattern-analysis.h: Likewise.
	* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit):
	Likewise.
	* checks/errors/rust-unsafe-checker.h: Likewise.
	* hir/rust-hir-dump.cc (Dump::visit): Likewise.
	* hir/rust-hir-dump.h: Likewise.
	* hir/tree/rust-hir-expr.cc
	(RangeFromToInclExpr::RangeFromToInclExpr): Likewise.
	(RangeFromToInclExpr::operator=): Likewise.
	* hir/tree/rust-hir-expr.h (class RangeFromToInclExpr): Remove
	class.
	* hir/tree/rust-hir-full-decls.h (class RangeFromToInclExpr):
	Remove forward declaration.
	* hir/tree/rust-hir-visitor.cc (DefaultHIRVisitor::walk): Remove
	RangeFromToInclExpr visit.
	* hir/tree/rust-hir-visitor.h: Likewise.
	* hir/tree/rust-hir.cc (RangeFromToInclExpr::to_string): Remove.
	(RangeFromToInclExpr::accept_vis): Remove.
	* typecheck/rust-hir-type-check-expr.cc (TypeCheckExpr::visit):
	Remove.
	* typecheck/rust-hir-type-check-expr.h: Remove
	RangeFromToInclExpr visit.

Signed-off-by: Enes Cevik <[email protected]>
---
 gcc/rust/backend/rust-compile-block.h         |  2 -
 gcc/rust/backend/rust-compile-expr.cc         | 23 ---------
 gcc/rust/backend/rust-compile-expr.h          |  1 -
 .../borrowck/rust-bir-builder-expr-stmt.cc    |  9 ----
 .../borrowck/rust-bir-builder-expr-stmt.h     |  1 -
 .../borrowck/rust-bir-builder-lazyboolexpr.h  |  1 -
 .../errors/borrowck/rust-bir-builder-struct.h |  1 -
 .../errors/borrowck/rust-function-collector.h |  1 -
 .../errors/privacy/rust-privacy-reporter.cc   |  7 ---
 .../errors/privacy/rust-privacy-reporter.h    |  1 -
 gcc/rust/checks/errors/rust-const-checker.cc  |  7 ---
 gcc/rust/checks/errors/rust-const-checker.h   |  1 -
 .../errors/rust-hir-pattern-analysis.cc       |  7 ---
 .../checks/errors/rust-hir-pattern-analysis.h |  1 -
 gcc/rust/checks/errors/rust-unsafe-checker.cc |  7 ---
 gcc/rust/checks/errors/rust-unsafe-checker.h  |  1 -
 gcc/rust/hir/rust-hir-dump.cc                 | 11 ----
 gcc/rust/hir/rust-hir-dump.h                  |  1 -
 gcc/rust/hir/tree/rust-hir-expr.cc            | 23 ---------
 gcc/rust/hir/tree/rust-hir-expr.h             | 47 -----------------
 gcc/rust/hir/tree/rust-hir-full-decls.h       |  1 -
 gcc/rust/hir/tree/rust-hir-visitor.cc         |  7 ---
 gcc/rust/hir/tree/rust-hir-visitor.h          |  5 --
 gcc/rust/hir/tree/rust-hir.cc                 | 18 -------
 .../typecheck/rust-hir-type-check-expr.cc     | 50 -------------------
 gcc/rust/typecheck/rust-hir-type-check-expr.h |  1 -
 26 files changed, 235 deletions(-)

diff --git a/gcc/rust/backend/rust-compile-block.h b/gcc/rust/backend/rust-compile-block.h
index 9d29e8fc504..aafb50a85a8 100644
--- a/gcc/rust/backend/rust-compile-block.h
+++ b/gcc/rust/backend/rust-compile-block.h
@@ -92,7 +92,6 @@ public:
   void visit (HIR::RangeFromExpr &) override {}
   void visit (HIR::RangeToExpr &) override {}
   void visit (HIR::RangeFullExpr &) override {}
-  void visit (HIR::RangeFromToInclExpr &) override {}
   void visit (HIR::RangeToInclExpr &) override {}
   void visit (HIR::BoxExpr &) override {}
   void visit (HIR::ReturnExpr &) override {}
@@ -183,7 +182,6 @@ public:
   void visit (HIR::RangeFromExpr &) override {}
   void visit (HIR::RangeToExpr &) override {}
   void visit (HIR::RangeFullExpr &) override {}
-  void visit (HIR::RangeFromToInclExpr &) override {}
   void visit (HIR::RangeToInclExpr &) override {}
   void visit (HIR::BoxExpr &) override {}
   void visit (HIR::ReturnExpr &) override {}
diff --git a/gcc/rust/backend/rust-compile-expr.cc b/gcc/rust/backend/rust-compile-expr.cc
index 4be42161bfd..2c901187da4 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -2636,29 +2636,6 @@ CompileExpr::visit (HIR::RangeFullExpr &expr)
     = Backend::constructor_expression (adt, false, {}, -1, expr.get_locus ());
 }
 
-void
-CompileExpr::visit (HIR::RangeFromToInclExpr &expr)
-{
-  tree from = CompileExpr::Compile (expr.get_from_expr (), ctx);
-  tree to = CompileExpr::Compile (expr.get_to_expr (), ctx);
-  if (from == error_mark_node || to == error_mark_node)
-    {
-      translated = error_mark_node;
-      return;
-    }
-
-  TyTy::BaseType *tyty = nullptr;
-  bool ok
-    = ctx->get_tyctx ()->lookup_type (expr.get_mappings ().get_hirid (), &tyty);
-  rust_assert (ok);
-
-  tree adt = TyTyResolveCompile::compile (ctx, tyty);
-
-  // make the constructor
-  translated = Backend::constructor_expression (adt, false, {from, to}, -1,
-						expr.get_locus ());
-}
-
 void
 CompileExpr::visit (HIR::ArrayIndexExpr &expr)
 {
diff --git a/gcc/rust/backend/rust-compile-expr.h b/gcc/rust/backend/rust-compile-expr.h
index 452fa28cff0..9dd1e7b6b4b 100644
--- a/gcc/rust/backend/rust-compile-expr.h
+++ b/gcc/rust/backend/rust-compile-expr.h
@@ -72,7 +72,6 @@ public:
   void visit (HIR::RangeFromExpr &expr) override;
   void visit (HIR::RangeToExpr &expr) override;
   void visit (HIR::RangeFullExpr &expr) override;
-  void visit (HIR::RangeFromToInclExpr &expr) override;
   void visit (HIR::ClosureExpr &expr) override;
   void visit (HIR::InlineAsm &expr) override;
   void visit (HIR::LlvmInlineAsm &expr) override;
diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.cc b/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
index b1403609226..b58f2cfe919 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.cc
@@ -489,15 +489,6 @@ ExprStmtBuilder::visit (HIR::RangeFullExpr &expr)
   return_expr (new InitializerExpr ({}), lookup_type (expr), expr.get_locus ());
 }
 
-void
-ExprStmtBuilder::visit (HIR::RangeFromToInclExpr &expr)
-{
-  auto from = visit_expr (expr.get_from_expr ());
-  auto to = visit_expr (expr.get_to_expr ());
-  return_expr (new InitializerExpr ({from, to}), lookup_type (expr),
-	       expr.get_locus ());
-}
-
 void
 ExprStmtBuilder::visit (HIR::RangeToInclExpr &expr)
 {
diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.h b/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.h
index 8d50b0715f9..7a6f911cadc 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.h
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-expr-stmt.h
@@ -93,7 +93,6 @@ protected: // Expr
   void visit (HIR::RangeFromExpr &expr) override;
   void visit (HIR::RangeToExpr &expr) override;
   void visit (HIR::RangeFullExpr &expr) override;
-  void visit (HIR::RangeFromToInclExpr &expr) override;
   void visit (HIR::RangeToInclExpr &expr) override;
   void visit (HIR::BoxExpr &expr) override;
   void visit (HIR::ReturnExpr &ret) override;
diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h b/gcc/rust/checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h
index d360508efc9..c3be0f8a92f 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-lazyboolexpr.h
@@ -237,7 +237,6 @@ protected: // Illegal at this position.
   void visit (HIR::RangeFromExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeToExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeFullExpr &expr) override { rust_unreachable (); }
-  void visit (HIR::RangeFromToInclExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeToInclExpr &expr) override { rust_unreachable (); }
   void visit (HIR::ReturnExpr &expr) override { rust_unreachable (); }
   void visit (HIR::BoxExpr &expr) override { rust_unreachable (); }
diff --git a/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h b/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h
index 7c669e1cc90..77d68749c3a 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h
@@ -143,7 +143,6 @@ protected:
   void visit (HIR::RangeFromExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeToExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeFullExpr &expr) override { rust_unreachable (); }
-  void visit (HIR::RangeFromToInclExpr &expr) override { rust_unreachable (); }
   void visit (HIR::RangeToInclExpr &expr) override { rust_unreachable (); }
   void visit (HIR::BoxExpr &expr) override { rust_unreachable (); }
   void visit (HIR::ReturnExpr &expr) override { rust_unreachable (); }
diff --git a/gcc/rust/checks/errors/borrowck/rust-function-collector.h b/gcc/rust/checks/errors/borrowck/rust-function-collector.h
index 439f5b37b56..d3625b64fd7 100644
--- a/gcc/rust/checks/errors/borrowck/rust-function-collector.h
+++ b/gcc/rust/checks/errors/borrowck/rust-function-collector.h
@@ -113,7 +113,6 @@ public:
   void visit (HIR::RangeFromExpr &expr) override {}
   void visit (HIR::RangeToExpr &expr) override {}
   void visit (HIR::RangeFullExpr &expr) override {}
-  void visit (HIR::RangeFromToInclExpr &expr) override {}
   void visit (HIR::RangeToInclExpr &expr) override {}
   void visit (HIR::BoxExpr &expr) override {}
   void visit (HIR::ReturnExpr &expr) override {}
diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc
index 2b4e87421de..5531328ba4b 100644
--- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc
+++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.cc
@@ -575,13 +575,6 @@ void
 PrivacyReporter::visit (HIR::RangeFullExpr &)
 {}
 
-void
-PrivacyReporter::visit (HIR::RangeFromToInclExpr &expr)
-{
-  expr.get_from_expr ().accept_vis (*this);
-  expr.get_to_expr ().accept_vis (*this);
-}
-
 void
 PrivacyReporter::visit (HIR::RangeToInclExpr &)
 {
diff --git a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h
index d8d37a53787..e6fcd7682c6 100644
--- a/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h
+++ b/gcc/rust/checks/errors/privacy/rust-privacy-reporter.h
@@ -125,7 +125,6 @@ types
   virtual void visit (HIR::RangeFromExpr &expr);
   virtual void visit (HIR::RangeToExpr &expr);
   virtual void visit (HIR::RangeFullExpr &expr);
-  virtual void visit (HIR::RangeFromToInclExpr &expr);
   virtual void visit (HIR::RangeToInclExpr &expr);
   virtual void visit (HIR::BoxExpr &expr);
   virtual void visit (HIR::ReturnExpr &expr);
diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc
index 7cfd81a4aa0..1a594bf9f0b 100644
--- a/gcc/rust/checks/errors/rust-const-checker.cc
+++ b/gcc/rust/checks/errors/rust-const-checker.cc
@@ -459,13 +459,6 @@ void
 ConstChecker::visit (RangeFullExpr &)
 {}
 
-void
-ConstChecker::visit (RangeFromToInclExpr &expr)
-{
-  expr.get_from_expr ().accept_vis (*this);
-  expr.get_to_expr ().accept_vis (*this);
-}
-
 void
 ConstChecker::visit (RangeToInclExpr &)
 {
diff --git a/gcc/rust/checks/errors/rust-const-checker.h b/gcc/rust/checks/errors/rust-const-checker.h
index d2c9b1bf431..a98bcc1620f 100644
--- a/gcc/rust/checks/errors/rust-const-checker.h
+++ b/gcc/rust/checks/errors/rust-const-checker.h
@@ -121,7 +121,6 @@ private:
   virtual void visit (RangeFromExpr &expr) override;
   virtual void visit (RangeToExpr &expr) override;
   virtual void visit (RangeFullExpr &expr) override;
-  virtual void visit (RangeFromToInclExpr &expr) override;
   virtual void visit (RangeToInclExpr &expr) override;
   virtual void visit (BoxExpr &expr) override;
   virtual void visit (ReturnExpr &expr) override;
diff --git a/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc b/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
index 81f872fdcc0..ef5ae34d3cb 100644
--- a/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
+++ b/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
@@ -330,13 +330,6 @@ void
 PatternChecker::visit (RangeFullExpr &)
 {}
 
-void
-PatternChecker::visit (RangeFromToInclExpr &expr)
-{
-  expr.get_from_expr ().accept_vis (*this);
-  expr.get_to_expr ().accept_vis (*this);
-}
-
 void
 PatternChecker::visit (RangeToInclExpr &expr)
 {
diff --git a/gcc/rust/checks/errors/rust-hir-pattern-analysis.h b/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
index eba88e306b7..639697b6fa2 100644
--- a/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
+++ b/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
@@ -95,7 +95,6 @@ private:
   virtual void visit (RangeFromExpr &expr) override;
   virtual void visit (RangeToExpr &expr) override;
   virtual void visit (RangeFullExpr &expr) override;
-  virtual void visit (RangeFromToInclExpr &expr) override;
   virtual void visit (RangeToInclExpr &expr) override;
   virtual void visit (BoxExpr &expr) override;
   virtual void visit (ReturnExpr &expr) override;
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc
index 0868aac3ae5..2eea755748b 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.cc
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc
@@ -560,13 +560,6 @@ void
 UnsafeChecker::visit (RangeFullExpr &)
 {}
 
-void
-UnsafeChecker::visit (RangeFromToInclExpr &expr)
-{
-  expr.get_from_expr ().accept_vis (*this);
-  expr.get_to_expr ().accept_vis (*this);
-}
-
 void
 UnsafeChecker::visit (RangeToInclExpr &expr)
 {
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.h b/gcc/rust/checks/errors/rust-unsafe-checker.h
index c964837ec1d..3382ae0f576 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.h
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.h
@@ -103,7 +103,6 @@ private:
   virtual void visit (RangeFromExpr &expr) override;
   virtual void visit (RangeToExpr &expr) override;
   virtual void visit (RangeFullExpr &expr) override;
-  virtual void visit (RangeFromToInclExpr &expr) override;
   virtual void visit (RangeToInclExpr &expr) override;
   virtual void visit (BoxExpr &expr) override;
   virtual void visit (ReturnExpr &expr) override;
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc
index 4228788bcd4..29b3ff92a8b 100644
--- a/gcc/rust/hir/rust-hir-dump.cc
+++ b/gcc/rust/hir/rust-hir-dump.cc
@@ -1391,17 +1391,6 @@ Dump::visit (RangeFullExpr &e)
   end ("RangeFullExpr");
 }
 
-void
-Dump::visit (RangeFromToInclExpr &e)
-{
-  begin ("RangeFromToInclExpr");
-
-  visit_field ("from", e.get_from_expr ());
-  visit_field ("to", e.get_to_expr ());
-
-  end ("RangeFromToInclExpr");
-}
-
 void
 Dump::visit (RangeToInclExpr &e)
 {
diff --git a/gcc/rust/hir/rust-hir-dump.h b/gcc/rust/hir/rust-hir-dump.h
index c6496497d2f..7440f8cc0c6 100644
--- a/gcc/rust/hir/rust-hir-dump.h
+++ b/gcc/rust/hir/rust-hir-dump.h
@@ -154,7 +154,6 @@ private:
   virtual void visit (RangeFromExpr &) override;
   virtual void visit (RangeToExpr &) override;
   virtual void visit (RangeFullExpr &) override;
-  virtual void visit (RangeFromToInclExpr &) override;
   virtual void visit (RangeToInclExpr &) override;
   virtual void visit (BoxExpr &) override;
   virtual void visit (ReturnExpr &) override;
diff --git a/gcc/rust/hir/tree/rust-hir-expr.cc b/gcc/rust/hir/tree/rust-hir-expr.cc
index b93309cdc79..e45178af415 100644
--- a/gcc/rust/hir/tree/rust-hir-expr.cc
+++ b/gcc/rust/hir/tree/rust-hir-expr.cc
@@ -930,29 +930,6 @@ RangeFullExpr::RangeFullExpr (Analysis::NodeMapping mappings, location_t locus)
   : RangeExpr (std::move (mappings), locus)
 {}
 
-RangeFromToInclExpr::RangeFromToInclExpr (Analysis::NodeMapping mappings,
-					  std::unique_ptr<Expr> range_from,
-					  std::unique_ptr<Expr> range_to,
-					  location_t locus)
-  : RangeExpr (std::move (mappings), locus), from (std::move (range_from)),
-    to (std::move (range_to))
-{}
-
-RangeFromToInclExpr::RangeFromToInclExpr (RangeFromToInclExpr const &other)
-  : RangeExpr (other), from (other.from->clone_expr ()),
-    to (other.to->clone_expr ())
-{}
-
-RangeFromToInclExpr &
-RangeFromToInclExpr::operator= (RangeFromToInclExpr const &other)
-{
-  RangeExpr::operator= (other);
-  from = other.from->clone_expr ();
-  to = other.to->clone_expr ();
-
-  return *this;
-}
-
 RangeToInclExpr::RangeToInclExpr (Analysis::NodeMapping mappings,
 				  std::unique_ptr<Expr> range_to,
 				  location_t locus)
diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h
index ad14764eba4..abd5e7d2dc5 100644
--- a/gcc/rust/hir/tree/rust-hir-expr.h
+++ b/gcc/rust/hir/tree/rust-hir-expr.h
@@ -2176,53 +2176,6 @@ protected:
   }
 };
 
-// Range from (inclusive) and to (inclusive) expression HIR node object
-// aka RangeInclusiveExpr; constructs a std::ops::RangeInclusive object
-class RangeFromToInclExpr : public RangeExpr
-{
-  std::unique_ptr<Expr> from;
-  std::unique_ptr<Expr> to;
-
-public:
-  std::string to_string () const override;
-
-  RangeFromToInclExpr (Analysis::NodeMapping mappings,
-		       std::unique_ptr<Expr> range_from,
-		       std::unique_ptr<Expr> range_to, location_t locus);
-  // outer attributes not allowed
-
-  // Copy constructor with clone
-  RangeFromToInclExpr (RangeFromToInclExpr const &other);
-
-  // Overload assignment operator to use clone
-  RangeFromToInclExpr &operator= (RangeFromToInclExpr const &other);
-
-  // move constructors
-  RangeFromToInclExpr (RangeFromToInclExpr &&other) = default;
-  RangeFromToInclExpr &operator= (RangeFromToInclExpr &&other) = default;
-
-  void accept_vis (HIRFullVisitor &vis) override;
-  void accept_vis (HIRExpressionVisitor &vis) override;
-
-  Expr &get_from_expr () { return *from; }
-  Expr &get_to_expr () { return *to; }
-
-protected:
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  RangeFromToInclExpr *clone_expr_impl () const override
-  {
-    return new RangeFromToInclExpr (*this);
-  }
-
-  /* Use covariance to implement clone function as returning this object rather
-   * than base */
-  RangeFromToInclExpr *clone_expr_without_block_impl () const override
-  {
-    return new RangeFromToInclExpr (*this);
-  }
-};
-
 // Range to (inclusive) expression HIR node object
 // aka RangeToInclusiveExpr; constructs a std::ops::RangeToInclusive object
 class RangeToInclExpr : public RangeExpr
diff --git a/gcc/rust/hir/tree/rust-hir-full-decls.h b/gcc/rust/hir/tree/rust-hir-full-decls.h
index 33a1986bccd..305dc7ef33c 100644
--- a/gcc/rust/hir/tree/rust-hir-full-decls.h
+++ b/gcc/rust/hir/tree/rust-hir-full-decls.h
@@ -104,7 +104,6 @@ class RangeFromToExpr;
 class RangeFromExpr;
 class RangeToExpr;
 class RangeFullExpr;
-class RangeFromToInclExpr;
 class RangeToInclExpr;
 class BoxExpr;
 class ReturnExpr;
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.cc b/gcc/rust/hir/tree/rust-hir-visitor.cc
index 5128ff4e1ca..00b46e742f6 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.cc
+++ b/gcc/rust/hir/tree/rust-hir-visitor.cc
@@ -422,13 +422,6 @@ void
 DefaultHIRVisitor::walk (RangeFullExpr &)
 {}
 
-void
-DefaultHIRVisitor::walk (RangeFromToInclExpr &expr)
-{
-  expr.get_from_expr ().accept_vis (*this);
-  expr.get_to_expr ().accept_vis (*this);
-}
-
 void
 DefaultHIRVisitor::walk (RangeToInclExpr &expr)
 {
diff --git a/gcc/rust/hir/tree/rust-hir-visitor.h b/gcc/rust/hir/tree/rust-hir-visitor.h
index d39c84fbb29..95e7bc53b5e 100644
--- a/gcc/rust/hir/tree/rust-hir-visitor.h
+++ b/gcc/rust/hir/tree/rust-hir-visitor.h
@@ -74,7 +74,6 @@ public:
   virtual void visit (RangeFromExpr &expr) = 0;
   virtual void visit (RangeToExpr &expr) = 0;
   virtual void visit (RangeFullExpr &expr) = 0;
-  virtual void visit (RangeFromToInclExpr &expr) = 0;
   virtual void visit (RangeToInclExpr &expr) = 0;
   virtual void visit (BoxExpr &expr) = 0;
   virtual void visit (ReturnExpr &expr) = 0;
@@ -244,7 +243,6 @@ public:
   virtual void visit (RangeFromExpr &node) override { walk (node); }
   virtual void visit (RangeToExpr &node) override { walk (node); }
   virtual void visit (RangeFullExpr &node) override { walk (node); }
-  virtual void visit (RangeFromToInclExpr &node) override { walk (node); }
   virtual void visit (RangeToInclExpr &node) override { walk (node); }
   virtual void visit (BoxExpr &node) override { walk (node); }
   virtual void visit (ReturnExpr &node) override { walk (node); }
@@ -386,7 +384,6 @@ protected:
   virtual void walk (RangeFromExpr &) final;
   virtual void walk (RangeToExpr &) final;
   virtual void walk (RangeFullExpr &) final;
-  virtual void walk (RangeFromToInclExpr &) final;
   virtual void walk (RangeToInclExpr &) final;
   virtual void walk (BoxExpr &) final;
   virtual void walk (ReturnExpr &) final;
@@ -528,7 +525,6 @@ public:
   virtual void visit (RangeFromExpr &) override {}
   virtual void visit (RangeToExpr &) override {}
   virtual void visit (RangeFullExpr &) override {}
-  virtual void visit (RangeFromToInclExpr &) override {}
   virtual void visit (RangeToInclExpr &) override {}
   virtual void visit (BoxExpr &) override {}
   virtual void visit (ReturnExpr &) override {}
@@ -761,7 +757,6 @@ public:
   virtual void visit (RangeFromExpr &expr) = 0;
   virtual void visit (RangeToExpr &expr) = 0;
   virtual void visit (RangeFullExpr &expr) = 0;
-  virtual void visit (RangeFromToInclExpr &expr) = 0;
   virtual void visit (RangeToInclExpr &expr) = 0;
   virtual void visit (BoxExpr &expr) = 0;
   virtual void visit (ReturnExpr &expr) = 0;
diff --git a/gcc/rust/hir/tree/rust-hir.cc b/gcc/rust/hir/tree/rust-hir.cc
index 2b9bd567014..51b588a0218 100644
--- a/gcc/rust/hir/tree/rust-hir.cc
+++ b/gcc/rust/hir/tree/rust-hir.cc
@@ -1656,12 +1656,6 @@ IfExprConseqElse::to_string () const
   return str;
 }
 
-std::string
-RangeFromToInclExpr::to_string () const
-{
-  return from->to_string () + "..=" + to->to_string ();
-}
-
 std::string
 ErrorPropagationExpr::to_string () const
 {
@@ -4246,12 +4240,6 @@ RangeFullExpr::accept_vis (HIRFullVisitor &vis)
   vis.visit (*this);
 }
 
-void
-RangeFromToInclExpr::accept_vis (HIRFullVisitor &vis)
-{
-  vis.visit (*this);
-}
-
 void
 RangeToInclExpr::accept_vis (HIRFullVisitor &vis)
 {
@@ -5050,12 +5038,6 @@ CallExpr::accept_vis (HIRExpressionVisitor &vis)
   vis.visit (*this);
 }
 
-void
-RangeFromToInclExpr::accept_vis (HIRExpressionVisitor &vis)
-{
-  vis.visit (*this);
-}
-
 void
 IfExprConseqElse::accept_vis (HIRExpressionVisitor &vis)
 {
diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
index 62f4197668f..41d71ccfda2 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc
@@ -1066,56 +1066,6 @@ TypeCheckExpr::visit (HIR::RangeFullExpr &expr)
   infered = item_type;
 }
 
-void
-TypeCheckExpr::visit (HIR::RangeFromToInclExpr &expr)
-{
-  auto lang_item_type = LangItem::Kind::RANGE_INCLUSIVE;
-
-  auto lang_item_defined = mappings.lookup_lang_item (lang_item_type);
-  // we need to have it maybe
-  if (!lang_item_defined)
-    {
-      rust_internal_error_at (expr.get_locus (),
-			      "unable to find relevant lang item: %s",
-			      LangItem::ToString (lang_item_type).c_str ());
-      return;
-    }
-  DefId respective_lang_item_id = lang_item_defined.value ();
-
-  // look it up and it _must_ be a struct definition
-  HIR::Item *item = mappings.lookup_defid (respective_lang_item_id).value ();
-
-  TyTy::BaseType *item_type = nullptr;
-  bool ok
-    = context->lookup_type (item->get_mappings ().get_hirid (), &item_type);
-  rust_assert (ok);
-  rust_assert (item_type->get_kind () == TyTy::TypeKind::ADT);
-  TyTy::ADTType *adt = static_cast<TyTy::ADTType *> (item_type);
-
-  // this is a single generic item lets assert that
-  rust_assert (adt->get_num_substitutions () == 1);
-
-  // resolve the range expressions and these types must unify then we use that
-  // type to substitute into the ADT
-  TyTy::BaseType *from_ty = TypeCheckExpr::Resolve (expr.get_from_expr ());
-  TyTy::BaseType *to_ty = TypeCheckExpr::Resolve (expr.get_to_expr ());
-  TyTy::BaseType *unified = unify_site (
-    expr.get_mappings ().get_hirid (),
-    TyTy::TyWithLocation (from_ty, expr.get_from_expr ().get_locus ()),
-    TyTy::TyWithLocation (to_ty, expr.get_to_expr ().get_locus ()),
-    expr.get_locus ());
-
-  // substitute it in
-  std::vector<TyTy::SubstitutionArg> subst_mappings;
-  const TyTy::SubstitutionParamMapping *param_ref = &adt->get_substs ().at (0);
-  subst_mappings.emplace_back (param_ref, unified);
-
-  TyTy::SubstitutionArgumentMappings subst (
-    subst_mappings, {}, adt->get_substitution_arguments ().get_regions (),
-    expr.get_locus ());
-  infered = SubstMapperInternal::Resolve (adt, subst);
-}
-
 void
 TypeCheckExpr::visit (HIR::ArrayIndexExpr &expr)
 {
diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.h b/gcc/rust/typecheck/rust-hir-type-check-expr.h
index 44e870697ce..100dc0ccf35 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-expr.h
+++ b/gcc/rust/typecheck/rust-hir-type-check-expr.h
@@ -74,7 +74,6 @@ public:
   void visit (HIR::RangeFromExpr &expr) override;
   void visit (HIR::RangeToExpr &expr) override;
   void visit (HIR::RangeFullExpr &expr) override;
-  void visit (HIR::RangeFromToInclExpr &expr) override;
   void visit (HIR::WhileLoopExpr &expr) override;
   void visit (HIR::ClosureExpr &expr) override;
   void visit (HIR::InlineAsm &expr) override;
-- 
2.50.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.