This is expressly forbidden. &uninit is kinda like out in C#, just a compiler hint.
I’m not sure how to turn &uninit into a type. Because of this, I decided that, for now, it is fine if &uninit wasn’t a type. If there is a way to change that, then a future RFC could change that if my RFC goes through.
In an older version of my RFC, I did have that you can’t return a &uninit T, but that has since been removed.
What I mean by this is that if a function returns normally (without panicking), then all uninitialized values must be initialized. This is useful because it gives some guarantees when calling functions, if you call a function and it takes an &uninit, you know after the function that the value must have been initialized. It allows for purely local analysis of code.