If I do this:

  X = 'this is a test'         # this is a const reference to an object
  x = X                        # this is a non-const reference to the same
  x << '... testing ...'       # let's try and modify a "const" object
  p x
  p X

Then when I run ruby -w, I get:

  "this is a test... testing ..."
  "this is a test... testing ..."

1) Should Ruby issue a warning about modifiny a constant object?
2) Should I have frozen X explicitly to avoid this?
3) Could this lead to hidden bugs in Ruby code?

Paul