Define BlockTraits in terms of FieldTraits
Summary
The BlockTraits
define a way of block-recursion break condition by defining the field_type
only for non-scalar blocks. Unfortunately, the other case assumes that the block itself specifies a field_type
member type. This is not given for all kinds of matrices or possible block types used in the matrices, e.g., MatrixIndexSet
does not specify a field_type
directly.
Three possible solutions (at least)
- Replace
BlockTraits
completely byFieldTraits
. This would work for the scalar types as well, but might have other consequences I cannot oversee (This seems to be the cleanest solution) - Replace only the non-scalar specialization by
FieldTraits
. This is the minimal solutionproposed in this MR. It will just extend the possible block types. - Extend the other possible block types with a
field_type
member. Since we cannot oversee all possible types we might want to use, this is not really an option.
ToDo
-
Add Changelog entry
Edited by Simon Praetorius