Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete old-style, deprecated .in and .as APIs #139

Open
chiphogg opened this issue Jun 21, 2023 · 1 comment
Open

Delete old-style, deprecated .in and .as APIs #139

chiphogg opened this issue Jun 21, 2023 · 1 comment
Labels
⬇️ affects: code (implementation) Affects implementation details of the code 📁 kind: cleanup Making the library nicer in some way, without affecting functionality much or at all 💪 effort: tiny A trivial change
Milestone

Comments

@chiphogg
Copy link
Contributor

This is a follow-on to #32. These have been deprecated for long enough that it's definitely safe to delete them. Since this should force a minor version bump, we'll save this for 0.4.0.

@chiphogg chiphogg added 📁 kind: cleanup Making the library nicer in some way, without affecting functionality much or at all 💪 effort: tiny A trivial change ⬇️ affects: code (implementation) Affects implementation details of the code labels Jun 21, 2023
@chiphogg chiphogg added this to the 0.4.0 milestone Jun 21, 2023
SagaciousB pushed a commit to SagaciousB/au that referenced this issue Nov 22, 2023
With a little more care in our definitions, we no longer need separate
overloads for `QuantityMaker`!  We can just use a unified definition.

Someday, this will also let us replace SFINAE with more readable
`static_assert`, which is good on the assumption that nobody will ever
call `in` or `as` with something that is not compatible with a unit
slot.  Unfortunately, this is blocked on aurora-opensource#139, because sometimes
function calls can get resolved to the deprecated legacy APIs... and
this manifests in really weird ways, like the compiler thinking we want
"units" of `int` or `double`.

This paves the way for aurora-opensource#43, because `SymbolFor` will also be compatible
with unit slots.  So, not only are we removing one set of overloads;
we're also avoiding the need to add _another_ set in the very near
future.

Test plan:

- [x] All Au tests pass
- [x] Make sure this would enable upcoming `.in(m)` test to pass
- [x] Test AV repo
- [x] Measure compile time impact
@chiphogg
Copy link
Contributor Author

I'm making this issue more general, to just "delete all the [[deprecated]] stuff", because we're also going to deprecate PI in 0.3.5 as part of #246, and I don't want to forget to remove it.

@chiphogg chiphogg modified the milestones: On deck, 0.4.0 Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⬇️ affects: code (implementation) Affects implementation details of the code 📁 kind: cleanup Making the library nicer in some way, without affecting functionality much or at all 💪 effort: tiny A trivial change
Projects
None yet
Development

No branches or pull requests

1 participant