Remove static assert from templated function

There was a static assert in a templated function that was never
supposed to be used. Some compilers were fine as long as there was no
use of the templated function, but others errored out anyway. Change the
implementation to use the =delete keyword instead.

This won't have as nice of an error message, but you would have to jump
through some hoops to get to this point anyway. If this still does not
work, we could just probably remove the invalid templated function. The
compiler error would get even more obfuscated, but again I don't expect
anyone to actually run into it.
This commit is contained in:
Kenneth Moreland 2017-01-17 12:38:13 -07:00
parent 72b85559c2
commit 058439851e

@ -224,18 +224,13 @@ struct Transport<vtkm::cont::arg::TransportTagKeysIn,
return object.PrepareForInput(Device());
}
// If you get a compile error here, it means that you have used a KeysIn
// tag in your ControlSignature that was not marked as the InputDomain.
template<typename InputDomainType>
VTKM_CONT
ExecObjectType operator()(const ContObjectType &,
const InputDomainType &,
vtkm::Id) const
{
// If you get a compile error here, it means that you have used a KeysIn
// tag in your ControlSignature that was not marked as the InputDomain.
VTKM_STATIC_ASSERT_MSG(
false, "A Keys class was used in a position that is not the input domain.");
return ExecObjectType();
}
vtkm::Id) const = delete;
};
template<typename ArrayHandleType, typename Device>