Remove transition code for old ReferenceElement and returning references
- Remove code from
Transitional::ReferenceElement
that supported the old (pre-2.6)ReferenceElement
- Deprecate
Transitional::ReferenceElement
-
ReferenceElement
methods returning references now return values
Merge request reports
Activity
- Resolved by Christoph Grüninger
@simon.praetorius Can you please be so kind and have look into this MR? I am not sure whether I really did this right. Also having a not working deprecation of
Transition::ReferenceElement
bugs me. Maybe you have an easy trick to get the warnings. Or we can decide that this code is rarely used and only few people are affected.
mentioned in merge request !137 (closed)
added 1 commit
- b6d5d5b3 - Remove outdated deprecations from ReferenceElement
- Resolved by Christoph Grüninger
I would run a system test that includes alugrid, pdelab, dune-fem and other staging and extensions modules. So, maybe we can at least check whether there is any issue showing up. Probably there is some old code using the deprecated reference elements. Some time ago I checked curvilinear grid and it used the old reference elements, but had also other issues with recent dune releases. (I might be updated already)
- Resolved by Christoph Grüninger
added 44 commits
-
b6d5d5b3...3b860890 - 40 commits from branch
master
- cb7d5ce9 - [cleanup] Remove ConstructibleDeprecatedReferenceElement
- b4cade69 - [cleanup] Remove DeprecatedReferenceElement
- 42750dc7 - Deprecate Dune::Transitional::ReferenceElement
- 9ce82155 - Remove outdated deprecations from ReferenceElement
Toggle commit list-
b6d5d5b3...3b860890 - 40 commits from branch
added 1 commit
- 18e8539c - Force deprecation warning with detected_or_fallback utility
added 10 commits
-
18e8539c...2edf5d8b - 4 commits from branch
master
- f2e942ae - Remove ConstructibleDeprecatedReferenceElement
- 2d991969 - Remove DeprecatedReferenceElement
- 833f6251 - Deprecate Dune::Transitional::ReferenceElement
- 48b51361 - Remove code and documentation for transitional ref element
- e4113d90 - Remove use of Transitional::ReferenceElement in tests
- 4b2ccb8f - Remove outdated deprecations from ReferenceElement
Toggle commit list-
18e8539c...2edf5d8b - 4 commits from branch
@simon.praetorius I overhauled this merge request. It works, clean commits. Do you mind reviewing it?
- Resolved by Carsten Gräser
@gruenich Can you please update the MR description. It's not even a sentence and only describes a problem, but not, what this MR actually does.
I furthermore don't understand this: You removed the 'deprecation'-warnings in several methods (e.g.
position()
) which stated that these methods will return values after 2.6. However, the announced change has not been implemented. The implementation class still returnsconst
references that are forwarded by the wrapper. Did we revert the decision on the interface change? If yes, it would be nice to add this bit of information to the commit message. If it's still intended to return values, the return type of the wrapper should be changed fromdecltype(auto)
toauto
.
added 1 commit
- 9417785d - Several ReferenceElement methods return by value instead of references
mentioned in merge request dune-grid!694 (merged)
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
- Resolved by Christoph Grüninger
I think this MR should be merged after some minor points are fixed. There is a lot of long-ago deprecated code that this MR removes. There could be a follow-up MR with some more smaller improvements and cleanups.
Edited by Simon Praetorius
added 4 commits
Toggle commit listmentioned in commit 4e561fdb
Yes another example of poorly implemented interface changes. After this merge now tests in dune-fem fail, because there exists code that uses the class ReferenceElement which used to have two template arguments, ctype and dimension, like this:
Dune::ReferenceElement< ctype, dim > ...
With this MR this has been changed to:
Dune::ReferenceElement< class Implementation >
Never even once was there a deprecation warning of some sort. What are you guys thinking?
Robert, we tried to be very careful. But sometimes things slip trough. Sorry for that.
The code that you are using is deprecated since Dune 2.6. It is deprecated in the documentation using
\deprecated
doxygen command and it was deprecated in code. When usingReferenceElement<ctype,dim>
withdim != -1
you should get aDeprecatedReferenceElementTypeSignature
with a very long deprecation warning. But, we both know that deprecations in c++ do not always show up in all compilers. See also 3d0d8774 from 5y ago where this code was deprecated.Luckily it was only two or three places in dune-fem that needed to be fixed. But still, this did not come up until it breaks which is to late. What surprises me is that the tests failed so I would have expacted the down stream piplines to fail also which is hopefully what you tested. I hope that was the only fallout.