>>>>> "G" == =?iso-8859-1?q?Ged=20Byrne?=  <iso-8859-1> writes:

G> Could anybody explain how this is working?

 This is this case

   require 'net/http'
   a = Net::HTTP.start('www.ruby-lang.org', 80) # new version
   Net::HTTP.version_1_1
   b = Net::HTTP.start('www.ruby-lang.org', 80) # old version


 Net::HTTP.version_1_1 has modified @@newimpl, but the instance variable
 @newimpl for `a' was not modified

 `a' will work with the new implementation
 `b' will work with the old implementation



Guy Decoux