Skip to content

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

Merge request reports

Loading