-
Notifications
You must be signed in to change notification settings - Fork 475
Deprecate ERISieve #2935
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
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
JonathonMisiewicz
left a comment
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
ERISieveclass, for reasons explained there. However, it turns out that eliminatingERISieverequires fiddling with the v2rdm_casscf plugin, as well, since it also usesERISieve.This PR is meant to be a deprecation of the
ERISieveclass that will show up in v1.8 in the meantime, in caseERISieveisn't fully removed by then.User API & Changelog headlines
ERISieveclass.Dev notes & details
ERISieveclass C++-side by tagging it with the deprecated attribute.ERISieveclass Python-side by creating helper functions for the Python-facingERISievefunctions that warn about deprecation.Questions
PSI_DEPRECATEDthe preferred mechanism by which to perform this deprecation?ERISievethat should be tagged? I chose specifically the user-facing functions.PSI_APIandPSI_DEPRECATEDmacros together to tag theERISieveclass cause the compiler to complain. On further exploration, replacingPSI_DEPRECATEDwith its textual definition seems to work fine. Is this an acceptable solution?Checklist
Status