山本です。Struct を同じ名前で二度定義すると、

  s1 = Struct.new("Point", :x, :y)
  p1 = s1.new(2, 3)
  p p1

  s2 = Struct.new("Point", :size)
  p2 = s2.new(200)
  p p2

  p p1

というコードが SEGV します。ruby-1.8.1, ruby-1.8.2, HEAD, mswin版の
すべてで再現しました。

  E:\>ruby e.rb
  #<struct Struct::Point x=2, y=3>
  #<struct Struct::Point size=200>
  e.rb:13: [BUG] Segmentation fault
  ruby 1.8.2 (2004-09-03) [i386-bccwin32]

無名 Struct だと

  s1 = Struct.new(:x, :y)
  p1 = s1.new(2, 3)
  p p1

  s2 = Struct.new(:size)
  p2 = s2.new(200)
  p p2

  p p1

SEGV しません。

  E:\>ruby d.rb
  #<struct #<Class:0x2b5c2a8> x=2, y=3>
  #<struct #<Class:0x2b5bbd0> size=200>
  #<struct #<Class:0x2b5c2a8> x=2, y=3>