-
Notifications
You must be signed in to change notification settings - Fork 437
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
Deprecate ERISieve #2935
Deprecate ERISieve #2935
Conversation
It looks like the entire |
I think that is right, as well. When I said "user-facing", I meant the Deprecation as a whole is less my realm of expertise, however, so I'm not 100% if what I'm doing is even the ideal route regardless. |
Yes, it would have to be |
All right, blanket deprecated ... but there's a catch. It seems the compiler complains when trying to use |
Ok, two different levels here:
Whenever dealing with deprecations, I think it's a good idea to use the "as soon as v1.x" phrasing. We want to get the urgency across, but we almost never clear things out ASAP so that phrasing keeps the message accurate. For semi-completeness, I bring up a couple other deprecation/removal items:
|
First off, thank you very much for sharing some details on all of this!
That make sense. I recently blanket-deprecated the
Also very good to know! This will be my next focus, then, since I don't have any wrapper functions for the ERISieve Python-side functions right now. I think I will switch this to a draft PR in the meantime, since it seems some more needs to be done on my end. |
It is strange that this is happening to you, I had no such trouble when deprecating |
Deprecating a PSI_API function works fine, which I verified myself. Deprecating a PSI_API class is where I find issues. Something like:
causes the compiler to complain. That said, replacing the macros with their associated definitions, something like
works just fine. |
16b655e
to
35d348d
Compare
Okay, I opened this up for official review again, since I think I covered all of the bases mentioned by @loriab. I am not confident in every design decision here, so don't be afraid to suggest alternatives if you have them. |
612cac3
to
a5b8f7d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not confident in all the design decisions either, but this is good enough, and I have nothing better to propose. Good riddance.
Description
This PR is a companion to #2933. The goal of #2933 is to completely eliminate the
ERISieve
class, for reasons explained there. However, it turns out that eliminatingERISieve
requires fiddling with the v2rdm_casscf plugin, as well, since it also usesERISieve
.This PR is meant to be a deprecation of the
ERISieve
class that will show up in v1.8 in the meantime, in caseERISieve
isn't fully removed by then.User API & Changelog headlines
ERISieve
class.Dev notes & details
ERISieve
class C++-side by tagging it with the deprecated attribute.ERISieve
class Python-side by creating helper functions for the Python-facingERISieve
functions that warn about deprecation.Questions
PSI_DEPRECATED
the preferred mechanism by which to perform this deprecation?ERISieve
that should be tagged? I chose specifically the user-facing functions.PSI_API
andPSI_DEPRECATED
macros together to tag theERISieve
class cause the compiler to complain. On further exploration, replacingPSI_DEPRECATED
with its textual definition seems to work fine. Is this an acceptable solution?Checklist
Status