Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from ruby:master #402

Merged
merged 211 commits into from
Apr 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
b03705d
[ruby/reline] Refactor key actor test
tompng Mar 24, 2024
b0eda83
[ruby/reline] Add mode_string to prompt calculation dependencies
tompng Mar 24, 2024
82f4cff
[ruby/irb] Fix indent test for new reline
tompng Mar 24, 2024
7459361
[ruby/reline] Disable dialog proc if TERM=dumb
tompng Mar 24, 2024
7c015c3
Remove never used macros related to RJIT [ci skip]
nobu Mar 24, 2024
5e4b4d6
[rubygems/rubygems] Remove typo name
nobu Mar 24, 2024
e86a619
Lrama v0.6.5
yui-knk Mar 24, 2024
95864a6
Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0
dependabot[bot] Mar 22, 2024
fdd7ffb
[Bug #20389] Chilled string cannot be a shared root
nobu Mar 25, 2024
348d8bd
Use `$ext_build_dir` consistently
deivid-rodriguez Mar 20, 2024
1e6117d
Simplify FileCollector interface
deivid-rodriguez Mar 20, 2024
bece07e
Fix gemspec file list for extension gems
deivid-rodriguez Jan 24, 2024
2b703ee
Consistently put requirable features in default gemspecs file list
deivid-rodriguez Jan 24, 2024
083e708
Consider `target_prefix` in extension Makefiles
deivid-rodriguez Mar 18, 2024
2dd2204
Extract `root` helper
deivid-rodriguez Mar 20, 2024
ea31228
Consider extensions in gems outside of ext/
deivid-rodriguez Mar 20, 2024
48d3bdd
Move asan_fake_stack_handle to EC, not thread
KJTsanaktsidis Feb 24, 2024
2535a09
Check ASAN fake stacks when marking non-current threads
KJTsanaktsidis Feb 24, 2024
69579ed
Mark fiber stacks in rb_execution_context_mark
KJTsanaktsidis Feb 28, 2024
9db3002
Added test script for bundled_gems.rb with zeitwerk
hsbt Mar 25, 2024
02a4bdd
Add newline each test script
hsbt Mar 25, 2024
d6e9367
Skip Bootsnap and Zeitwerk in bundled gems warning
fxn Mar 13, 2024
6b1691e
Remove rubylibdir from bootsnap
hsbt Mar 25, 2024
990e11b
Bootsnap and Zeitwerk are working correctly now
hsbt Mar 25, 2024
e720a6b
Show the chilled status of a String [ci skip]
nobu Mar 25, 2024
675dcf9
Partly Revert "Show the chilled status of a String [ci skip]"
hsbt Mar 25, 2024
bd85fd6
Guard makefile target at cross-build
hsbt Mar 25, 2024
6c65f11
Bump github/codeql-action from 3.24.8 to 3.24.9
dependabot[bot] Mar 25, 2024
152192c
Use load_gemspec instead of Gem::Specification.load.
hsbt Mar 25, 2024
e70ccc9
Update minitest and power_assert bundled gems
byroot Mar 25, 2024
219d7cc
lib/bundled_gems.rb: dynamically ignore Kernel.require decorators
byroot Mar 25, 2024
5f334b6
[ruby/reline] Remove useless tests
st0012 Mar 25, 2024
f53209f
[ruby/irb] Cache RDoc::RI::Driver.new
tompng Mar 25, 2024
daf1d7b
[ruby/reline] Bump version to v0.5.0
ima1zumi Mar 25, 2024
f5a2f55
[ruby/prism] Use Sexp#line_max not Sexp#max_line
presidentbeef Mar 23, 2024
9b921f6
Update default gems list at daf1d7bfefa89a0473af9b304a3798 [ci skip]
matzbot Mar 25, 2024
56a2fad
[ruby/prism] Fix incorrect paring when using invalid regexp options
koic Mar 20, 2024
d051357
[ruby/prism] Fix comment typos in prism.c
francktrouillez Mar 25, 2024
54428c2
[ruby/prism] Add missing symbol in comment for binding powers for `||=`
francktrouillez Mar 25, 2024
4235bc2
Add an example to base_label API
fxn Mar 25, 2024
dadaa11
Update vm_backtrace.c
fxn Mar 25, 2024
3b4dacf
Let the docs of base_label and label be similar
fxn Mar 25, 2024
65264b0
[ruby/prism] Fix build error for C99 and C23 CI matrix
koic Mar 25, 2024
5526471
[rubygems/rubygems] Improve validation of `bundle plugin install` opt…
ccutrer Oct 9, 2023
a31ca35
Mark iseq structs with rb_gc_mark_movable
gmcgibbon Mar 22, 2024
14ab698
[ruby/prism] Handle CLRF inside heredoc contents
kddnewton Mar 25, 2024
0bc764b
[ruby/prism] Handle CLRF inside string contents
kddnewton Mar 25, 2024
86077fb
[ruby/prism] Refactor regexp lexing to make it easier to support CLRF
kddnewton Mar 25, 2024
53cc272
[ruby/prism] Handle CLRF in regexp
kddnewton Mar 25, 2024
a089545
[ruby/prism] Fix up minimal build setting
kddnewton Mar 25, 2024
46bf6ae
YJIT: Propagate Array, Hash, and String classes (#10323)
k0kubun Mar 25, 2024
9cf754b
Fix --debug=gc_stress flag
peterzhu2118 Mar 22, 2024
eef272f
[ruby/prism] Mark inner parts of interpolated* nodes as frozen
kddnewton Mar 25, 2024
ff8f98f
[ruby/prism] Mark interpolated nodes as static literal
kddnewton Mar 25, 2024
453de8c
[ruby/prism] Revert "Frozen parts"
kddnewton Mar 25, 2024
06d5d4f
[rubygems/rubygems] Fix resolver bug where ActivationRequest objects …
deivid-rodriguez Mar 25, 2024
aa90013
[rubygems/rubygems] Fix: vendor_gem takes a block
martinemde Mar 1, 2024
de742b4
YJIT: Inline simple getlocal+leave iseqs
XrXr Mar 25, 2024
b39057f
Fix extension installer for out-of-place build
hsbt Mar 26, 2024
3680981
skip `test_gc_stress_at_startup`
ko1 Mar 26, 2024
a850cd1
[Bug #20392] Block arguments duplication check at `super`
nobu Mar 26, 2024
52cf6ec
[ruby/prism] Fix typos
koic Mar 24, 2024
8cfa8e8
[ruby/irb] Fix a typo (https://github.com/ruby/irb/pull/912)
hsbt Mar 26, 2024
2b08406
Expose rb_str_chilled_p
etiennebarrie Mar 25, 2024
e9152bc
[ruby/prism] Enable ParametersSignatureTest on TruffleRuby
andrykonchin Feb 19, 2024
19752cf
Use macro SET_WHEN_UINT
peterzhu2118 Mar 21, 2024
240fb39
[ruby/prism] Freeze internal parts, again
kddnewton Mar 25, 2024
2a3601d
[ruby/prism] Handle regexp split between heredocs
kddnewton Mar 26, 2024
8ec7c3c
[ruby/prism] Properly handle freeing ephemeral node lists
kddnewton Mar 26, 2024
4300c42
[PRISM] Better handle interpolated* nodes with inner frozen parts
kddnewton Mar 26, 2024
4bdb796
Mark frame info structs with rb_gc_mark_movable
gmcgibbon Mar 22, 2024
3e0eea6
Don't set RUBY_TYPED_EMBEDDABLE flag on backtrace
peterzhu2118 Mar 23, 2024
332f493
[DOC] Fix a description about rb_exec_recursive_outer
k0kubun Mar 26, 2024
16cf904
[DOC] Fix a couple other descriptions
k0kubun Mar 26, 2024
e16086b
Refactor init_copy gc attributes
eileencodes Mar 25, 2024
696b271
Return stdbool from recursive_check()
k0kubun Mar 26, 2024
4a78d75
[ruby/prism] Fix an incorrect range of `Prism::Location` when `PM_ERR…
koic Mar 21, 2024
0c62eb2
[PRISM] Use correct encoding for regular expression literals
kddnewton Mar 26, 2024
a7ff264
Don't clear pending interrupts in the parent process. (#10365)
ioquatix Mar 26, 2024
b2b665e
[DOC] remove repetitive words in comments
crazeteam Mar 26, 2024
6e34386
[flori/json] Fix memory leak when exception is raised during JSON gen…
peterzhu2118 Mar 21, 2024
8896ac0
[ruby/openssl] Fix test_pkey_dsa.rb in FIPS.
junaruga Mar 12, 2024
8fa6c36
[ruby/strscan] Omit tests for `#scan_byte` and `#peek_byte` on
andrykonchin Mar 27, 2024
e514351
Update vendored resolv to 0.4.0
hsbt Mar 19, 2024
0c114df
Check existing ISeq wrapper
nobu Mar 27, 2024
16c18ea
Revert "Mark iseq structs with rb_gc_mark_movable"
nobu Mar 27, 2024
66a0e8b
d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 is done to fix at related gems
hsbt Mar 27, 2024
6498c43
Update bundled gems list as of 2024-03-26
matzbot Mar 27, 2024
cbc11bc
Ignore errors on prerelease gems
nobu Mar 27, 2024
44b5c91
[rubygems/rubygems] Allow installing plugins from path via CLI
ccutrer Sep 14, 2023
e4b2109
[PRISM] Fix ASCII-compatible check for eval encoding
kddnewton Mar 26, 2024
6f8a252
[PRISM] Enable passing heredoc test
kddnewton Mar 26, 2024
8b2fc85
[PRISM] Enable passing frozen string in array test
kddnewton Mar 26, 2024
843c760
[PRISM] Enable passing syntax tests
kddnewton Mar 26, 2024
a1ae29e
[PRISM] Enable other passing specs
kddnewton Mar 26, 2024
42d1cd8
[PRISM] Pass --enable-frozen-string-literal through to evals
kddnewton Mar 26, 2024
2505c27
[PRISM] Fix up some error formatting edge cases
kddnewton Mar 26, 2024
9ad175c
Register rb_fix_to_s_static as global right after creating
peterzhu2118 Mar 26, 2024
1d99fe4
Register classpath of FrozenCore before converting to ICLASS
peterzhu2118 Mar 26, 2024
f14e52c
Fix setting GC stress at boot when objspace not available
peterzhu2118 Mar 26, 2024
19916ba
Revert "skip `test_gc_stress_at_startup`"
peterzhu2118 Mar 26, 2024
aa794cc
Turn GC off at boot on Windows
peterzhu2118 Mar 26, 2024
e4d6479
Add array/hash implicit allocation tests
jeremyevans Mar 22, 2024
4566843
Check FL_SEEN_OBJ_ID before looking up in table
peterzhu2118 Mar 26, 2024
c50b642
Remove st_lookup when updating object ID
peterzhu2118 Mar 26, 2024
9b816e6
[ruby/prism] Add option for inlining messages for error formatting
kddnewton Mar 27, 2024
a69f004
[PRISM] Use new error formatting API
kddnewton Mar 27, 2024
db5686a
Read as binary regardless locale
nobu Mar 27, 2024
0f5ab4a
[ruby/stringio] Eagerly defrost chilled strings
etiennebarrie Mar 27, 2024
06563d7
[ruby/stringio] Adjust styles [ci skip]
nobu Mar 27, 2024
51e6bec
[ruby/stringio] Extract `readonly_string_p`
nobu Mar 27, 2024
eb995a6
[PRISM] Include file and line in error message
kddnewton Mar 27, 2024
ab2ee30
[PRISM] Match style for invalid encoding error
kddnewton Mar 27, 2024
39606f3
[PRISM] Implicitly change encoding when a UTF-8 BOM is found
kddnewton Mar 27, 2024
4361727
[ruby/prism] Warn on static literal arrays in predicate writes
kddnewton Mar 27, 2024
9f9c042
[PRISM] Turn on passing test
kddnewton Mar 27, 2024
9b97f1f
[ruby/prism] Compare duplicates keys/whens for __FILE__
kddnewton Mar 27, 2024
010286c
[PRISM] Enable passing test for hash duplicated keys
kddnewton Mar 27, 2024
7e12b03
[PRISM] Set path on syntax error
kddnewton Mar 27, 2024
8c7b9bd
Disable ASAN handle_segv in test_rubyoptions.rb
KJTsanaktsidis Feb 17, 2024
7bdd742
Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test
KJTsanaktsidis Mar 12, 2024
75234be
Make TestParallel#test_retry_workers consider RUBY_TEST_TIMEOUT_SCALE
KJTsanaktsidis Mar 12, 2024
dc9d245
Add a missing asan_unpoisoning_p in gc_set_candidate_object_i
KJTsanaktsidis Mar 12, 2024
8423613
Launchable: Configure OS correctly in macos.yaml
ono-max Mar 26, 2024
7293cef
[DOC] molinillo has been moved
nobu Mar 28, 2024
67bdb7a
[DOC] Use `rdoc-ref:@` shorthands for `rdoc-label:` tags
nobu Mar 28, 2024
7630a89
Use www.rfc-editor.org for RFC text.
hsbt Mar 28, 2024
2ab9fb1
[Bug #20398] Terminate token buffer at invalid octal number
nobu Mar 28, 2024
4fa8fef
Suppress warning at literal string
nobu Mar 28, 2024
7055dcf
[ruby/prism] Improve description for InterpolatedStringNodeFlags
andrykonchin Mar 28, 2024
03ab4a5
Clean symlinks to be runnable [ci skip]
nobu Mar 28, 2024
fa0a624
Don't check for dynamic symbol when reference updating
peterzhu2118 Mar 27, 2024
97b2cc3
Allow FormatError to take either String or Gem for source
jez Mar 25, 2024
fcc06fa
[ruby/prism] CLI -x flag
kddnewton Mar 28, 2024
f7c5e11
[PRISM] Use new -x prism API
kddnewton Mar 28, 2024
35ff302
[ruby/prism] Various cleanup with new -x option
kddnewton Mar 28, 2024
d583616
[ruby/prism] Ensure deserialization works with errors+warnings>256
kddnewton Mar 28, 2024
86e0d83
[PRISM] Simplify raising load errors
kddnewton Mar 28, 2024
3e9c684
[PRISM] Allow space before encoding comment
kddnewton Mar 28, 2024
a8f902e
[PRISM] Add debug info for frozen strings
kddnewton Mar 28, 2024
bb3cbdf
YJIT: add iseq_alloc_count to stats (#10398)
maximecb Mar 28, 2024
8780059
[ruby/prism] Reject invalid capture groups (keywords)
kddnewton Mar 28, 2024
a8ec347
[ruby/prism] Allow writing to keywords with named captures if they ar…
kddnewton Mar 28, 2024
817eecf
[PRISM] Enable passing regexp test
kddnewton Mar 28, 2024
f3c3574
YJIT: Optimize putobject+opt_ltlt for integers
XrXr Mar 28, 2024
02d40b6
Use ubf list on cygwin
fd00 Dec 26, 2023
e5def27
[rubygems/rubygems] Add "gem rebuild" command.
duckinator Sep 11, 2021
cd12dfd
[rubygems/rubygems] [rebuild_command] Avoid leaking files.
duckinator Jan 30, 2024
a28087a
[rubygems/rubygems] [rebuild_command] Add --diff flag to try using di…
duckinator Jan 31, 2024
54e0b80
[rubygems/rubygems] [rebuild_command] Use temporary directory instead…
duckinator Jan 31, 2024
fe096f6
[rubygems/rubygems] [rebuild_command] Clean up help text.
duckinator Jan 31, 2024
88d7be4
[rubygems/rubygems] [rebuild_command] Use Gem.* helpers.
duckinator Jan 31, 2024
dfe83df
[rubygems/rubygems] [rebuild_command] Bail early if the RubyGems vers…
duckinator Jan 31, 2024
54d90e1
[rubygems/rubygems] [rebuild] If --diff is not passed and a rebuild f…
duckinator Feb 28, 2024
d916dbc
[rubygems/rubygems] Improve formatting of "gem rebuild --help" output.
duckinator Feb 28, 2024
d19744f
[rubygems/rubygems] [build, rebuild] Split common find_gemspec() out …
duckinator Feb 29, 2024
38331c8
[rubygems/rubygems] [gemspec_helpers] Fix Rubocop warning.
duckinator Feb 29, 2024
8191735
[PRISM] Fix BEGIN{} execution order
kddnewton Mar 28, 2024
718c7d4
[ruby/prism] Handle NULL byte terminators for strings, regexps, and l…
kddnewton Mar 29, 2024
729a396
[ruby/prism] Fix calloc argument order
kddnewton Mar 29, 2024
f57c7fe
[PRISM] Have RubyVM::InstructionSequence.compile respect --parser=prism
kddnewton Mar 29, 2024
d7d59ea
[rubygems/rubygems] add test case to ensure updating with multiple so…
agrobbin Mar 29, 2024
cdb8d20
[PRISM] Fix error message for duplicate parameter name
kddnewton Mar 29, 2024
a6d8837
Update bundled gems list as of 2024-03-29
matzbot Mar 30, 2024
f697d32
Manage required baseruby version in one place
nobu Mar 30, 2024
376ae22
Manage required baseruby version in one place
nobu Mar 30, 2024
9579cf4
If we have a shape cache we should use it
tenderlove Mar 31, 2024
174b671
[rubygems/rubygems] [commands/rebuild] Remove unused DATE_FORMAT cons…
duckinator Mar 31, 2024
9d0a514
Add missing RB_GC_GUARDs related to DATA_PTR
KJTsanaktsidis Mar 30, 2024
e02a06f
Document how to run the tests under ASAN now that they pass!
KJTsanaktsidis Mar 31, 2024
80bda10
[ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb
KJTsanaktsidis Mar 31, 2024
e07178d
[DOC] Fix scope resolution operator typo in `Process#wait` docs
joshuay03 Apr 1, 2024
0774232
Remove unnecessary macros and functions for Universal Parser
S-H-GAMELINKS Mar 26, 2024
acfef7c
Use dummy data generated by RubyGems
hsbt Apr 1, 2024
70645a5
Write gzipped data as binary
nobu Apr 1, 2024
b50c4dc
Rename the variable
nobu Apr 1, 2024
1232975
add CI matrix for clang-19
shyouhei Apr 1, 2024
e26ac3a
Test finalizer is ran in bootstraptest
peterzhu2118 Mar 28, 2024
3ca0683
[rubygems/rubygems] Fix typo
deivid-rodriguez Mar 21, 2024
d342937
[rubygems/rubygems] Rename method for clarity
deivid-rodriguez Mar 21, 2024
acbd91e
[rubygems/rubygems] No need to sort twice when filling versions
deivid-rodriguez Mar 21, 2024
0a1e369
[rubygems/rubygems] Remove unnecessary filtering
deivid-rodriguez Mar 21, 2024
2b82b7d
[rubygems/rubygems] Update docs
deivid-rodriguez Mar 21, 2024
d69ef1c
[rubygems/rubygems] Let GemVersionPromoter sort in preferred order di…
deivid-rodriguez Mar 21, 2024
caaafbc
[rubygems/rubygems] Make it look more like BasicPackageSource
deivid-rodriguez Mar 21, 2024
b6ac37c
[rubygems/rubygems] No need for any version prioritization when build…
deivid-rodriguez Mar 21, 2024
bfdbdf7
[rubygems/rubygems] No need to check for root package every time
deivid-rodriguez Mar 21, 2024
f80bb38
[rubygems/rubygems] Keep unfiltered versions separately
deivid-rodriguez Mar 21, 2024
e2a1d0b
[rubygems/rubygems] Improve error message when strict resolution filt…
deivid-rodriguez Mar 21, 2024
508bddc
[ruby/reline] Align completion menu items
tompng Apr 1, 2024
a531cac
[ruby/reline] Refactor completion
tompng Apr 1, 2024
f1e385a
[ruby/prism] Track captures in pattern matching for duplicates
kddnewton Apr 1, 2024
c2735c4
[ruby/prism] Track duplicate hash keys for pattern matching
kddnewton Apr 1, 2024
ec879e7
[ruby/prism] Use RubyVM::InstructionSequence instead of Ripper for va…
kddnewton Apr 1, 2024
a9658b6
[ruby/prism] Do not track locals starting with _
kddnewton Apr 1, 2024
cc6668c
[PRISM] Enable passing pattern matching tests
kddnewton Apr 1, 2024
1e737ec
[ruby/prism] Fix up error message for invalid numbered reference alias
kddnewton Apr 1, 2024
fee70c1
[ruby/prism] Add better error messages for invalid block-locals
kddnewton Apr 1, 2024
a885d59
[ruby/prism] Match error message for multiple blocks given
kddnewton Apr 1, 2024
05904c3
[ruby/prism] Match error message for invalid class/module definition
kddnewton Apr 1, 2024
67bd5b3
[ruby/prism] Match error message for invalid class/module name
kddnewton Apr 1, 2024
d898f00
[ruby/prism] Match error messages for invalid instance/class variables
kddnewton Apr 1, 2024
d6c1cc5
[ruby/prism] Fix up error messages for empty global variable
kddnewton Apr 1, 2024
b7597da
[ruby/prism] Match more error messages
kddnewton Apr 1, 2024
b25282e
[ruby/prism] Replace . with decimal point for strtod
kddnewton Apr 1, 2024
8066e3e
Remove VALUE from `struct rb_strterm_struct`
yui-knk Apr 1, 2024
799e854
[Feature #20331] Simplify parser warnings for hash keys duplication a…
yui-knk Mar 23, 2024
4db7c8a
Warn ostruct for Ruby 3.5
hsbt Apr 2, 2024
94f5609
Use fixed version of rake with ostruct
hsbt Apr 2, 2024
a65d49c
Use Rake 13.2.0
hsbt Apr 2, 2024
457a30d
Update bundled gems list at a65d49ce77af76b29ee17ec64c15b7 [ci skip]
matzbot Apr 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@ jobs:
run: sudo rm /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb

- name: Initialize CodeQL
uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8
uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8
uses: github/codeql-action/autobuild@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8
uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
category: '/language:${{ matrix.language }}'
upload: False
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
continue-on-error: true

- name: Upload SARIF
uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v3.24.8
uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9
with:
sarif_file: sarif-results/${{ matrix.language }}.sarif
continue-on-error: true
5 changes: 3 additions & 2 deletions .github/workflows/compilers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ concurrency:
# environment variables (plus the "echo $GITHUB_ENV" hack) is to reroute that
# restriction.
env:
default_cc: clang-17
default_cc: clang-18
append_cc: ''

# -O1 is faster than -O3 in our tests... Majority of time are consumed trying
Expand Down Expand Up @@ -81,6 +81,7 @@ jobs:
optflags: '-O2'
shared: disable
# check: true
- { name: clang-19, env: { default_cc: clang-19 } }
- { name: clang-18, env: { default_cc: clang-18 } }
- { name: clang-17, env: { default_cc: clang-17 } }
- { name: clang-16, env: { default_cc: clang-16 } }
Expand Down Expand Up @@ -213,7 +214,7 @@ jobs:
runs-on: ubuntu-latest

container:
image: ghcr.io/ruby/ruby-ci-image:${{ matrix.entry.container || matrix.entry.env.default_cc || 'clang-17' }}
image: ghcr.io/ruby/ruby-ci-image:${{ matrix.entry.container || matrix.entry.env.default_cc || 'clang-18' }}
options: --user root

if: >-
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot_automerge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

steps:
- name: Dependabot metadata
uses: dependabot/fetch-metadata@c9c4182bf1b97f5224aee3906fd373f6b61b4526 # v1.6.0
uses: dependabot/fetch-metadata@0fb21704c18a42ce5aa8d720ea4b912f5e6babef # v2.0.0
id: metadata

- name: Wait for status checks
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
- name: Set up Launchable
uses: ./.github/actions/launchable/setup
with:
os: ${{ matrix.os }}
os: ${{ matrix.os || (github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-14')}}
test-opts: ${{ matrix.test_opts }}
launchable-token: ${{ secrets.LAUNCHABLE_TOKEN }}
builddir: build
Expand All @@ -105,7 +105,7 @@ jobs:
timeout-minutes: 60
env:
RUBY_TESTOPTS: '-q --tty=no'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'minitest,test-unit,debug,bigdecimal,drb,typeprof'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: ''
PRECHECK_BUNDLED_GEMS: 'no'

- name: make skipped tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prism.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
timeout-minutes: 40
env:
GNUMAKEFLAGS: ''
RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="test_regexp.rb" --exclude="error_highlight/test_error_highlight.rb" --exclude="prism/encoding_test.rb"'
RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="error_highlight/test_error_highlight.rb" --exclude="prism/encoding_test.rb" --exclude="prism/locals_test.rb" --exclude="prism/newline_test.rb"'
RUN_OPTS: ${{ matrix.run_opts }}

- name: make test-prism-spec
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
uses: github/codeql-action/upload-sarif@05963f47d870e2cb19a537396c1f668a348c7d8f # v2.1.27
uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v2.1.27
with:
sarif_file: results.sarif
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ jobs:
timeout-minutes: 40
env:
RUBY_TESTOPTS: '-q --tty=no'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'minitest,test-unit,debug,bigdecimal,drb,typeprof'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: ''
PRECHECK_BUNDLED_GEMS: 'no'

- name: make skipped tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/yjit-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ jobs:
timeout-minutes: 60
env:
RUBY_TESTOPTS: '-q --tty=no'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'minitest,test-unit,debug,bigdecimal,drb,typeprof'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: ''
PRECHECK_BUNDLED_GEMS: 'no'
SYNTAX_SUGGEST_TIMEOUT: '5'
YJIT_BINDGEN_DIFF_OPTS: '--exit-code'
Expand Down
30 changes: 15 additions & 15 deletions LEGAL
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,12 @@ mentioned below.

[ccan/list/list.h]

This file is licensed under the {MIT License}[rdoc-label:label-MIT+License].
This file is licensed under the {MIT License}[rdoc-ref:@MIT+License].

[coroutine]

Unless otherwise specified, these files are licensed under the
{MIT License}[rdoc-label:label-MIT+License].
{MIT License}[rdoc-ref:@MIT+License].

[include/ruby/onigmo.h]
[include/ruby/oniguruma.h]
Expand Down Expand Up @@ -546,7 +546,7 @@ mentioned below.

[vsnprintf.c]

This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].
This file is under the {old-style BSD license}[rdoc-ref:@Old-style+BSD+license].

>>>
Copyright (c) 1990, 1993::
Expand Down Expand Up @@ -577,7 +577,7 @@ mentioned below.

[missing/crypt.c]

This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].
This file is under the {old-style BSD license}[rdoc-ref:@Old-style+BSD+license].

>>>
Copyright (c) 1989, 1993::
Expand All @@ -588,7 +588,7 @@ mentioned below.

[missing/setproctitle.c]

This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].
This file is under the {old-style BSD license}[rdoc-ref:@Old-style+BSD+license].

>>>
Copyright 2003:: Damien Miller
Expand Down Expand Up @@ -879,7 +879,7 @@ mentioned below.
>>>
RubyGems is copyrighted free software by Chad Fowler, Rich Kilmer, Jim
Weirich and others. You can redistribute it and/or modify it under
either the terms of the {MIT license}[rdoc-label:label-MIT+License], or the conditions
either the terms of the {MIT license}[rdoc-ref:@MIT+License], or the conditions
below:

1. You may make and give away verbatim copies of the source form of the
Expand Down Expand Up @@ -941,7 +941,7 @@ mentioned below.
Portions copyright (c) 2010:: Andre Arko
Portions copyright (c) 2009:: Engine Yard

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/bundler/vendor/thor]

Expand All @@ -950,16 +950,16 @@ mentioned below.
>>>
Copyright (c) 2008 Yehuda Katz, Eric Hodel, et al.

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/rubygems/resolver/molinillo]
[lib/rubygems/vendor/molinillo]

molinillo is under the following license.

>>>
Copyright (c) 2014 Samuel E. Giddins segiddins@segiddins.me

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/bundler/vendor/pub_grub]

Expand All @@ -968,7 +968,7 @@ mentioned below.
>>>
Copyright (c) 2018 John Hawthorn

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/bundler/vendor/connection_pool]

Expand All @@ -977,7 +977,7 @@ mentioned below.
>>>
Copyright (c) 2011 Mike Perham

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/bundler/vendor/net-http-persistent]

Expand All @@ -986,7 +986,7 @@ mentioned below.
>>>
Copyright (c) Eric Hodel, Aaron Patterson

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/did_you_mean]
[lib/did_you_mean.rb]
Expand All @@ -997,7 +997,7 @@ mentioned below.
>>>
Copyright (c) 2014-2016 Yuki Nishijima

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[lib/error_highlight]
[lib/error_highlight.rb]
Expand All @@ -1008,7 +1008,7 @@ mentioned below.
>>>
Copyright (c) 2021 Yusuke Endoh

{MIT License}[rdoc-label:label-MIT+License]
{MIT License}[rdoc-ref:@MIT+License]

[benchmark/so_ackermann.rb]
[benchmark/so_array.rb]
Expand Down
7 changes: 4 additions & 3 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,22 @@ The following default gems are updated.
* net-http 0.4.1
* prism 0.24.0
* rdoc 6.6.3.1
* reline 0.5.0.pre.1
* reline 0.5.0
* resolv 0.4.0
* stringio 3.1.1
* strscan 3.1.1

The following bundled gems are updated.

* minitest 5.22.3
* rake 13.2.0
* test-unit 3.6.2
* net-ftp 0.3.4
* net-imap 0.4.10
* net-smtp 0.4.0.1
* net-smtp 0.5.0
* rbs 3.4.4
* typeprof 0.21.11
* debug 1.9.1
* debug 1.9.2

The following bundled gems are promoted from default gems.

Expand Down
1 change: 1 addition & 0 deletions array.c
Original file line number Diff line number Diff line change
Expand Up @@ -6643,6 +6643,7 @@ ary_sample(rb_execution_context_t *ec, VALUE ary, VALUE randgen, VALUE nv, VALUE
});
DATA_PTR(vmemo) = 0;
st_free_table(memo);
RB_GC_GUARD(vmemo);
}
else {
result = rb_ary_dup(ary);
Expand Down
8 changes: 8 additions & 0 deletions bootstraptest/test_finalizer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,11 @@
ObjectSpace.define_finalizer(a2,proc{a1.inspect})
ObjectSpace.define_finalizer(a1,proc{})
}, '[ruby-dev:35778]'

