• Harris Hancock's avatar
    Fix build error in MSVC · c4629e37
    Harris Hancock authored
    Closes #479.
    
    If T is a template instantiation and `List<T, kind<T>()>` is the return or
    parameter type of a function (notably get, set, init, adopt, and disown
    functions) defined out-of-line from its definition, MSVC fails to match
    the definition with its declaration. This seems to be another consequence
    of poor expression SFINAE / constexpr support.
    
    An easy workaround is to avoid using kind<T>() and instead manually
    instantiate Kind_<T>, as in lite mode. When I converted Kind_<T> to use
    VoidSfinae, I had thought this solved the problem, but clearly there are
    still edge cases.
    c4629e37
Name
Last commit
Last update
..
cmake Loading commit data...
ekam-provider Loading commit data...
m4 Loading commit data...
samples Loading commit data...
src Loading commit data...
CMakeLists.txt Loading commit data...
LICENSE.txt Loading commit data...
Makefile.am Loading commit data...
Makefile.ekam Loading commit data...
README.txt Loading commit data...
afl-fuzz.sh Loading commit data...
capnp-json.pc.in Loading commit data...
capnp-rpc.pc.in Loading commit data...
capnp.pc.in Loading commit data...
configure.ac Loading commit data...
kj-async.pc.in Loading commit data...
kj.pc.in Loading commit data...
regenerate-bootstraps.sh Loading commit data...
setup-autotools.sh Loading commit data...
setup-ekam.sh Loading commit data...