rails clears $LOAD_PATH too aggressively


At least on my box, rails has the outside potential of making gems
load in the wrong order on 1.9

[first install test-unit gem v 2.0.6, 1.2.3]

  gem 'rails', '= 2.3.5'
  $LOAD_PATH.uniq! # active_support (?) does this internally

  # now load a gem:
  gem 'test-unit', '= 1.2.3'
  require 'test/unit/version'
  puts Test::Unit::VERSION # should be 1.2.3

The reason for this is that gems on 1.9 relies on gem_prelude to have
left a marker in the load path:

$LOAD_PATH.find{|l| l.instance_variables.include?

running this before and after the uniq! shows that uniq! is apparently
accidentally removing said marker.

This causes weirdness when running tests that use the gem 'xxx', '=
1.2.3' style of loading (ex: rspec).

Is this a known bug?
Anybody want to patch this up, or I probably could.