Remove stale (1.x) deprecation warnings and their associated names#3034
Remove stale (1.x) deprecation warnings and their associated names#3034silas-hw wants to merge 14 commits into
Conversation
|
I think some of these changes are erroneous... I'll look at them properly in the morning. Specifically, I think some of the exports of #2980 seem to have been reverted by this PR?
The The A number of v2.0 PRs introduced warning suppressions in order to accommodate v1.x era deprecations, and these should be carefully revisited to see if such warning suppression is still needed. Mildly troubling on a first skim read. |
|
I'll revert everything I did by mistake by using 2.9 in the morning, which should only be the pattern attribute and eta equality pragma. Sorry about that. I'l look into the v2.0 suppressions too, I was unaware of those. In terms of #2980 I think it was just |
|
It was |
Well... this one is a slightly sad case of 'forgetting the lessons of history' (as
So, rather in the way that Shoutout to @MatthewDaggitt and @JacquesCarette for the 'best' approach to resolving this? ideally, merging #3029 first? |
|
As with some of the other items I queried (eg |
jamesmckinna
left a comment
There was a problem hiding this comment.
Thanks very much for this first PR, which does valuable infrastructural work.
Apologies for my initial reaction, but hopefully the review comments help explain such reactions!
Co-authored-by: jamesmckinna <31931406+jamesmckinna@users.noreply.github.com>
This reverts commit 07f12b7.
|
Should have fixed most things, other than those more open to discussion with other maintainers. |
|
I'll check through the suppressions and such now. Perhaps best to review after I've sorted those out too, unless it's more suitable for a separate PR. |
|
I could only find 1 suppression hiding a 1.x warning (removed in latest commit). The rest were all hiding 2.x or 3.x warnings. |
|
Let's run this, and see what comes back from testing.
|
|
FYI: |
JacquesCarette
left a comment
There was a problem hiding this comment.
One minor thing - but I am otherwise happy with the state of this PR as it stands now.
| open import Data.Char.Base public | ||
| open import Data.Char.Properties | ||
| using (_≈?_; _≟_; _≡?_; _<?_; _≤?_; _==_) public | ||
| using (_≈?_;_≟_; _≡?_; _<?_; _≤?_; _≡ᵇ_) public |
There was a problem hiding this comment.
| using (_≈?_;_≟_; _≡?_; _<?_; _≤?_; _≡ᵇ_) public | |
| using (_≈?_; _≟_; _≡?_; _<?_; _≤?_; _≡ᵇ_) public |
There was a problem hiding this comment.
And in fact, for backwards-compatibility with the v3.0 fieldname/operation name changes in #2980 we actually need also to export _==_. Sorry if that hadn't been clearer earlier in my ramblings:
| using (_≈?_;_≟_; _≡?_; _<?_; _≤?_; _≡ᵇ_) public | |
| using (_≈?_; _≟_; _≡?_; _<?_; _≤?_; _≡ᵇ_; _==_) public |
This is the change I alluded to earlier under Data.Char.*... and then we can deprecate all of these 'old' names once we get to v4.0 (or even v3.999999 if we're feeling bold).
|
@jamesmckinna said:
Details? I did not see anything obvious. And for this PR or a subsequent one?
Subsequent PR or required here? |
|
So the
Tragically, even the old design is Just Plain Wrong under our new approach of defining |
|
Regarding the failing test, remember @JacquesCarette that for Reasons (I think @gallais explained it to me, but I'm not sure I successfully internalised the explanation), we also recheck even deprecated modules as part of the testing workflow (I've been caught out by this before), as a result of which, PRs can require to edit deprecated definitions and modules in order to still typecheck OK. The failure in The irony that this is a v2.1 deprecation is... not lost on me. |
Any deprecation warning mentioning 'v1.x' has been removed, alongside their associated name or module, as @JacquesCarette requested. Some entire modules were removed as well if they were marked as deprecated.
This only had a few follow on breakages that needed fixing too:
Algebra.Morphism.Definitions.Morphismneeded to be changed toF.Carrier -> T.Carrier^-semigroup-morphismand^-monoid-morphismneeded their signatures updating to useIsMagmaHomomorphismandIsMonoidHomomorphismrespectively, which is also invovled needing new proofs. The former involved adding a new lemma namedcong-IsRelHomomorphismand placed in a new module calledRelation.Binary.Morphism.Construct.PropositionalEqualityI also patched two warnings I got but I believe those were from building with the latest version of Agda as opposed to the latest release, so can revert those too if needed.