From: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog:
* typecheck/rust-coercion.cc (TypeCoercionRules::do_coercion): Use as
member function.
(TypeCoercionRules::coerce_borrowed_pointer): Likewise.
Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
---
gcc/rust/typecheck/rust-coercion.cc | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/gcc/rust/typecheck/rust-coercion.cc
b/gcc/rust/typecheck/rust-coercion.cc
index cf285956d16..2b023ed0edd 100644
--- a/gcc/rust/typecheck/rust-coercion.cc
+++ b/gcc/rust/typecheck/rust-coercion.cc
@@ -88,15 +88,14 @@ TypeCoercionRules::do_coercion (TyTy::BaseType *receiver)
{
case TyTy::TypeKind::POINTER:
{
- TyTy::PointerType *ptr = static_cast<TyTy::PointerType *> (expected);
+ auto *ptr = expected->as<TyTy::PointerType> ();
try_result = coerce_unsafe_ptr (receiver, ptr, ptr->mutability ());
return !try_result.is_error ();
}
case TyTy::TypeKind::REF:
{
- TyTy::ReferenceType *ptr
- = static_cast<TyTy::ReferenceType *> (expected);
+ auto *ptr = expected->as<TyTy::ReferenceType> ();
try_result
= coerce_borrowed_pointer (receiver, ptr, ptr->mutability ());
return !try_result.is_error ();
@@ -272,12 +271,9 @@ TypeCoercionRules::coerce_borrowed_pointer (TyTy::BaseType
*receiver,
{
case TyTy::TypeKind::REF:
{
- TyTy::ReferenceType *from
- = static_cast<TyTy::ReferenceType *> (receiver);
- from_mutbl = from->mutability ();
+ from_mutbl = receiver->as<TyTy::ReferenceType> ()->mutability ();
}
break;
-
default:
{
rust_debug ("coerce_borrowed_pointer -- unify");
--
2.50.1