the Barton-Nackman-trick confusion
The Barton-Nackman-trick is presented in "C++ Templates" by David Vandevoorde and Nicolai Josuttis, page 174, section 11.7. It is not the CRTP and does not neccessarily involve it.
The Barton-Nackman-trick was invented to inject a non-member-function via an inline friend definition in a template class into the global scope. The technique was presented at a time when function-templates could not be overloaded.