| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Gem::Specification#add_development_dependency
https://github.com/ruby/ostruct/commit/ed49920766
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are too unstable on the machine.
```
1) Failure:
TestRegexp#test_timeout_shorter_than_global [/home/chkbuild/chkbuild/tmp/build/20231018T230003Z/ruby/test/ruby/test_regexp.rb:1788]:
Expected |0.2 - 0.962938869| (0.7629388690000001) to be <= 0.15000000000000002.
```
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20231018T230003Z.fail.html.gz
```
1) Failure:
TestRegexp#test_timeout_longer_than_global [/home/chkbuild/chkbuild/tmp/build/20231017T140006Z/ruby/test/ruby/test_regexp.rb:1788]:
Expected |0.5 - 1.040696078| (0.5406960780000001) to be <= 0.375.
```
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20231017T140006Z.fail.html.gz
|
|
|
|
|
|
|
| |
When we eval the iseqs generated by prism, they can have side effects
like defining methods. In this case, we were defining the method "foo",
but other tests were expecting that the foo method would _not_ be
defined.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
We changed ScopeNodes to point to their parent (previous) ScopeNodes.
Accordingly, we can remove pm_compile_context_t, and store all
necessary context in ScopeNodes, allowing us to access locals from
outer scopes.
|
|
|
|
| |
This reverts commit fd87372a7482cbf7672c44ef95bc1dc3b00bab7c.
|
|
|
|
|
|
|
| |
It's an estimator for application size and could be used as a
compilation heuristic later.
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
|
|
|
|
| |
Co-authored-by: John Hawthorn <john@hawthorn.email>
|
|
|
|
| |
This reverts commit e3afc212ec059525fe4e5387b2a3be920ffe0f0e.
|
|
|
|
|
|
|
|
|
|
|
| |
These are necessary to get the tests passing with LibreSSL 3.8.1+,
which dropped support for TLSv1.0 and TLSv1.1 for security reasons.
This updates the tests to use TLSv1.2 on OpenBSD. This is only
strictly necessary on OpenBSD 7.4+, but it will work fine in previous
versions as well.
https://github.com/ruby/drb/commit/32707b2db5
|
|
|
| |
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.2 to 0.38.19.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.2...v0.38.19)
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/d906a8ceba
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/ee429f8d50
|
|
|
|
| |
https://github.com/ruby/prism/commit/41c0e0e06e
|
|
|
|
| |
https://github.com/ruby/prism/commit/aca24b3a17
|
|
|
|
| |
https://github.com/ruby/prism/commit/e8114a786a
|
|
|
|
| |
https://github.com/ruby/prism/commit/1985a9ba51
|
|
|
|
| |
https://github.com/ruby/prism/commit/d469a56e7e
|
| |
|
|
|
|
| |
https://github.com/ruby/prism/commit/555551e8f2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now, our Call{Operator,And,Or}WriteNode nodes represent two
different concepts:
```ruby
foo.bar += 1
foo[bar] += 1
```
These two statements are different in what they can support. The
former can never have arguments (or an opening_loc or closing_loc).
The former can also never have a block. Also, the former is a
variable method name.
The latter is always going to be []/[]=, it can have any number of
arguments including blocks (`foo[&bar] ||= 1`), and will always
have an opening_loc and closing_loc.
Furthermore, these statements end of having to take different paths
through the various compilers because with the latter you have to
consider the arguments and the block, whereas the former can
perform some additional peephole optimizations since there are
fewer values on the stack.
For these reasons, I'm introducing Index{Operator,And,Or}WriteNode.
These nodes never have a read_name or write_name on them because
they are always []/[]=. They also support blocks, which the previous
write nodes didn't. As a benefit of introducing these nodes, I've
removed the opening_loc, closing_loc, and arguments from the older
write nodes because they will always be null.
For the serialized format, both of these nodes end up being
smaller, and for in-memory we're storing fewer things in general,
so we have savings all around.
I don't love that we are introducing another node that is a call
node since we generally want consumers to only have to handle a
single call, but these nodes are so specific that they would have
to be handled separately anyway since in fact call 2 methods.
https://github.com/ruby/prism/commit/70155db9cd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, you can install multiple versions of the same gem just fine:
```
$ gem install simplecov:0.19.0 simplecov:0.22.0
Fetching simplecov-0.19.0.gem
Successfully installed simplecov-0.19.0
Parsing documentation for simplecov-0.19.0
Installing ri documentation for simplecov-0.19.0
Done installing documentation for simplecov after 0 seconds
Fetching simplecov-0.22.0.gem
Successfully installed simplecov-0.22.0
Parsing documentation for simplecov-0.22.0
Installing ri documentation for simplecov-0.22.0
Done installing documentation for simplecov after 0 seconds
2 gems installed
```
But to uninstall both of them, you need to run the equivalent uninstall
command twice:
```
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Successfully uninstalled simplecov-0.22.0
~$ gem uninstall simplecov:0.19.0 simplecov:0.22.0
Gem 'simplecov' is not installed
Successfully uninstalled simplecov-0.19.0
```
This resolves that problem by using the gem's full name (which includes
the version) when tracking which ones have already been uninstalled so
when it gets to the second version listed it doesn't think it was
already uninstalled.
https://github.com/rubygems/rubygems/commit/d96101b753
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If `assert_equal(backtrace_locations.size, profile_frames.size)` in
`TestProfileFrames#test_matches_backtrace_locations_main_thread`
failed, we do not have enough information about it like that:
```
1) Failure:
TestProfileFrames#test_matches_backtrace_locations_main_thread [/home/runner/work/ruby/ruby/src/test/-ext-/debug/test_profile_frames.rb:148]:
<31> expected but was
<30>.
```
This patch shows both `backtrace_locations` and `profile_frames`
if failed.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/8ade135a41bc03ea155e62e844d188df1ea18608...b4ffde65f46336ab88eb53be808477a3936bae11)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
| |
|
| |
|
|
|
|
| |
It seems saner to use RbConfig.ruby than using ruby in a random ancestor
directory.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some people encounter an issue that test_yjit uses the installed Ruby
instead of the currently-running Ruby. It's fixed when they remove the
installed Ruby.
However, test_yjit should run the currently-running Ruby for testing
YJIT in subprocesses. EnvUtil is unfortunately used outside tests as
well, so for compatibility reasons, this commit only changes the
argument given to EnvUtil.invoke_ruby to always use RbConfig.ruby.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
|
|
|
|
|
|
| |
> note: `#[deny(clippy::redundant_locals)]` on by default
On Rust 1.73.0.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
You can't encoding a string with more than one encoding so ensure that
the last one wins.
https://github.com/ruby/prism/commit/4182c988c9
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, the version-controlled `cruby_bindings.inc.rs` file
contained the build-time artifact `id.h`, which nobu mentioned hinders
the goal of having fewer magic numbers in the repository.
Lookup the IDs YJIT needs on boot. It costs cycles, but it's fine since
YJIT only uses a handful of IDs at the moment. No perceptible
degradation to boot time found in my testing.
|