softwaremill / softwaremill/sttp

Support Java 25 without warnings

Open
#2,992 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
1.5k
Forks
338
Avg merge
8h 59m
Merged PRs (30d)
13

Description

We have an application that uses various Scala dependencies, including sttp. When we run with Java 25 we get the following warning:

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by scala.runtime.LazyVals$

I believe this is causes by the dependencies being compiled with a version of Scala before 3.8 and not using the flag -Yfuture-lazy-vals.

Sttp seems to use Scala 3.3.8 (so not 3.8+) and does not use -Yfuture-lazy-vals, and also uses lazy val, so using this dependency will also cause the above warnings.

Can there be a version of Sttp released using Scala 3.8+ and/or using -Yfuture-lazy-vals, so that this warning can be fixed?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by reproducing the warning with Java 25 and inspecting the Scala dependency and compiler configuration used by sttp; done means a released sttp version built with Scala 3.8+ or the stated compiler flag no longer produces this warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, scala
Domain
build-system, release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.