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]

Reply via email to