Thursday 19th September 2013: 5.43pm. So back to the GSoC grindstone now I have a few days before more interviews. Current problem, the one which kept me up last night, is that the newly released VS2013 provides an unusual mix of variadic templates, a brittle decltype() and a std::result_of<> that isn't SFINAE friendly. The result is that code fails when trying to use AFIO's variadic template overloads because VS2013 tries instantiating std::result_of<> for template types it doesn't like, and instead of disabling the overload as an overload resolution possibility like on any other compiler, VS2013 barfs a compilation error.
Having slept on the problem, I think I need some metaprogramming to prefilter the type entering std::result_of to have it spit out a "safe" value if the type being passed in is not callable. It's a hack, sure, but I know what the other overloads are here, so I can simply hard code which other overloads must be ignored so the variadic template becomes neutered.
VS2013. Such a leap forward, yet it's still VS2013 which needs all the effort :(
#visualstudio2013 #variadic-templates #gsoc2013 #boostafio