Граф коммитов

994 Коммитов

Автор SHA1 Сообщение Дата
git 92f72221f1 Update default gems list at c5ac18bbf4 [ci skip] 2024-03-21 04:39:19 +00:00
git f5dc9c98e5 Update default gems list at ee1ad009f3 [ci skip] 2024-03-21 04:05:48 +00:00
git 5c2937733c Update default gems list at d7bc6f0eff [ci skip] 2024-03-19 14:18:56 +00:00
Étienne Barrié 12be40ae6b Implement chilled strings
[Feature #20205]

As a path toward enabling frozen string literals by default in the future,
this commit introduce "chilled strings". From a user perspective chilled
strings pretend to be frozen, but on the first attempt to mutate them,
they lose their frozen status and emit a warning rather than to raise a
`FrozenError`.

Implementation wise, `rb_compile_option_struct.frozen_string_literal` is
no longer a boolean but a tri-state of `enabled/disabled/unset`.

When code is compiled with frozen string literals neither explictly enabled
or disabled, string literals are compiled with a new `putchilledstring`
instruction. This instruction is identical to `putstring` except it marks
the String with the `STR_CHILLED (FL_USER3)` and `FL_FREEZE` flags.

Chilled strings have the `FL_FREEZE` flag as to minimize the need to check
for chilled strings across the codebase, and to improve compatibility with
C extensions.

Notes:
  - `String#freeze`: clears the chilled flag.
  - `String#-@`: acts as if the string was mutable.
  - `String#+@`: acts as if the string was mutable.
  - `String#clone`: copies the chilled flag.

Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
2024-03-19 09:26:49 +01:00
git 6c18b2474d Update default gems list at 0985e58790 [ci skip] 2024-03-19 02:17:51 +00:00
Jean Boussier 8a8df49174 Update set_backtrace documentation
Followup: https://github.com/ruby/ruby/pull/10017

[Feature #13557]
2024-03-18 08:55:46 +01:00
Nobuyoshi Nakada e69708e5ef
[DOC] Mention about disallowed arguments in index
[Bug #19918]
[Bug #20218]
2024-03-17 13:37:02 +09:00
Peter Zhu 4e03d56e21 [Feature #20265] Update NEWS.md 2024-03-14 12:53:04 -04:00
git d5e9942ad2 Update bundled gems list at 04fc9f87be [ci skip] 2024-03-14 07:28:19 +00:00
git cc141b619e Update bundled gems list at 07b40044ad [ci skip] 2024-03-14 05:22:55 +00:00
git c0cb3f60e1 Update default gems list at 9fcb2bd5c0 [ci skip] 2024-03-07 02:15:40 +00:00
git a465393cb9 Update bundled gems list at 874e9fc34d [ci skip] 2024-03-01 03:33:42 +00:00
git 6108962030 Update default gems list at 2c1b7bc51c [ci skip] 2024-02-25 08:07:53 +00:00
Yusuke Endoh a605234bfa NEWS.md: Add a note for [Feature #16495] and [Feature #19117] 2024-02-20 16:17:20 +09:00
git fabec3909c Update bundled gems list at 96ede4d192 [ci skip] 2024-02-19 08:14:17 +00:00
git 0972cfb795 Update bundled gems list at 935fc22545 [ci skip] 2024-02-19 04:28:46 +00:00
git bf5cc9ef8c Update default gems list at e7f7a85285 [ci skip] 2024-02-15 20:51:11 +00:00
git f1136e73e8 Update default gems list at 12b0e67fec [ci skip] 2024-02-14 14:59:30 +00:00
git 6756dbf3bb Update bundled gems list at 443c5c06ac [ci skip] 2024-02-08 14:17:39 +00:00
git 0292d1b7c3 Update bundled gems list as of 2024-02-07 2024-02-08 08:28:37 +00:00
git 43af20602e Update default gems list at a35cade791 [ci skip] 2024-02-08 06:07:33 +00:00
git a5c871e201 Update default gems list at fcc8df622a [ci skip] 2024-02-07 18:37:16 +00:00
git f741b05d1f Update default gems list at 0b7f516834 [ci skip] 2024-02-07 16:59:28 +00:00
git 0a88437de2 Update default gems list at 0b5be2f9e9 [ci skip] 2024-02-05 16:08:06 +00:00
Kazuhiro NISHIYAMA 8b897e6026
[DOC] Update NEWS refs 2024-02-04 18:39:22 +09:00
git ae0441358b Update default gems list at e9f1324464 [ci skip] 2024-02-01 17:53:16 +00:00
Takashi Kokubun 6b350bc6e4 [DOC] Note about the ticket number 2024-01-30 09:54:04 -08:00
Takashi Kokubun 1891b4b6c3 [DOC] Add a NEWS entry about Array#each
in response to [Bug #20227]
2024-01-30 09:49:27 -08:00
git 30b4070ffa Update bundled gems list at b822f9f6fc [ci skip] 2024-01-25 23:48:01 +00:00
git b841e32bbb Update default gems list at d940e3b2c3 [ci skip] 2024-01-22 10:40:26 +00:00
git 15f6ee057d Update bundled gems list at 754e4e0c9c [ci skip] 2024-01-22 09:23:58 +00:00
git a70e500494 Update default gems list at 3d19409637 [ci skip] 2024-01-22 07:06:37 +00:00
git 3736130dfa Update bundled gems list at 8bcc764f71 [ci skip] 2024-01-22 07:00:13 +00:00
git 4d31d6802a Update bundled gems list at 38a1b88d1e [ci skip] 2024-01-22 05:18:23 +00:00
git 12e697f99d Update default gems list at 5b109ff14d [ci skip] 2024-01-22 03:31:13 +00:00
git 0fadac4c7d Update bundled gems list at 52fc93cab7 [ci skip] 2024-01-22 02:09:35 +00:00
git 7b0f6d6d94 Update bundled gems list at c46d23cde7 [ci skip] 2024-01-19 11:02:59 +00:00
git 0f315216bb Update bundled gems list as of 2024-01-19 2024-01-19 08:57:54 +00:00
git 9ac316bb48 Update bundled gems list at 11ec59c92b [ci skip] 2024-01-19 07:28:30 +00:00
git e8cb9e1328 Update bundled gems list as of 2024-01-18 2024-01-19 06:35:57 +00:00
git 74e5665ec1 Update default gems list at b2ec4308d6 [ci skip] 2024-01-19 02:16:35 +00:00
git 74ce7905d7 Update bundled gems list at 419f4260aa [ci skip] 2024-01-18 07:23:49 +00:00
git 4095191f2c Update default gems list at af60cdf674 [ci skip] 2024-01-18 01:37:52 +00:00
git 6ddd583ad2 Update bundled gems list at fd81c887f9 [ci skip] 2024-01-17 22:44:42 +00:00
git 88bb09b3be Update bundled gems list at 6c016a4197 [ci skip] 2024-01-16 23:29:01 +00:00
git ee405518d4 Update bundled gems list at 4b6936aa04 [ci skip] 2024-01-16 08:07:41 +00:00
Jeremy Evans 5c823aa686
Support keyword splatting nil
nil is treated similarly to the empty hash in this case, passing
no keywords and not calling any conversion methods.

Fixes [Bug #20064]

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2024-01-14 11:41:02 -08:00
git 18d85af969 Update bundled gems list as of 2024-01-12 2024-01-12 06:58:39 +00:00
git c4051d5f43 Update bundled gems list at 1500946ce4 [ci skip] 2024-01-10 08:28:55 +00:00
git 557f1a5705 Update default gems list at 99933751c1 [ci skip] 2024-01-05 14:33:04 +00:00