In this post we will look at requires -expression as a stand-alone feature, and explore its limits. A requires -expression, in short, tests if a given set of template parameters provides a desired interface: member functions, free functions, associated types, and more.
https://akrzemi1.wordpress.com/2020/01/29/requires-expression/

