No doubt this is what is often
wanted. But the help for -uvis-
is explicit:
Note that uvis will not impute observations for which
a value of a variable in xvarlist is
missing. Only complete cases within xvarlist are used.
I still find that unclear and not what I would expect! I agree that it
cannot and should not impute observations when one or more x's have missing
values. But, it should not be imputing in the first place if y is not
missing, it should just plug in the observed value of y. As it stands, the
program can actually create more missing data than was there in the first
place. I suspect this is an unintended design flaw; at least I cannot
think of any reason why you would want it to behave this way.