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;