diff options
| author | nagachika <nagachika@ruby-lang.org> | 2023-07-22 11:44:54 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2023-07-22 11:44:54 +0900 |
| commit | 46b62f44ce30bf234a76114c8249081e47ce3da4 (patch) | |
| tree | 33db10d6af02dc6d59cb1c53df6a446e5a6892d1 /test/ruby/test_string.rb | |
| parent | 3f6187a94797d3c4a7db00563a885e4e613b51cf (diff) | |
merge revision(s) 3592b24cdc07ed89eecb39161f21fe721a89a5de: [Backport #19531]
ObjectSpace::WeakMap: clean inverse reference when an entry is
re-assigned
[Bug #19531]
```ruby
wmap[1] = "A"
wmap[1] = "B"
```
In the example above, we need to remove the `"A" => 1` inverse reference
so that when `"A"` is GCed the `1` key isn't deleted.
---
test/ruby/test_weakmap.rb | 17 +++++++++
weakmap.c | 91 ++++++++++++++++++++++++++++++++++++++---------
2 files changed, 91 insertions(+), 17 deletions(-)
Diffstat (limited to 'test/ruby/test_string.rb')
0 files changed, 0 insertions, 0 deletions
