[#92070] [Ruby trunk Feature#15667] Introduce malloc_trim(0) in full gc cycles — sam.saffron@...
Issue #15667 has been updated by sam.saffron (Sam Saffron).
3 messages
2019/04/01
[ruby-core:92391] [Ruby trunk Bug#15780] Module#const_defined?(String) executes autoloads
From:
eregontp@...
Date:
2019-04-24 04:28:27 UTC
List:
ruby-core #92391
Issue #15780 has been updated by Eregon (Benoit Daloze).
Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED
All stable versions have this bug.
----------------------------------------
Bug #15780: Module#const_defined?(String) executes autoloads
https://bugs.ruby-lang.org/issues/15780#change-77746
* Author: fxn (Xavier Noria)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]
* Backport: 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED
----------------------------------------
The documentation of `Module#const_defined?` says that autoloads are not executed:
> [...] if the constant is not present but there is an autoload for it, true is returned directly without autoloading.
While this seems to work as documented for symbols, constant names passed as strings trigger the autoload:
```
$ cat x.rb
p X = 1
$ cat foo.rb
Object.autoload("X", "x")
p Object.const_defined?("X")
$ ruby -I. foo.rb
1
true
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>