summaryrefslogtreecommitdiff
path: root/spec/ruby/language
AgeCommit message (Collapse)Author
2022-04-25Update to ruby/spec@3affe1eBenoit Daloze
2022-03-30Do not autosplat array in block call just because keywords acceptedJeremy Evans
If the block only accepts a single positional argument plus keywords, then do not autosplat. Still autosplat if the block accepts more than one positional argument in addition to keywords. Autosplatting a single positional argument plus keywords made sense in Ruby 2, since a final positional hash could be used as keywords, but it does not make sense in Ruby 3. Fixes [Bug #18633] Notes: Merged: https://github.com/ruby/ruby/pull/5665 Merged-By: jeremyevans <[email protected]>
2022-03-28Update to ruby/spec@aaf998fBenoit Daloze
2022-03-04sitelibdir makes no sense in ruby itselfNobuyoshi Nakada
2022-03-03Update to ruby/spec@82cd3a3Benoit Daloze
2022-02-28spec: skip ext's extension spec for --with-static-linked-extYuta Saito
`resolve_feature_path` doesn't return .so when the given ext is linked statically by --with-static-linked-ext Notes: Merged: https://github.com/ruby/ruby/pull/5582
2022-01-28Update to ruby/spec@902ab83Benoit Daloze
2022-01-14Fix constant assignment evaluation orderJeremy Evans
Previously, the right hand side was always evaluated before the left hand side for constant assignments. For the following: ```ruby lhs::C = rhs ``` rhs was evaluated before lhs, which is inconsistant with attribute assignment (lhs.m = rhs), and apparently also does not conform to JIS 3017:2013 11.4.2.2.3. Fix this by changing evaluation order. Previously, the above compiled to: ``` 0000 putself ( 1)[Li] 0001 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0003 dup 0004 putself 0005 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0007 setconstant :C 0009 leave ``` After this change: ``` 0000 putself ( 1)[Li] 0001 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0003 putself 0004 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0006 swap 0007 topn 1 0009 swap 0010 setconstant :C 0012 leave ``` Note that if expr is not a module/class, then a TypeError is not raised until after the evaluation of rhs. This is because that error is raised by setconstant. If we wanted to raise TypeError before evaluation of rhs, we would have to add a VM instruction for calling vm_check_if_namespace. Changing assignment order for single assignments caused problems in the multiple assignment code, revealing that the issue also affected multiple assignment. Fix the multiple assignment code so left-to-right evaluation also works for constant assignments. Do some refactoring of the multiple assignment code to reduce duplication after adding support for constants. Rename struct masgn_attrasgn to masgn_lhs_node, since it now handles both constants and attributes. Add add_masgn_lhs_node static function for adding data for lhs attribute and constant setting. Fixes [Bug #15928] Notes: Merged: https://github.com/ruby/ruby/pull/4450
2022-01-10Update to ruby/spec@226cfdcBenoit Daloze
2021-12-28s/an Bignum/a Bignum/ [ci skip]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3927
2021-12-26Postpone fix of lookbehind with ss characters tentativelyNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5348
2021-12-01[win32] skip example about STDIN encodingsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5196
2021-11-29Update to ruby/spec@7f22a0bBenoit Daloze
2021-10-28Update to ruby/spec@21a48d9Benoit Daloze
2021-10-20Update to ruby/spec@d6921efBenoit Daloze
2021-10-05Update to ruby/spec@ccf0d85Benoit Daloze
2021-09-07Update to ruby/spec@b1e93a2Benoit Daloze
2021-08-19Fix test failure on spec/ruby/language/pattern_matching_spec.rbKazuki Tsujimoto
https://github.com/ruby/ruby/runs/3369486308
2021-08-19Allow omission of parentheses in one line pattern matching [Feature #16182]Kazuki Tsujimoto
2021-08-13Update to ruby/spec@330c641Benoit Daloze
2021-07-29Update to ruby/spec@b65d01fBenoit Daloze
2021-07-17Disable spec of `pattern matching is experimental` since 3.1Kazuhiro NISHIYAMA
2021-06-02Update to ruby/spec@a0b7d0dBenoit Daloze
2021-05-12Fix handling of control/meta escapes in literal regexpsJeremy Evans
Ruby uses a recursive algorithm for handling control/meta escapes in strings (read_escape). However, the equivalent code for regexps (tokadd_escape) in did not use a recursive algorithm. Due to this, Handling of control/meta escapes in regexp did not have the same behavior as in strings, leading to behavior such as the following returning nil: ```ruby /\c\xFF/ =~ "\c\xFF" ``` Switch the code for handling \c, \C and \M in literal regexps to use the same code as for strings (read_escape), to keep behavior consistent between the two. Fixes [Bug #14367] Notes: Merged: https://github.com/ruby/ruby/pull/4495
2021-03-27Update to ruby/spec@fd6edddBenoit Daloze
2021-02-27Update to ruby/spec@37e52e5Benoit Daloze
2021-02-16Fix a spec failureKazuhiro NISHIYAMA
http://ci.rvm.jp/logfiles/brlog.trunk-test.20210216-182358 ``` 1) $LOAD_PATH.resolve_feature_path raises LoadError if feature cannot be found FAILED Expected LoadError but no exception was raised (nil was returned) /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1275:in `block (3 levels) in <top (required)>' /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1259:in `block in <top (required)>' /tmp/ruby/v3/src/trunk-test/spec/ruby/language/predefined_spec.rb:1258:in `<top (required)>' ```
2021-01-28Update to ruby/spec@8cafaa5Benoit Daloze
2020-12-27Update to ruby/spec@4ce9f41Benoit Daloze
2020-12-21Use Integer instead of Fixnum/BignumNobuyoshi Nakada
2020-12-13Don't emit warning when the pattern of one-line pattern matching is just a ↵Kazuki Tsujimoto
variable pattern https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj
2020-12-12spec: suppress deprecations of "lambda(&proc_block)" patternYusuke Endoh
2020-11-27Update to ruby/spec@ac878adBenoit Daloze
2020-11-13Improve error message when subclassing non-ClassJeremy Evans
Fixes [Bug #14726] Notes: Merged: https://github.com/ruby/ruby/pull/3330
2020-11-13Update to ruby/spec@b0b7f53Benoit Daloze
2020-11-07Fix indentationKazuki Tsujimoto
2020-11-07Fix and remove spec testing undefined behaviorKazuki Tsujimoto
2020-11-01Use the suppress_warning helper instead of doing it manuallyKazuki Tsujimoto
2020-11-01Suppress "One-line pattern matching is experimental" warningKazuki Tsujimoto
2020-11-01Fix Rubyspec (ruby-2.7) failuresKazuki Tsujimoto
https://github.com/ruby/ruby/runs/1337845174
2020-11-01use one-line pattern matching for warning testsKoichi Sasada
2020-10-26Assoc pattern matching (#3703)Nobuyoshi Nakada
[Feature #17260] One-line pattern matching using tASSOC R-assignment is rejected instead. Notes: Merged-By: nobu <[email protected]>
2020-10-24Update to ruby/spec@4f59d86Benoit Daloze
2020-09-30Update to ruby/spec@bfd843aBenoit Daloze
2020-09-30Update to ruby/spec@9277d27Benoit Daloze
2020-09-25Disable deprecation warning by the default [Feature #16345]Nobuyoshi Nakada
And `-w` option turns it on. Notes: Merged: https://github.com/ruby/ruby/pull/3481
2020-09-152.8 -> 3.0 in specsBenoit Daloze
2020-09-15Interpolated strings are no longer frozen with frozen-string-literal: trueBenoit Daloze
* Remove freezestring instruction since this was the only usage for it. * [Feature #17104] Notes: Merged: https://github.com/ruby/ruby/pull/3488
2020-09-02Fix constant names set using const_set on a singleton classMarc-Andre Lafortune
Fixes [Bug #14895] Notes: Merged: https://github.com/ruby/ruby/pull/3502
2020-08-28Update to ruby/spec@335eb9bBenoit Daloze