Add a pair of overloads to dynamic::setDefault
Summary:
This is a workaround to an (already reported) bug in MSVC that results in it not considering the constructors of `dynamic` when attempting to construct the default value of a parameter if the type of the parameter is a universal reference.
It works by simply adding a pair of template specializations that cause MSVC to properly construct the default value.
This also removes the default value on the universal reference version, as the only things that should be using that overload now are non-dynamic values.
Reviewed By: yfeldblum
Differential Revision:
D3704990
fbshipit-source-id:
7b85c4e48a1a1023bc2fe0a76a9632b11c4e9364