fn type_parameter_phantom_decl_compatibile(
    old_type_parameter: &StructTypeParameter,
    new_type_parameter: &StructTypeParameter,
) -> bool {
    // old_type_paramter.is_phantom => new_type_parameter.is_phantom
    !old_type_parameter.is_phantom || new_type_parameter.is_phantom
}
// Adding a phantom annotation to a parameter won't break clients because that can only increase the
// the set of abilities in struct instantiations. Put it differently, adding phantom declarations
// relaxes the requirements for clients.
Adding a phantom annotation to a parameter won't break clients because that can only increase the
the set of abilities in struct instantiations. Put it differently, adding phantom declarations
relaxes the requirements for clients.
Adding a phantom annotation to a parameter won ' t break clients because that can only increase the the set of abilities in struct instantiations . Put it differently adding phantom declarations relaxes the requirements for clients .
fn type_parameter_phantom_decl_compatibile(
    old_type_parameter: &StructTypeParameter,
    new_type_parameter: &StructTypeParameter,
) -> bool {
    // old_type_paramter.is_phantom => new_type_parameter.is_phantom
    !old_type_parameter.is_phantom || new_type_parameter.is_phantom
}
fn type_parameter_phantom_decl_compatibile ( old_type_parameter : & StructTypeParameter , new_type_parameter : & StructTypeParameter , ) -> bool { // old_type_paramter.is_phantom => new_type_parameter.is_phantom ! old_type_parameter . is_phantom || new_type_parameter . is_phantom }
Adding a phantom annotation to a parameter won't break clients because that can only increase the
the set of abilities in struct instantiations.
Adding a phantom annotation to a parameter won ' t break clients because that can only increase the the set of abilities in struct instantiations .
old_type_parameter
&StructTypeParameter
new_type_parameter
&StructTypeParameter