@@ -109,8 +109,8 @@ sufficient information, see the ChangeLog file or Redmine
109
109
` # frozen-string-literal: true` is used. [[Feature # 17104]]
110
110
111
111
* A static analysis foundation is introduced. See " Static analysis" section in detail.
112
- * RBS is introduced. It is a type definition language for Ruby programs.
113
- * TypeProf is experimentally bundled. It is a type analysis tool for Ruby programs.
112
+ * RBS is introduced. It is a type definition language for Ruby programs.
113
+ * TypeProf is experimentally bundled. It is a type analysis tool for Ruby programs.
114
114
115
115
# # Command line options
116
116
@@ -426,7 +426,7 @@ Excluding feature bug fixes.
426
426
427
427
* Integer#zero? overrides Numeric#zero? for optimization. [[Misc #16961]]
428
428
429
- * Requiring ' open - uri' no longer redefines `Kernel#open`.
429
+ * Requiring ' open - uri' no longer redefines `Kernel#open`.
430
430
Call `URI.open` directly or `use URI#open` instead. [[Misc #15893]]
431
431
432
432
## Stdlib compatibility issues
@@ -494,26 +494,26 @@ Excluding feature bug fixes.
494
494
495
495
* Memory view interface [EXPERIMENTAL]
496
496
497
- * The memory view interface is a C-API set to exchange a raw memory area,
498
- such as a numeric array and a bitmap image, between extension libraries.
499
- The extension libraries can share also the metadata of the memory area
500
- that consists of the shape, the element format, and so on.
501
- Using these kinds of metadata, the extension libraries can share even
502
- a multidimensional array appropriately.
503
- This feature is designed by referring to Python' s buffer protocol.
504
- [[Feature # 13767]] [[Feature #14722]]
497
+ * The memory view interface is a C-API set to exchange a raw memory area,
498
+ such as a numeric array and a bitmap image, between extension libraries.
499
+ The extension libraries can share also the metadata of the memory area
500
+ that consists of the shape, the element format, and so on.
501
+ Using these kinds of metadata, the extension libraries can share even
502
+ a multidimensional array appropriately.
503
+ This feature is designed by referring to Python' s buffer protocol.
504
+ [[Feature # 13767]] [[Feature #14722]]
505
505
506
506
# # Implementation improvements
507
507
508
508
* New method cache mechanism for Ractor [[Feature # 16614]]
509
509
510
- * Inline method caches pointed from ISeq can be accessed by multiple Ractors
511
- in parallel and synchronization is needed even for method caches. However ,
512
- such synchronization can be overhead so introducing new inline method cache
513
- mechanisms, (1 ) Disposable inline method cache (2 ) per- Class method cache
514
- and (3 ) new invalidation mechanism. (1 ) can avoid per- method call
515
- synchronization because it only uses atomic operations.
516
- See the ticket for more details.
510
+ * Inline method caches pointed from ISeq can be accessed by multiple Ractors
511
+ in parallel and synchronization is needed even for method caches. However ,
512
+ such synchronization can be overhead so introducing new inline method cache
513
+ mechanisms, (1 ) Disposable inline method cache (2 ) per- Class method cache
514
+ and (3 ) new invalidation mechanism. (1 ) can avoid per- method call
515
+ synchronization because it only uses atomic operations.
516
+ See the ticket for more details.
517
517
518
518
* The number of hashes allocated when using a keyword splat in
519
519
a method call has been reduced to a maximum of 1 , and passing
@@ -531,7 +531,7 @@ Excluding feature bug fixes.
531
531
532
532
* Not only pure Ruby methods but also some C methods skip pushing a method frame.
533
533
534
- * `Kernel#class`, `Integer#zero?`
534
+ * `Kernel#class`, `Integer#zero?`
535
535
536
536
* Always generate appropriate code for `==`, `nil?`, and `!` calls depending on
537
537
a receiver class.
@@ -558,10 +558,10 @@ Excluding feature bug fixes.
558
558
### TypeProf
559
559
560
560
* TypeProf is a type analysis tool for Ruby code based on abstract interpretation.
561
- * It reads non-annotated Ruby code, tries inferring its type signature, and prints
562
- the analysis result in RBS format.
563
- * Though it supports only a subset of the Ruby language yet, we will continuously
564
- improve the coverage of language features, the analysis performance, and usability.
561
+ * It reads non-annotated Ruby code, tries inferring its type signature, and prints
562
+ the analysis result in RBS format.
563
+ * Though it supports only a subset of the Ruby language yet, we will continuously
564
+ improve the coverage of language features, the analysis performance, and usability.
565
565
566
566
```ruby
567
567
# test.rb
0 commit comments