rust-needsdrop: fail a bit more eagerly to provide better debug feedback.
rust-needsdrop bug fix: handle singleton enum not doing downcast in more places.

This corner case is annoying.  I should look into whether it would be
better to just get rid of it and use Downcast everywhere, since I do
not think it is serving its former purpose anymore anyway.
More revisions to the root unit test suite.