Because the stored UObject type within TWeakInterfacePtr is non-const, the class does not support const types. We have made a change to correct this:
template<class T>
struct TWeakInterfacePtr
{
using TObjectType = typename TCopyQualifiersFromTo<T, UObject>::Type;
then for every mention of UObject
, we replace it with TObjectType
, so that it carries the modifiers from the template type.