Skip to content

Deprecate all public RubyString constructors#9371

Merged
headius merged 1 commit intojruby:masterfrom
headius:deprecate_string_constructors
Apr 9, 2026
Merged

Deprecate all public RubyString constructors#9371
headius merged 1 commit intojruby:masterfrom
headius:deprecate_string_constructors

Conversation

@headius
Copy link
Copy Markdown
Member

@headius headius commented Apr 9, 2026

We would like to make RubyString abstract, so it can be represented more efficiently when containing a single character or a Java String. In order to do so, we need users to stop using the public constructors.

This patch deprecates all of the constructors for removal. They will not prevent compilation, but they should show up a bit more boldly and most Java editing tools will highlight them as errors.

See #9369 for the attempt to abstract RubyString. This effort will be put on hold for now due to the many exposed constructors.

See jruby/jruby-openssl#355 for an example of an external library that was using these constructors directly.

@headius headius added this to the JRuby 10.1.0.0 milestone Apr 9, 2026
We would like to make RubyString abstract, so it can be represented
more efficiently when containing a single character or a Java
String. In order to do so, we need users to stop using the public
constructors.

This patch deprecates all of the constructors for removal. They
will not prevent compilation, but they should show up a bit more
boldly and most Java editing tools will highlight them as errors.

See jruby#9369 for the attempt to abstract RubyString. This
effort will be put on hold for now due to the many exposed
constructors.

See jruby/jruby-openssl#355 for an example of an external library
that was using these constructors directly.
@headius headius force-pushed the deprecate_string_constructors branch from 648d661 to 13f3317 Compare April 9, 2026 00:17
@headius headius merged commit 1e1ab5e into jruby:master Apr 9, 2026
106 of 107 checks passed
@headius headius deleted the deprecate_string_constructors branch April 9, 2026 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant