The GitHub Actions job "Pull Requests" on 
pekko.git/refactor/replace-reflection-with-methodhandles has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
f3c07c626f26e69f24f136e843fe6e7e396e8ec2 / 虎鸣 <[email protected]>
fix: use public lookup for accessible constructors

Motivation:
PR #3300 replaced reflective constructor access with MethodHandles, but public 
JDK constructors in non-open modules were forced through privateLookupIn and 
failed under Scala 3 CI during throwable deserialization.

Modification:
Prefer MethodHandles.publicLookup for public constructor handles and fall back 
to privateLookupIn only when needed. Use constructor metadata for no-arg 
constructor checks and add a regression test for public JDK constructors.

Result:
TimeoutException deserializes back to its original type and constructor lookup 
avoids unnecessary deep access on public constructors.

Tests:
- rtk bash -lc export JAVA_HOME=$(/usr/libexec/java_home -v 17); export 
PATH=$JAVA_HOME/bin:$PATH; sbt ++3.3.8 actor-tests/Test/testOnly 
org.apache.pekko.util.ReflectSpec - passed, 11 tests
- rtk bash -lc export JAVA_HOME=$(/usr/libexec/java_home -v 17); export 
PATH=$JAVA_HOME/bin:$PATH; sbt ++3.3.8 remote/Test/testOnly 
org.apache.pekko.remote.serialization.MiscMessageSerializerSpec - passed, 103 
tests
- rtk bash -lc export JAVA_HOME=$(/usr/libexec/java_home -v 17); export 
PATH=$JAVA_HOME/bin:$PATH; sbt ++3.3.8 actor-tests/Test/testOnly 
org.apache.pekko.actor.ActorCreationTest - passed, 7 tests
- rtk scalafmt --mode diff-ref=origin/main - passed
- rtk scalafmt --list --mode diff-ref=origin/main - passed
- rtk git diff --check - passed

References:
Refs #3300

Report URL: https://github.com/apache/pekko/actions/runs/28801792002

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to