pub fn is_named_subtype(&self, sub_type_name: &str, super_type_name: &str) -> bool {
        if sub_type_name == super_type_name {
            true
        } else if let (Some(sub_type), Some(super_type)) = (
            self.concrete_type_by_name(sub_type_name),
            self.concrete_type_by_name(super_type_name),
        ) {
            super_type.is_abstract() && self.is_possible_type(super_type, sub_type)
        } else {
            false
        }
    }
/// If the type is a named subtype.
If the type is a named subtype.
If the type is a named subtype .
pub fn is_named_subtype(&self, sub_type_name: &str, super_type_name: &str) -> bool {
        if sub_type_name == super_type_name {
            true
        } else if let (Some(sub_type), Some(super_type)) = (
            self.concrete_type_by_name(sub_type_name),
            self.concrete_type_by_name(super_type_name),
        ) {
            super_type.is_abstract() && self.is_possible_type(super_type, sub_type)
        } else {
            false
        }
    }
pub fn is_named_subtype ( & self , sub_type_name : & str , super_type_name : & str ) -> bool { if sub_type_name == super_type_name { true } else if let ( Some ( sub_type ) , Some ( super_type ) ) = ( self . concrete_type_by_name ( sub_type_name ) , self . concrete_type_by_name ( super_type_name ) , ) { super_type . is_abstract ( ) && self . is_possible_type ( super_type , sub_type ) } else { false } }
If the type is a named subtype.
If the type is a named subtype .
&self
sub_type_name
&str
super_type_name
&str
&self
sub_type_name
&str
super_type_name
&str