This is totally doable, it just introduces some novel concept into the language - “value alias” (like type aliases type A = u8;
, but for values).
It would be a bit a bit strange to support such a thing, but make it available only for Self
.
(There are also a couple of questions to solve - what exactly generic parameter substitutions are used for this Self
, how hard we work to retrieve this Self
(e.g. is it available if the impl is for a type alias (maybe even associated) of a struct with a constructor, but not for the struct itself).)