https://reviews.llvm.org/D29877 implements a useful -Wunused-template diagnostic detects unused internal linkage templates. This helps finding potential ODR issues in headers.
Many years ago we made the diagnostic optional because libcxx was not ready. I am hoping @ldionne to help with that if we have not cleaned up libcxx already.
Why is this unused? f<long>() in foo() should cause this to be used, right?
How should a user silence this diagnostic without disabling it entirely?