code: func (m *Module) AllPluginRequirements() discovery.PluginRequirements {
  	var ret discovery.PluginRequirements
  	m.WalkTree(func(path []string, parent *Module, current *Module) error {
  		ret = ret.Merge(current.PluginRequirements())
  		return nil
  	})
  	return ret
  }
docs: // AllPluginRequirements calls PluginRequirements for the receiver and all
  // of its descendents, and merges the result into a single PluginRequirements
  // structure that would satisfy all of the modules together.
  //
  // Requirements returned by this method include only version constraints,
  // and apply no particular SHA256 hash constraint.