From: bughitgithub@... Date: 2020-02-20T19:08:30+00:00 Subject: [ruby-core:97220] [Ruby master Bug#16644] why is potential dynamic constant assignment an error when actual dynamic constant assignment is only a warning Issue #16644 has been reported by bughit (bug hit). ---------------------------------------- Bug #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 * Author: bughit (bug hit) * Status: Open * Priority: Normal * ruby -v: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- ```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: