Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

컴파일러 팀이 유지 관리하는 저장소

컴파일러 코드의 대부분은 rust-lang/rust 저장소에 있지만, 컴파일러 팀이 책임지는 다른 크레이트/의존성을 담은 추가 저장소도 몇 개 있습니다.

이들 저장소 중 어디에서 발생한 긴급한 이슈에도 팀이 대응할 수 있도록, 컴파일러 팀의 모든 구성원은 풀 리퀘스트를 생성하고 병합할 수 있는 권한을 가지고 있습니다. 하지만 각 저장소에는 보통 해당 저장소를 가장 잘 알고 주요 메인테이너 역할을 하는 팀 구성원이 있습니다.

  • 컴파일러 개발에 관심 있는 사람들을 위한 입문 문서인 rustc 개발 가이드입니다.
  • 컴파일러나 인접한 도구 및 구성 요소의 변경 제안을 등록하는 데 사용하는 팀 자체의 저장소입니다.
  • Cranelift에 기반한 실험적인 rustc 백엔드인 cranelift입니다. 디버그 모드에서 컴파일 시간을 개선할 가능성이 있습니다. 현재 bjorn3이 유지 관리하고 있습니다.
  • 컴파일러 팀이 유지 관리하는 LLVM::APFloat 라이브러리의 Rust 포트입니다. LLVM 라이브러리의 포트이기 때문에 이 저장소는 다른 저장소와 라이선스 조건이 미묘하게 다릅니다. rustc_apfloat#licensing을 참고하십시오.
  • LLVM 및 MLIR을 위한 고성능 자동 미분기인 Enzyme의 포크입니다(자세한 정보는 이 링크를 참고하십시오). 이 포크는 ZuseZ4가 유지 관리합니다.
  • thorin은 GNU 확장 및 DWARF 5 패키지 형식을 지원하는 DWARF 패키징 유틸리티입니다. 주로 davidtwco가 유지 관리합니다.
  • 지금 읽고 계신 문서 웹사이트인 Rust Forge입니다. Rust 프로젝트 전체가 공동으로 유지 관리합니다.
  • ar_archive_writer: 앞서 언급한 LLVM::APFloat 라이브러리와 마찬가지로 다른 저장소와 라이선스가 약간 다릅니다. ar_archive_writer#licensing을 참고하십시오.
  • datafrog는 다른 Rust 프로그램에 내장하여 사용하도록 만든 경량 Datalog 엔진입니다(TODO: 상태?).
  • ena는 Rust로 작성된 union-find / 합동 클로저(congruence-closure) 구현체로, 추론 변수 테이블의 기반 구현을 담고 있습니다. 추론 변수의 인스턴스화와 병합을 추적하는 역할을 합니다.
  • literal-escaper는 문자열 리터럴의 이스케이프를 해제하는 라이브러리입니다. rustc_lexer와 proc_macro에서 사용합니다.
  • miri는 Rust의 중간 수준 중간 표현(MIR)을 위한 인터프리터입니다. 안전성 요구 사항을 지키지 않는 unsafe 코드를 탐지합니다.
  • measureme는 rustc 이벤트를 기록하고 바이너리 형식으로 직렬화하는 라이브러리입니다. 현재는 rustc 내부에서만 사용합니다.
  • odht는 사전 디코딩 없이 디스크에서 메모리로 매핑할 수 있는 해시 테이블을 위한 크레이트입니다. 현재는 rustc 내부에서만 사용합니다.
  • rustc-demangle: rustc 심볼의 디맹글링을 제공합니다(문서).
  • rustc-hash는 rustc에서 사용하는 비암호학적 해싱 알고리즘입니다.
  • rustc-rayon은 Rust용 데이터 병렬 처리 라이브러리인 Rayon의 포크입니다. 이는 rustc 컴파일을 병렬화하려는 지속적인 노력의 일환입니다. 작업 영역을 참고하십시오.
  • rustc-stable-hash는 rustc가 사용하는 크로스 플랫폼 해싱 알고리즘으로, 결정적이며 보안성이 없습니다.
  • stacker는 스택 공간이 부족할 때 스택을 늘릴 수 있도록 돕는 라이브러리입니다. 문서를 참고하십시오.

내부용 도구를 담은 그 밖의 저장소는 다음과 같습니다.

  • cargo-bisect: Rust 컴파일러의 회귀를 이분 탐색하는 도구로, 버그가 어디에서 도입되었는지 찾는 데 매우 유용합니다.
  • 모든 팀이 회의를 등록하는 캘린더가 있습니다. 캘린더 클라이언트는 .ics 파일을 가져와 업데이트를 받을 수 있습니다.
  • jobserver-rs: Rust용 GNU Make jobserver 구현체입니다. 문서를 참고하십시오.
  • josh-sync: rust-lang/rust 저장소에 있는 Josh 서브트리의 Just One Single History 동기화(pull 및 push)를 수행하는 라이브러리입니다.

Rust 프로젝트에 기여를 시작하고 싶거나 이미 기여하고 계시고, 이 저장소들 중 어느 것에든 전문 지식이나 관심이 있으시다면 언제든 연락해 주십시오!