assert_equal 'true', %q{
obj = Object.new
id = obj.object_id

ObjectSpace.define_finalizer(obj, proc { |i| print(id == i) })
nil
}
2 changes: 1 addition & 1 deletion bootstraptest/test_syntax.rb
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@ def lines
}
def assert_syntax_error expected, code, message = ''
assert_match /^#{Regexp.escape(expected)}/,
"begin eval(%q{#{code}}, nil, '', 0)"'; rescue SyntaxError => e; e.message[/(?:\A:(?:\d+:)?(?: syntax error,)?|\^) (.*)/, 1] end', message
"begin eval(%q{#{code}}, nil, '', 0)"'; rescue SyntaxError => e; e.message[/(?:\^|\A:(?:\d+:)?(?! syntax errors? found)(?: syntax error,)?) (.*)/, 1] end', message
end
assert_syntax_error "unterminated string meets end of file", '().."', '[ruby-dev:29732]'
assert_equal %q{[]}, %q{$&;[]}, '[ruby-dev:31068]'
Expand Down
61 changes: 61 additions & 0 deletions bootstraptest/test_yjit.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4725,3 +4725,64 @@ def test_cases(file, chain)

test_cases(File, Enumerator::Chain)
}

# singleton class should invalidate Type::CString assumption
assert_equal 'foo', %q{
def define_singleton(str, define)
if define
# Wrap a C method frame to avoid exiting JIT code on defineclass
[nil].reverse_each do
class << str
def +(_)
"foo"
end
end
end
end
"bar"
end

def entry(define)
str = ""
# When `define` is false, #+ compiles to rb_str_plus() without a class guard.
# When the code is reused with `define` is true, the class of `str` is changed
# to a singleton class, so the block should be invalidated.
str + define_singleton(str, define)
end

entry(false)
entry(true)
}

assert_equal '[:ok, :ok, :ok]', %q{
def identity(x) = x
def foo(x, _) = x
def bar(_, _, _, _, x) = x

def tests
[
identity(:ok),
foo(:ok, 2),
bar(1, 2, 3, 4, :ok),
]
end

tests
}

# test integer left shift with constant rhs
assert_equal [0x80000000000, 'a+', :ok].inspect, %q{
def shift(val) = val << 43

def tests
int = shift(1)
str = shift("a")

Integer.define_method(:<<) { |_| :ok }
redef = shift(1)

[int, str, redef]
end

tests
}
2 changes: 2 additions & 0 deletions class.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include "internal/variable.h"
#include "ruby/st.h"
#include "vm_core.h"
#include "yjit.h"

/* Flags of T_CLASS
*
Expand Down Expand Up @@ -805,6 +806,7 @@ make_singleton_class(VALUE obj)
FL_SET(klass, FL_SINGLETON);
RBASIC_SET_CLASS(obj, klass);
rb_singleton_class_attached(klass, obj);
rb_yjit_invalidate_no_singleton_class(orig_class);

SET_METACLASS_OF(klass, METACLASS_OF(rb_class_real(orig_class)));
return klass;
Expand Down
Loading
Loading