• 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
c++ Loading commit data...
doc Loading commit data...
highlighting Loading commit data...
security-advisories Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
RELEASE-PROCESS.md Loading commit data...
appveyor.yml Loading commit data...
mega-test-kenton-home.cfg Loading commit data...
mega-test-kenton-work.cfg Loading commit data...
mega-test-quick.cfg Loading commit data...
mega-test.py Loading commit data...
release.sh Loading commit data...
style-guide.md Loading commit data...
super-test.sh Loading commit data...