paulk-asert commented on PR #3210: URL: https://github.com/apache/groovy/pull/3210#issuecomment-6719181647
Thanks @daniellansun. **CI failures.** The four `testDehydrateClearsTheMemoizedClosure` failures come from GROOVY-12669 (09ae531eaf), which landed on master after this bundle was put together; its test pinned the `NullPointerException` that GROOVY-12667 removes, and the master merge brought it in. A dehydrated memoized closure should fail the same way any dehydrated closure does, so I've updated the test to expect `MissingMethodException`, folded into the GROOVY-12667 commit, and rebased onto master (dropping the merge commit). The test still checks what it is there for: the copy fails until rehydrated, then `rehydrate(null, p, p)` works and the original's cache is untouched. **Follow-ups.** Agreed, I'll file the `OWNER_FIRST`-under-`ExpandoMetaClass` misroute, the `*_ONLY`/non-`GroovyObject` gap and the `@CompileStatic` resolve-strategy inconsistency as separate issues. The six original PRs will close automatically from the `Closes` lines when this merges. **Backport.** I'd go a little wider than commits 1–2. I'd do this on the basis that 6.0.1 candidates are regressions plus things that didn't work at all or are obvious bugs, and most of this bundle falls into one of those: - **GROOVY-12578/12664**: 6.0.0 regression. - **GROOVY-12667** (both commits): a call the other candidate could answer threw `NullPointerException` and now works; `toString`/`with` ran against `null` in 6.0, a regression from 3.0–5.1. Where no candidate can answer, NPE becomes `MissingMethodException`, which changes only code that already failed. - **GROOVY-12671**: the same for properties, plus the `o1 != null` / `o2` typo in `setPropertyTryThese`. - **GROOVY-12675**: "Possible solutions: bcw" in error messages. **GROOVY-12680** stays in 7.0 only: reading `Closure`'s private fields through the metaclass has worked in every version, so hiding them changes code that runs today. The commits above cherry-pick cleanly onto `GROOVY_6_0_X`; the 12667 commit now carries the GROOVY-12669 memoize test update with it, and the COMPATIBILITY entries will note the 6.0.x line for the parts that go back. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
