+1 to this RFC, it feels consistent to make it an error, since we already forbid shadowing types/traits at the module level. And with associated items, traits and impls will look more like modules.
Slightly on topic, should we also forbid/lint name clashes between generic input parameters (types/lifetimes) and associated output types/lifetimes? We don’t yet know how troublesome this may be in practice, since AI is still WIP, but it’s something to think about.