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