I’ve got a function for which the ‘where’ clause started to get complex. In particular, there was a
where F: FnMut(u8, u16, &str). This particular signature was being used in a number of places. So I refactored it into a type alias:
pub type Some = FnMut(u8, u17, &str). Good practice and all that. But rustc doesn’t like it, moaning about
type aliases cannot be used for traits. Why? Is there some edge case that makes this difficult?
This seems to violate the principle of least surprise. As a moderate rust user, this is a consistent experience for me. Perhaps I’m not just not tuned into the ‘rust’ view of the world.