My general takeaway here is it’s a really weird distinction that (a) has a good reason to exist, because it is important that the test binary, like rustc itself, be able to be invoked by tools which are not cargo but (b) is nonetheless a significant negative for folks trying to learn their tools!