I agree, better to add private cast macros (which are no-ops on the appropriate version of ICU) to convert incoming/outgoing public API types, and leave the actual public API types alone.
> On May 2, 2017, at 10:40 AM, Myles C. Maxfield <mmaxfi...@apple.com> wrote: > > The fact that we use ICU is an implementation detail. It seems wrong to let > this affect our public API. > > —Myles > >> On May 2, 2017, at 10:31 AM, Konstantin Tokarev <annu...@yandex.ru> wrote: >> >> Hello, >> >> ICU 59.1 release came out recently, featuring major source compatibility >> break. Notably, they've changed type of UChar to be char16_t, which does not >> allow automatic type conversion from unsigned short in C++ code. >> >> Possible compilation fix is patch [1], however it changes definitions of >> JSChar and WKChar in public headers. Another problem is keeping >> compatibility with older ICU releases, that requires ICU version check in >> public headers. >> >> Any thoughts how should it be resolved? >> >> [1] >> https://git.archlinux.org/svntogit/packages.git/tree/trunk/icu59.patch?h=packages/webkit2gtk >> >> -- >> Regards, >> Konstantin >> _______________________________________________ >> webkit-dev mailing list >> webkit-dev@lists.webkit.org >> https://lists.webkit.org/mailman/listinfo/webkit-dev > > _______________________________________________ > webkit-dev mailing list > webkit-dev@lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-dev _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev