[Pre-RFC] Forward impls

Last year, I posted a similar proposition for forward declaring impls (“requiring” was the term that I used, but forward declaring is actually better).

There was a this difference though: the crate that fills the declaration should provide nothing else than the impl. This is to disentangle dependencies; depending on a crate that provides a particular impl filling the forward declaration for functionality unrelated to the forward declaration becomes unlikely. I think that this would prevent ecosystem splits, but of course, it might make the forward declaring functionality a bit less useful. Anyway, it’s one more idea for preventing splits.

Edit: Oops, the proposals are different in other aspects too. Well, whatever; the idea that the crate providing an impl isn’t allowed to provide anything else stands on its own.

1 Like