class Backports::StdLib::LoadedFeatures

def self.mark_as_loaded(feature)

def self.mark_as_loaded(feature)
  @@our_loads[feature] = true
  # Nothing to do, the full path will be OK
end

def self.mark_as_loaded(feature)

def self.mark_as_loaded(feature)
  $LOADED_FEATURES << "#{File.basename(feature, '.rb')}.rb"
end

def include?(feature)

Check loaded features for one that matches "#{any of the load path}/#{feature}"
def include?(feature)
  return true if @@our_loads[feature]
  # Assume backported features are Ruby libraries (i.e. not C)
  @loaded ||= $LOADED_FEATURES.group_by{|p| File.basename(p, ".rb")}
  if fullpaths = @loaded[File.basename(feature, ".rb")]
    fullpaths.any?{|fullpath|
      base_dir, = fullpath.partition("/#{feature}")
      $LOAD_PATH.include?(base_dir)
    }
  end
end

def include?(feature)

Requested features are recorded in $LOADED_FEATURES
def include?(feature)
  # Assume backported features are Ruby libraries (i.e. not C)
  $LOADED_FEATURES.include?("#{File.basename(feature, '.rb')}.rb")
end