This will allow the following code:
struct base {}; using cbase = const base; struct inherit : cbase { using cbase::cbase; // previously error: 'cbase' (aka 'const base') is not a direct base of 'inherit', cannot inherit constructors };
See https://stackoverflow.com/questions/50534219/inherit-from-const-type-passed-as-template-parameter
How are we getting a qualified type here? Is this actually a bug in getCanonicalTypeUnqualified?