From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2025-02-27T02:11:11+00:00 Subject: [ruby-core:121187] [Ruby master Bug#21159] `Module#set_temporary_name` should freeze given name Issue #21159 has been updated by nobu (Nobuyoshi Nakada). Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED, 3.4: REQUIRED https://github.com/ruby/ruby/pull/12819 ---------------------------------------- Bug #21159: `Module#set_temporary_name` should freeze given name https://bugs.ruby-lang.org/issues/21159#change-112122 * Author: ko1 (Koichi Sasada) * Status: Open * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED, 3.4: REQUIRED ---------------------------------------- I think it is preferable to freeze the name. So `#set_temporary_name` should copy and freeze the name string. ```ruby c = Class.new.set_temporary_name(str = +'') p c #=> str.upcase! p c #=> actual: #=> expected: p c.name.frozen? #=> actual: false #=> expected: true ``` >From the Ractor's aspect, shareable modules should refer only immutable string. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/