Project

General

Profile

Actions

Bug #21159

closed

`Module#set_temporary_name` should freeze given name

Added by ko1 (Koichi Sasada) about 19 hours ago. Updated about 12 hours ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:121183]

Description

I think it is preferable to freeze the name.
So #set_temporary_name should copy and freeze the name string.

c = Class.new.set_temporary_name(str = +'<c>')
p c          #=> <c>
str.upcase!
p c          #=> actual: <C>
             #=> expected: <c>
p c.name.frozen?
             #=> actual: false
             #=> expected: true

From the Ractor's aspect, shareable modules should refer only immutable string.

Updated by nobu (Nobuyoshi Nakada) about 13 hours ago

  • 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
Actions #2

Updated by nobu (Nobuyoshi Nakada) about 12 hours ago

  • Status changed from Open to Closed

Applied in changeset git|931ac960b6d11937364b6c4e847fdd575ee67980.


[Bug #21159] module names should not be modifiable

Actions

Also available in: Atom PDF

Like0
Like0Like0