Expression SFINAE fixes in ApplyTuple
authorElizabeth Smith <elizabeths@fb.com>
Thu, 8 May 2014 15:20:48 +0000 (08:20 -0700)
committerDave Watson <davejwatson@fb.com>
Tue, 20 May 2014 19:53:58 +0000 (12:53 -0700)
commit2cb63bedc5b9342f2f80491da7e53afd97de1927
tree4a56f3f9d06f90ee89f61f23eb82dec4963607e1
parentc31b528b862af14917131eeb9631dd1f5d4d4477
Expression SFINAE fixes in ApplyTuple

Summary:
MSVC does not support Expression SFINAE

http://stackoverflow.com/questions/12654067

this is a very nice c++11 feature that makes for some nice clean templating

But of course MSVC can't have nice things - it partially implements this when it feels like it, so some will work and some will need the nonsense

@override-unit-failures

There will be more of these little template helper fixes  - they make the code a bit more complex but don't actually change anything when compiled

The accompanying fix in the test also does nothing but work around an MSVC compiler bug where it loses it's mind over the global namespace

Test Plan: fbconfig -r folly && fbmake runtests

Reviewed By: delong.j@fb.com

FB internal diff: D1312700
folly/ApplyTuple.h
folly/test/ApplyTupleTest.cpp