Casting from a type to itself should always be possible. Make this simple for all users, and add tests to ensure we keep being able to do this. Ref: https://reviews.llvm.org/D125543
The test failures look real here, can you take a look? Looks like this doesn't properly handle the non-const case.
Found a better way to do it (I think) that avoids yet another partial specialization of CastInfo to avoid future ambiguous partial specialization shenanigans.