aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/checks/errors
diff options
context:
space:
mode:
authorPhilip Herron <herron.philip@googlemail.com>2025-02-15 21:22:16 +0000
committerArthur Cohen <arthur.cohen@embecosm.com>2025-03-24 13:07:06 +0100
commit271a348960418b579787858072880f35da47c59c (patch)
tree045228a63b954e0f00cca7024595d6915a34c59b /gcc/rust/checks/errors
parent093ae1547cbaf1b818b96d25d1d0235b69255c24 (diff)
downloadgcc-271a348960418b579787858072880f35da47c59c.zip
gcc-271a348960418b579787858072880f35da47c59c.tar.gz
gcc-271a348960418b579787858072880f35da47c59c.tar.bz2
gccrs: Add name resolution and HIR lowering for ImplTraitType's
Our AST has ImplTraitType for multiple bounds and a singular ImplTraitTypeOneBound, this patch desugars these into a simple HIR::ImplTraitType. It also does the name resolution for this. gcc/rust/ChangeLog: * checks/errors/borrowck/rust-bir-builder-struct.h: remove HIR::ImplTraitTypeOneBound * checks/errors/borrowck/rust-function-collector.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-ast-lower-type.cc (ASTLoweringType::translate): likewise (ASTLoweringType::visit): likewise * hir/rust-ast-lower-type.h: cleanup * hir/rust-hir-dump.cc (Dump::visit): remove ImplTraitTypeOneBound * hir/rust-hir-dump.h: likewise * hir/tree/rust-hir-full-decls.h (class ImplTraitTypeOneBound): likewise * hir/tree/rust-hir-type.h (class ImplTraitTypeOneBound): likewise * hir/tree/rust-hir-visitor.h: likewise * hir/tree/rust-hir.cc (ImplTraitTypeOneBound::as_string): likewise (ImplTraitTypeOneBound::accept_vis): likewise * resolve/rust-ast-resolve-type.cc (ResolveType::go): likewise (ResolveType::visit): likewise * resolve/rust-ast-resolve-type.h: add name resolution * typecheck/rust-hir-type-check-type.h: likewise Signed-off-by: Philip Herron <herron.philip@googlemail.com>
Diffstat (limited to 'gcc/rust/checks/errors')
-rw-r--r--gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h4
-rw-r--r--gcc/rust/checks/errors/borrowck/rust-function-collector.h1
-rw-r--r--gcc/rust/checks/errors/rust-const-checker.cc4
-rw-r--r--gcc/rust/checks/errors/rust-const-checker.h1
-rw-r--r--gcc/rust/checks/errors/rust-hir-pattern-analysis.cc4
-rw-r--r--gcc/rust/checks/errors/rust-hir-pattern-analysis.h1
-rw-r--r--gcc/rust/checks/errors/rust-unsafe-checker.cc4
-rw-r--r--gcc/rust/checks/errors/rust-unsafe-checker.h1
8 files changed, 0 insertions, 20 deletions
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 18ddc19..94fcecd 100644
--- a/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h
+++ b/gcc/rust/checks/errors/borrowck/rust-bir-builder-struct.h
@@ -250,10 +250,6 @@ protected:
void visit (HIR::ImplTraitType &type) override { rust_unreachable (); }
void visit (HIR::TraitObjectType &type) override { rust_unreachable (); }
void visit (HIR::ParenthesisedType &type) override { rust_unreachable (); }
- void visit (HIR::ImplTraitTypeOneBound &type) override
- {
- rust_unreachable ();
- }
void visit (HIR::TupleType &type) override { rust_unreachable (); }
void visit (HIR::NeverType &type) override { rust_unreachable (); }
void visit (HIR::RawPointerType &type) 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 5de503d..cdb20e8 100644
--- a/gcc/rust/checks/errors/borrowck/rust-function-collector.h
+++ b/gcc/rust/checks/errors/borrowck/rust-function-collector.h
@@ -180,7 +180,6 @@ public:
void visit (HIR::ImplTraitType &type) override {}
void visit (HIR::TraitObjectType &type) override {}
void visit (HIR::ParenthesisedType &type) override {}
- void visit (HIR::ImplTraitTypeOneBound &type) override {}
void visit (HIR::TupleType &type) override {}
void visit (HIR::NeverType &type) override {}
void visit (HIR::RawPointerType &type) override {}
diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc
index 97b3528..4904322 100644
--- a/gcc/rust/checks/errors/rust-const-checker.cc
+++ b/gcc/rust/checks/errors/rust-const-checker.cc
@@ -847,10 +847,6 @@ ConstChecker::visit (ParenthesisedType &)
{}
void
-ConstChecker::visit (ImplTraitTypeOneBound &)
-{}
-
-void
ConstChecker::visit (TupleType &)
{}
diff --git a/gcc/rust/checks/errors/rust-const-checker.h b/gcc/rust/checks/errors/rust-const-checker.h
index 9a618b8..00f57988 100644
--- a/gcc/rust/checks/errors/rust-const-checker.h
+++ b/gcc/rust/checks/errors/rust-const-checker.h
@@ -191,7 +191,6 @@ private:
virtual void visit (ImplTraitType &type) override;
virtual void visit (TraitObjectType &type) override;
virtual void visit (ParenthesisedType &type) override;
- virtual void visit (ImplTraitTypeOneBound &type) override;
virtual void visit (TupleType &type) override;
virtual void visit (NeverType &type) override;
virtual void visit (RawPointerType &type) override;
diff --git a/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc b/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
index 79416b5..257f4cd 100644
--- a/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
+++ b/gcc/rust/checks/errors/rust-hir-pattern-analysis.cc
@@ -685,10 +685,6 @@ PatternChecker::visit (ParenthesisedType &)
{}
void
-PatternChecker::visit (ImplTraitTypeOneBound &)
-{}
-
-void
PatternChecker::visit (TupleType &)
{}
diff --git a/gcc/rust/checks/errors/rust-hir-pattern-analysis.h b/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
index 9c43d41..2171340 100644
--- a/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
+++ b/gcc/rust/checks/errors/rust-hir-pattern-analysis.h
@@ -164,7 +164,6 @@ private:
virtual void visit (ImplTraitType &type) override;
virtual void visit (TraitObjectType &type) override;
virtual void visit (ParenthesisedType &type) override;
- virtual void visit (ImplTraitTypeOneBound &type) override;
virtual void visit (TupleType &type) override;
virtual void visit (NeverType &type) override;
virtual void visit (RawPointerType &type) override;
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc
index fadfd9d..8aa59ee 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.cc
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc
@@ -957,10 +957,6 @@ UnsafeChecker::visit (ParenthesisedType &)
{}
void
-UnsafeChecker::visit (ImplTraitTypeOneBound &)
-{}
-
-void
UnsafeChecker::visit (TupleType &)
{}
diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.h b/gcc/rust/checks/errors/rust-unsafe-checker.h
index 8dc6ab7..63098fe 100644
--- a/gcc/rust/checks/errors/rust-unsafe-checker.h
+++ b/gcc/rust/checks/errors/rust-unsafe-checker.h
@@ -172,7 +172,6 @@ private:
virtual void visit (ImplTraitType &type) override;
virtual void visit (TraitObjectType &type) override;
virtual void visit (ParenthesisedType &type) override;
- virtual void visit (ImplTraitTypeOneBound &type) override;
virtual void visit (TupleType &type) override;
virtual void visit (NeverType &type) override;
virtual void visit (RawPointerType &type) override;