-
Notifications
You must be signed in to change notification settings - Fork 16
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
Replace display.format with .form and .precision #62
Conversation
Remove instance accessors w/o replacement as a prelude to deprecation.
Appreciated. |
I'm undecided on when to apply this change. It isn't urgent for me as I don't use StandardField myself, and I find that caProvider and testServer in the PVA repo crash due to unchecked |
Would it be feasible to support both the old and new fields for at least one release? I understand that would need more work and require some extra code to convert from one format to the other (reasonable efforts only), but I don't see any obvious difficulties with doing that. By deprecating but still providing the old fields we can warn developers without requiring them to update their code immediately after we release. BTW, I don't see any obvious way at compile-time for external C++ code that has to build against both old and new APIs to detect which one to use, other than to look at the release version (which doesn't work when someone is building against the latest git repo and we haven't released yet). I realize that a client needs to detect the fields that are present at run-time, but at compile-time an application still has to know not to call the |
Yes, although this seems like kicking the can down the road as it does not address the underlying question of whether removing I'm specifically referring to the type definition here. FTBFS caused by changes to
I'm not inclined to spend time on this logic unless at least one external user can be identified who would use it. Are you willing to add this? |
This wasn't discussed at the recent core developers meeting. I'm not sure the right people were in attendance anyway. I would like to get some feedback from a user application. Absent this I suppose I must conclude that there are no (deliberate) users, and merge anyway. So, unless some negative feedback comes in by 22 April (2 weeks), I'll consider that silence is acceptance. |
Merging has lead to downstream failures in epics-base/normativeTypesCPP#15 which turns out to be even stricter than I had realized. |
Reverted with cd24363 |
Update
StandardField::display()
to replace 'display.format' with 'display.form' and 'display.precision' as in epics-base/pva2pva#19 .I think the main question here is where else this change needs to be recorded.
The accessors for 'display.format' are removed from
class PVDisplay
, but new accessors are not added as this class may be deprecated (#61).This change will effect all external code using the result of
StandardField
. Either directly, or indirectly through normativeTypesCPP.@ralphlange @anjohnson @mrkraimer
@shroffk A corresponding change to pvDataJava would be advisable, though I see no particular need to synchronize these.