While thinking about this question (and specifically YCor's remarks), I tried to remember what can be said about rings such that every torsion-free module is free, and I could not; and such things, while certainly well-known, are very difficult to search for (either using Google or in books). We need a summary.
So let me ask the following:
Over any (commutative) ring, a free module is projective, a projective module is flat and a flat module is torsion-free. For each of these implications, what conditions are known on the ring such that the converse holds? In other words:
Over which rings is every torsion-free module flat?
Over which rings is every flat module projective?
Over which rings is every projective module free?
In each case, the class of rings in question may have a name, and there are a number of standard necessary or sufficient, or maybe necessary-and-sufficient conditions, for the implication to hold, so I am asking for a summary and references. Maybe add the same questions when restricted to finitely generated modules. And for bonus points, remove the standing “commutative” assumption.
I am aware of many partial answers to this question, like the fact that torsion-free modules over Prüfer domains are flat, that finitely generated flat modules over a Noetherian or local ring are projective, that rings over which every flat module is projective are known as “perfect” (but I know essentially nothing about them), and that projective modules over local rings or finitely generated projective modules over PIDs are free. The point of this question would be to gather all these kinds of facts in a single place, if possible in a readable way. (Of course, if a book already exists that does this, please refer to it!)