added `needs :cxx11`