Skip to content
Snippets Groups Projects

Remove transition code for old ReferenceElement and returning references

Merged Christoph Grüninger requested to merge feature/cleanup-reference-element into master
1 unresolved thread
  • Remove code from Transitional::ReferenceElement that supported the old (pre-2.6) ReferenceElement
  • Deprecate Transitional::ReferenceElement
  • ReferenceElement methods returning references now return values
Edited by Christoph Grüninger

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • 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

    Compare with previous version

  • added 1 commit

    • 18e8539c - Force deprecation warning with detected_or_fallback utility

    Compare with previous version

  • Christoph Grüninger resolved all threads

    resolved all threads

  • 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

    Compare with previous version

  • Christoph Grüninger resolved all threads

    resolved all threads

  • @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 returns const 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 from decltype(auto) to auto.

  • added 1 commit

    • 9417785d - Several ReferenceElement methods return by value instead of references

    Compare with previous version

  • Christoph Grüninger changed title from Remove transition code for value semantics of ReferenceElement to Remove transition code for old ReferenceElement and returning references

    changed title from Remove transition code for value semantics of ReferenceElement to Remove transition code for old ReferenceElement and returning references

  • Christoph Grüninger changed the description

    changed the description

  • mentioned in merge request dune-grid!694 (merged)

  • Carsten Gräser resolved all threads

    resolved all threads

  • added 4 commits

    • d4e8c59f - Deprecate Dune::Transitional::ReferenceElement
    • 89b0b937 - Remove code and documentation for transitional ref element
    • 3a567a81 - Remove use of Transitional::ReferenceElement in tests
    • 3be51bfa - Several ReferenceElement methods return by value instead of references

    Compare with previous version

  • Christoph Grüninger resolved all threads

    resolved all threads

  • Christoph Grüninger resolved all threads

    resolved all threads

  • mentioned 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 using ReferenceElement<ctype,dim> with dim != -1 you should get a DeprecatedReferenceElementTypeSignature 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.

    • Please register or sign in to reply
  • Please register or sign in to reply
    Loading