Skip to content

Conversation

@kidder
Copy link
Member

@kidder kidder commented Jul 13, 2025

Proposed changes

Eliminate several uses of base tags whose derived simple tags had the same type alias.

  • Allow derived mutable tags. This allows several tags to be derived from the same simple tag by adding a base type alias. This allows choosing at compile time one of the different methods that a simple tag can be created from options.
  • Some base tags had one simple tag that could not be created from options, and one that could. In this case the base and non-creatable simple tag can be removed, and replaced with the creatable simple tag.

Upgrade instructions

Code review checklist

  • The code is documented and the documentation renders correctly. Run
    make doc to generate the documentation locally into BUILD_DIR/docs/html.
    Then open index.html.
  • The code follows the stylistic and code quality guidelines listed in the
    code review guide.
  • The PR lists upgrade instructions and is labeled bugfix or
    new feature if appropriate.

Further comments

No other simple tag derived from a base tag defines this alias.
Copy link
Member

@nilsdeppe nilsdeppe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can squash

struct ObserveCentersBase : db::BaseTag {};

/// Simple tag for whether to write the centers of the horizons to disk.
/// Currently this tag is not creatable by options
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this line of the docs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked that this was done :)

kidder added 4 commits July 14, 2025 13:12
This will allow removal of base tags whose derived simple tags
share the same type, but differ in how they are created from
option tags.  The former base tag will become the simple tag with
a type alias `type` to the common type.  The former derived simple
tags will no longer be derived from db::SimpleTag, no longer have
a type alias `type`, but now have a type alias `base` to the former
base tag.
@nilsdeppe nilsdeppe merged commit 6a3246a into sxs-collaboration:develop Jul 15, 2025
24 checks passed
@kidder kidder deleted the creatable_tags branch August 1, 2025 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants