Fix stack allocation assert
Reference issue
What does this implement/fix?
We often employ the pattern:
class Evaluator: evaluator<PlainObject>
so that Evaluator
can conveniently inherit the traits of PlainObject
. I see no harm in this, and it makes a lot of sense. In this case, the evaluator of VectorBlock<double, 4096>
inherits Matrix<double, 4096, 1>
, which triggers the stack allocation limit static assert, even if no Matrix<double, 4096, 1>
objects are created. This is because I moved the static assert from the constructor to the class to support trivial construction. This patch moves the static assert back into the constructor, but only if EIGEN_NO_DEBUG
is defined, in which case we don't care about performance.
Additional information
Edited by Rasmus Munk Larsen