Don't use inline on pure virtual functions
Some compilers are picker then others about this but it really doesn't make
sense. Technically you are declaring a function without defining it do to
inline's new meaning. clang/llvm depending on version warns about or
completely ignores the issue. MSVC throws a link time error.