Fix runaway deprecation suppression
Field.h had a runaway deprecation suppression where the pragmas to suppress deprecation warnings were turned on but not properly turned off. This caused deprecation warnings to be turned off for anything including Field.h (directly or indirectly), and consequently lots of use of deprecated features went unnoticed.
The majority of the warnings were caused by the use of the deprecated
Cast
, CopyTo
, and ResetTypes
methods of UnknownArrayHandle
(or
VariantArrayHandle
). Both Cast
and CopyTo
have been subsumed by
AsArrayHandle
(to make the functionality more clear). ResetTypes
now
requires a second template argument to define the storage types to try.