avoid excessive instantiations of std::declval in Function
Summary:
It turns out that instantiating this function declaration template so widely measurably affects build speed. Prefer alternative techniques, such as `FOLLY_DECLVAL`.
```name=trunk
$ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp
8,462,001,355 instructions:uP
```
```name=branch
$ foundation/scripts/run-perf-compile --syntax folly/futures/test/FutureTest.cpp
8,362,569,934 instructions:uP
```
Reviewed By: Gownta, luciang
Differential Revision: D32973365
fbshipit-source-id: 6930f75e04e0bb9ac4216b08645e67b98ca2c2f3
Showing
Please register or sign in to comment