11 ms·
Just to note, the proposal the author lists as "so complicated" is actually just fixing an inconsistency in the grammar where "class" and "typename" are not alw
by alschwalm 11y ago
Just to note, the proposal the author lists as "so complicated" is actually just fixing an inconsistency in the grammar where "class" and "typename" are not always synonymous in the context of template declarations. Specifically:
template<class T> class Foo;
template<typename T> class Foo;
Are the same. But, not when declaring a template with a parameter that is itself a template:
template<template<typename> class T> struct Foo; // Compiles
template<template<typename> typename T> struct Foo; // Does not compile
The proposal allows the second form to compile, fixing this inconsistency.