Actions
Bug #21159
closed`Module#set_temporary_name` should freeze given name
    Bug #21159:
    `Module#set_temporary_name` should freeze given name
  
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) 8 months ago
          Updated by nobu (Nobuyoshi Nakada) 8 months 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
        
           Updated by nobu (Nobuyoshi Nakada) 8 months ago
          Updated by nobu (Nobuyoshi Nakada) 8 months ago
          
          
        
        
      
      - Status changed from Open to Closed
Applied in changeset git|931ac960b6d11937364b6c4e847fdd575ee67980.
[Bug #21159] module names should not be modifiable
        
           Updated by ufuk (Ufuk Kayserilioglu) 8 months ago
          Updated by ufuk (Ufuk Kayserilioglu) 8 months ago
          
          
        
        
      
      - Backport changed from 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED, 3.4: DONE
ruby_3_4 ddb73fbd115631e6dec3bdd230c1cfc13027602e.
        
           Updated by nagachika (Tomoyuki Chikanaga) 8 months ago
          Updated by nagachika (Tomoyuki Chikanaga) 8 months ago
          
          
        
        
      
      - Backport changed from 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED, 3.4: DONE to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE, 3.4: DONE
ruby_3_3 1d3c19871d7a0d05a0f0a80e78cfad843b7ef324 merged revision(s) 931ac960b6d11937364b6c4e847fdd575ee67980.
Actions