content: # moon: The build system and package manager for MoonBit.
  # Copyright (C) 2024 International Digital Economy Academy
  #
  # This program is free software: you can redistribute it and/or modify
  # it under the terms of the GNU Affero General Public License as published by
  # the Free Software Foundation, either version 3 of the License, or
  # (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU Affero General Public License for more details.
  #
  # You should have received a copy of the GNU Affero General Public License
  # along with this program.  If not, see <https://www.gnu.org/licenses/>.
  #
  # For inquiries, you can contact us via e-mail at jichuruanjian@idea.edu.cn.
  
  # Banning direct I/O functions. Rupes Recta should not perform any file I/O
  # operations directly except when strictly necessary (e.g. reading config
  # files).
  disallowed-methods = [
      "std::fs::remove_file",
      "std::fs::read",
      "std::fs::read_to_string",
      "std::fs::write",
      "std::fs::copy",
      "std::fs::rename",
      "std::fs::metadata",
      "std::fs::set_permissions",
      "std::fs::read_dir",
      "std::fs::create_dir",
      "std::fs::create_dir_all",
      "std::fs::remove_dir",
      "std::fs::remove_dir_all",
      "std::fs::File::open",
      "std::fs::File::create",
      # Moonutil functions that perform file I/O
      "moonutil::common::read_module_from_json",
      "moonutil::common::write_module_json_to_file",
      "moonutil::common::write_package_json_to_file",
      "moonutil::common::read_module_desc_file_in_dir",
      "moonutil::common::read_package_desc_file_in_dir",
      "moonutil::scan::get_mbt_and_test_file_paths",
      "moonutil::dirs::create_moon_db",
      "moonutil::dirs::recreate_moon_db",
      "moonutil::dirs::clean_dir_in_target",
      "moonutil::doc_test::DocTestPatch::write_to_path",
  ]
  disallowed-types = [
      "std::fs::File",
      "std::io::Stdin",
      "std::io::Stdout",
      "std::io::Stderr",
  ]
  