Skip to content

Draft: Define BlockTraits in terms of FieldTraits

Simon Praetorius requested to merge issue/block-traits-field-traits into master

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)

  1. Replace BlockTraits completely by FieldTraits. This would work for the scalar types as well, but might have other consequences I cannot oversee (This seems to be the cleanest solution)
  2. Replace only the non-scalar specialization by FieldTraits. This is the minimal solution proposed in this MR. It will just extend the possible block types.
  3. 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.
Edited by Simon Praetorius

Merge request reports