Skip to content

Unimplemented Ruby 2.4 features #4687

@headius

Description

@headius

This issue tracks the new features and failing specs/tests we did not get implemented in time for release of Ruby 2.4 support in JRuby 9.2. We will work with users to get as many of these remaining features implemented as possible.

See #4293 for the original 2.4 support issue.

The checklist below is transferred from #4293 based on MRI's NEWS. It is only as complete as that file, so see also the tags and excludes from specs and tests associated with this issue, and see other issues linked to this one.

Language changes

  • Refinements is enabled at method by Symbol#to_proc. Feature #9451

  • Refinements is enabled with Kernel#send and BasicObject#__send__. Feature #11476

Core classes updates (outstanding ones only)

Stdlib updates (only items that need specific attention in JRuby)

  • Readline

    • Readline.quoting_detection_proc and Readline.quoting_detection_proc= Feature #12659

Compatibility issues (excluding feature bug fixes)

Implementation improvements

  • In some condition, [x, y].max and [x, y].min are optimized so that a temporal array is not created. The concrete condition is an implementation detail: currently, the array literal must have no splat, must have at least one expression but literal, the length must be <= 0x100, and Array#max and min must not be redefined. It will work in most casual and real-life use case where it is written with intent to Math.max(x, y).

  • Thread deadlock detection now shows their backtrace and dependency. Feature #8214

  • st_table (st.c) internal data structure is improved. Feature #12142

  • Rational is extensively optimized. Feature #12484

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions