<div dir="ltr"><div><div><div><div><div>Hit an issue when trying to compile bindings to QtQuick with clang:<br><br></div>QSGMaterial has:<br><br>virtual char const *const *attributeNames() const = 0;<br><br></div>Smoke overrides this with:<br>
<br>virtual char* const * attributeNames() const {<br><br></div>And clang fails with:<br><br>type of virtual function 'attributeNames' is not covariant with the return type of the function it overrides
      ('char *const *' is not derived from 'const char *const *')<br><br>I'm wondering if this has anything to do with the unconventional (but arguably best practice) specification of the type as "char const * const *" instead of "const char * const *". Kind of funny how clang normalizes this back to "const char * const *". From looking at the code, it looks like the parser may be missing that the type (char) is const. But I can't figure out why. That code is beyond me.<br>
</div><br></div>Thanks for any help,<br>Michael<br><div><span class=""><span></span></span></div></div>