https://gcc.gnu.org/g:b05434dec8dd44b063c63379653d3b4c58c8ead8

commit b05434dec8dd44b063c63379653d3b4c58c8ead8
Author: Jakub Dupak <d...@jakubdupak.com>
Date:   Sun Dec 3 11:15:06 2023 +0100

    TyTy: refactor to new API
    
    gcc/rust/ChangeLog:
    
            * typecheck/rust-hir-type-check-type.cc 
(TypeCheckType::resolve_root_path): Refactor.
    
    Signed-off-by: Jakub Dupak <d...@jakubdupak.com>

Diff:
---
 gcc/rust/typecheck/rust-hir-type-check-type.cc | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/gcc/rust/typecheck/rust-hir-type-check-type.cc 
b/gcc/rust/typecheck/rust-hir-type-check-type.cc
index 9fa64e10e8a2..e8c276e76fda 100644
--- a/gcc/rust/typecheck/rust-hir-type-check-type.cc
+++ b/gcc/rust/typecheck/rust-hir-type-check-type.cc
@@ -442,14 +442,9 @@ TypeCheckType::resolve_root_path (HIR::TypePath &path, 
size_t *offset,
       root_tyty = lookup;
 
       // this enforces the proper get_segments checks to take place
-      bool is_adt = root_tyty->get_kind () == TyTy::TypeKind::ADT;
-      if (is_adt)
-       {
-         const TyTy::ADTType &adt
-           = *static_cast<const TyTy::ADTType *> (root_tyty);
-         if (adt.is_enum ())
-           return root_tyty;
-       }
+      auto *maybe_adt = root_tyty->try_as<const TyTy::ADTType> ();
+      if (maybe_adt && maybe_adt->is_enum ())
+       return root_tyty;
     }
 
   return root_tyty;

Reply via email to