pub(crate) fn get_targets_recursive( manifest_path: Option<&Path>, targets: &mut BTreeSet<Target>, visited: &mut BTreeSet<String> ) -> Result<(), Error>