/Engine/Source/Runtime/CoreUObject/Public/UObject/WeakObjectPtr.h
Construct from an object pointer or something that can be implicitly converted to an object pointer
template<typename U, decltype(ImplicitConv< const [UObject](API\Runtime\CoreUObject\UObject\UObject) * >(std::declval< U >()))*> FWeakObjectPtr ( U && Object )