Skip to content

Remove deprecated rubyhash constructors#9494

Draft
headius wants to merge 3 commits into
jruby:masterfrom
headius:remove_deprecated_rubyhash_constructors
Draft

Remove deprecated rubyhash constructors#9494
headius wants to merge 3 commits into
jruby:masterfrom
headius:remove_deprecated_rubyhash_constructors

Conversation

@headius

@headius headius commented Jun 13, 2026

Copy link
Copy Markdown
Member

This does a final removal of all public RubyHash constructors, as discussed in #9456. This may or may not end up merging as-is, but is a reminded for 10.2 to revisit whether these constructors can finally be removed.

headius added 3 commits June 13, 2026 10:27
This constructor was restored by deprecation patches from 10.0 in
jruby#9474 but the merge of that to 10.1 left it as a normal
non-delegated constructor. This patch makes the following changes:

* Make this constructor delegate, like the other deprecated
  RubyHash constructors.
* Remove the protected constructor from RubyHashLinkedBuckets, so
  that it lives only in RubyHash and we can be sure all callers
  need delegation.

The constructor should move back into RubyHashLinkedBuckets as a
protected internal constructor once we can safely remove the
constructors from RubyHash (10.2 or later).
These constructors have been deprecated since 10.0.3.0 or 10.0.6.0
at the latest and should not be used by third-party code anymore.
All RubyHash construction should go through official factory
methods that will return an appropriate implementation.
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