Introduction of value semantics for ReferenceElement changed semantics of integrationOuterNormal()
Before the restructuring the methods integrationOuterNormal()
, position()
and type()
of ReferenceElement
returned const references to cached values. After the change these methods all return copies. While it seems natural to return values if the reference elements are returned by values themselves, it breaks compatibility.
A consequence of this are the broken tests in dune-localfunctions. There, the Raviart-Thomas elements store pointers to the result of integrationOuterNormal()
. While this could be adjusted in dune-localfunctions, users may also run into the same problem breaking their code without an error message.