clang3.4で動きました。
#include <type_traits> #include <cassert> //通常の関数の戻り値の型推論 template <class T, class U> constexpr auto add(T t, U u) { return t + u; } //constexpr関数の制限緩和 constexpr int factorial(int n) { int sum = 1; for (int i = n; 0 < i; --i) { sum *= i; } return sum; } //変数テンプレート template <class T, class U> constexpr bool is_same_c = std::is_same<T, U>::value; int main() { //2進数リテラル constexpr int a = 0b10; //decltype(auto) decltype(auto) b = a; //ジェネリックラムダ auto sub = [](auto l, auto r){return l - r;}; static_assert(add(a, b) == 4, ""); assert(sub(a, b) == 0); static_assert(is_same_c<int, int>, ""); static_assert(factorial(5) == 120, ""); }
他には一般化されたラムダキャプチャとか、数値の桁区切りとか、deprecated属性とか、実行時サイズの配列とかが入ることが確定しているみたいです。