[#97063] [Ruby master Bug#16608] ConditionVariable#wait should return false when timeout exceeded — shugo@...

Issue #16608 has been reported by shugo (Shugo Maeda).

10 messages 2020/02/05

[#97084] [Ruby master Feature#16614] New method cache mechanism for Guild — ko1@...

Issue #16614 has been reported by ko1 (Koichi Sasada).

18 messages 2020/02/07

[#97248] [Ruby master Bug#16651] Extensions Do Not Compile on Mingw64 — cfis@...

Issue #16651 has been reported by cfis (Charlie Savage).

17 messages 2020/02/24

[#97289] [Ruby master Bug#16658] `method__cache__clear` DTrace hook was dropped without replacement — v.ondruch@...

Issue #16658 has been reported by vo.x (Vit Ondruch).

9 messages 2020/02/27

[#97307] [Ruby master Feature#16663] Add block or filtered forms of Kernel#caller to allow early bail-out — headius@...

Issue #16663 has been reported by headius (Charles Nutter).

29 messages 2020/02/28

[#97310] [Ruby master Feature#16665] Add an Array#except_index method — alexandr1golubenko@...

Issue #16665 has been reported by alex_golubenko (Alex Golubenko).

12 messages 2020/02/29

[ruby-core:97242] [Ruby master Misc#16644] why is potential dynamic constant assignment an error when actual dynamic constant assignment is only a warning

From: merch-redmine@...
Date: 2020-02-22 19:07:46 UTC
List: ruby-core #97242
Issue #16644 has been updated by jeremyevans0 (Jeremy Evans).

Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN)
ruby -v deleted (ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux])
Tracker changed from Bug to Misc

These are two different things.  Ruby always warns for assigning to an existing constant, regardless of using `const_set` or `CONST = ...`.  It does not support using `CONST = ...` inside a method, though `const_set` is allowed.  Similarly, you can use `Class.new` and `Module.new` to define classes and modules in method bodies, but you can't use the `class` or `module` keywords directly in method bodies.

This behavior exists at least back to 1.8, and probably before that.  I'm fairly sure this is the expected behavior.  If you would like the behavior changed, please submit a feature request.

I realize this does not directly answer the question in the issue subject.  I'm switching this to the Misc tracker, since this is not a bug report.

----------------------------------------
Misc #16644: why is potential dynamic constant assignment an error when actual dynamic constant assignment is only a warning 
https://bugs.ruby-lang.org/issues/16644#change-84353

* Author: bughit (bug hit)
* Status: Open
* Priority: Normal
----------------------------------------
```rb
module Mod1
  def self.define_consts
    const_set(:CONST1, :CONST1)

    # this is actual const re-assignment but only a warning
    const_set(:CONST1, :CONST1)
    
    
    # this is const initialization but becomes an error
    # because it looks like it could be re-assignment
    # if actual const re-assignment is only a warning
    # why is a possible const re-assignment (which might not be one), an error
    self::CONST2 = :CONST2 unless const_defined?(:CONST2, false)
    
  end
  
  define_consts
end
```



-- 
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>

In This Thread