Workaround MSVC bug with referencing template constructors before definition
authorAndrew Krieger <andrew.krieger@oculus.com>
Wed, 18 Oct 2017 22:44:01 +0000 (15:44 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Wed, 18 Oct 2017 22:51:42 +0000 (15:51 -0700)
commitca0e432d0fbd3140e4eb172641588ffdbe30b439
tree81ecefeddef379fb1b985bd7e742d87131b10be5
parentdbf0c41058bf6f45ed016856515700842ae73f1a
Workaround MSVC bug with referencing template constructors before definition

Summary:
MSVC has a bug where it is unable to match an out-of-line constructor (and
possibly other kind of member) to the definition if it is implicitly referenced
before the definition is processed. The guilty method is
SemiFuture<Unit> makeSemiFuture(). Moving it after the constructor definitions
resolves the issue.

Reviewed By: yfeldblum

Differential Revision: D6042277

fbshipit-source-id: 97fe97c0edf3df3d9e3b808968b450c73959b600
folly/futures/Future-inl.h