DoubleDeez/MDViewModel

Linux and PS5 report warning when compiling in MDViewModelProvider_Cached

Closed this issue · 2 comments

Only PS5 Test and Linux.
When compiling on other platforms the warning is not hit.

Issue repros as of CL 39d3bb4 Dec 4

.
.

`@progress 'Compiling C++ source files...' 24%
In file included from ../../ShooterGame/Intermediate/Build/PS5/x64/ShooterGame/Test/MDViewModel/Module.MDViewModel.1_of_2.cpp:22:
In file included from .../../ShooterGame/Intermediate/Build/PS5/ShooterGame/Inc/MDViewModel/UHT/MDViewModelProvider_Cached.gen.cpp:8:

D:\ShooterGame\Plugins\MDViewModel\Source\MDViewModel\Public\ViewModelProviders\MDViewModelProvider_Cached.h(117,24): warning: 'ViewModelLifetime' is deprecated: The lifetime enum is deprecated, use ViewModelLifetimeTag instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. [-Wdeprecated-declarations]
struct MDVIEWMODEL_API FMDViewModelProvider_Cached_Settings
^
D:\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(1324,19): note: in implicit copy assignment operator for 'FMDViewModelProvider_Cached_Settings' first required here
*TypedDest++ = TypedSrc++;
[20/84] Compile Module.MDViewModel.1_of_2.cpp
^
D:\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(1159,3): note: in instantiation of member function 'UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>::Copy' requested here
TCppStructOps()
^
D:\ShooterGame\Intermediate\Build\PS5\ShooterGame\Inc\MDViewModel\UHT\MDViewModelProvider_Cached.gen.cpp(323,45): note: in instantiation of member function 'UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>::TCppStructOps' requested here
return (UScriptStruct::ICppStructOps
)new UScriptStruct::TCppStructOps<FMDViewModelProvider_Cached_Settings>();
^
D:\ShooterGame\Plugins\MDViewModel\Source\MDViewModel\Public\ViewModelProviders\MDViewModelProvider_Cached.h(134,2): note: 'ViewModelLifetime' has been explicitly marked deprecated here
UE_DEPRECATED(All, "The lifetime enum is deprecated, use ViewModelLifetimeTag instead.")
^
D:\Engine\Source\Runtime\Core\Public\Misc\CoreMiscDefines.h(259,43): note: expanded from macro 'UE_DEPRECATED'
#define UE_DEPRECATED(Version, Message) [[deprecated(Message " Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.")]]
`

Ah! the constructors! I tried moving that macro around to a couple different spots.

The warnings have been bothering me for months, but your error log helped me realize the implicit functions are subject to the deprecations.