1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/core/module
Jeremy Evans 08759edea8
Remove autoload for constant if the autoload fails
Previously, if an autoload failed (the file was loaded, but the
constant was not defined by the autoloaded file). Ruby will try
to autoload again if you delete the autoloaded file from
$LOADED_FEATURES.  With this change, the autoload and the
constant itself are removed as soon as it fails.

To handle cases where multiple threads are autoloading, when
deleting an autoload, handle the case where another thread
already deleted it.

Fixes [Bug #15790]
2021-10-08 14:54:26 -07:00
..
fixtures
shared
alias_method_spec.rb
ancestors_spec.rb
append_features_spec.rb
attr_accessor_spec.rb
attr_reader_spec.rb
attr_spec.rb
attr_writer_spec.rb
autoload_spec.rb Remove autoload for constant if the autoload fails 2021-10-08 14:54:26 -07:00
case_compare_spec.rb
class_eval_spec.rb
class_exec_spec.rb
class_variable_defined_spec.rb
class_variable_get_spec.rb
class_variable_set_spec.rb
class_variables_spec.rb
comparison_spec.rb
const_defined_spec.rb
const_get_spec.rb
const_missing_spec.rb
const_set_spec.rb Remove autoload for constant if the autoload fails 2021-10-08 14:54:26 -07:00
const_source_location_spec.rb
constants_spec.rb
define_method_spec.rb
define_singleton_method_spec.rb
deprecate_constant_spec.rb
eql_spec.rb
equal_spec.rb
equal_value_spec.rb
extend_object_spec.rb
extended_spec.rb
freeze_spec.rb
gt_spec.rb
gte_spec.rb
include_spec.rb
included_modules_spec.rb
included_spec.rb
initialize_copy_spec.rb
initialize_spec.rb
instance_method_spec.rb
instance_methods_spec.rb
lt_spec.rb
lte_spec.rb
method_added_spec.rb
method_defined_spec.rb
method_removed_spec.rb
method_undefined_spec.rb
module_eval_spec.rb
module_exec_spec.rb
module_function_spec.rb
name_spec.rb
nesting_spec.rb
new_spec.rb
prepend_features_spec.rb
prepend_spec.rb
prepended_spec.rb
private_class_method_spec.rb
private_constant_spec.rb
private_instance_methods_spec.rb
private_method_defined_spec.rb
private_spec.rb
protected_instance_methods_spec.rb
protected_method_defined_spec.rb
protected_spec.rb
public_class_method_spec.rb
public_constant_spec.rb
public_instance_method_spec.rb
public_instance_methods_spec.rb
public_method_defined_spec.rb
public_spec.rb
refine_spec.rb
remove_class_variable_spec.rb
remove_const_spec.rb
remove_method_spec.rb
ruby2_keywords_spec.rb
singleton_class_spec.rb
to_s_spec.rb
undef_method_spec.rb
using_spec.rb