fn replace_type()

in gazebo_derive/src/coerce.rs [113:128]


fn replace_type(ty: &mut Type, idents: &HashSet<Ident>, prefix: &str) -> Option<()> {
    match ty {
        Type::Path(x)
            if x.qself.is_none()
                && x.path.segments.len() == 1
                && x.path.segments[0].arguments.is_empty() =>
        {
            let i = &mut x.path.segments[0].ident;
            if idents.contains(i) {
                *i = format_ident!("{}{}", prefix, i);
            }
            Some(())
        }
        _ => descend_type(ty, |ty| replace_type(ty, idents, prefix)),
    }
}