컴파일러 팀이 관리하는 저장소
rust-lang/rust 저장소가 컴파일러 코드의 대부분을 가지고 있지만, 컴파일러 팀이 책임지는 다른 크레이트/의존성을 포함한 몇 가지 추가 저장소가 있습니다:
이 저장소들 중 어디에서든 발생하는 긴급한 이슈에 팀이 대응할 수 있도록, 컴파일러 팀의 모든 구성원은 풀 리퀘스트를 생성하고 병합할 수 있는 권한을 가지고 있습니다. 다만, 각 저장소에는 일반적으로 해당 저장소를 가장 잘 아는 팀 구성원들이 있으며, 이들이 주요 메인테이너 역할을 합니다.
- 컴파일러를 해킹하는 데 관심 있는 사람들을 위한 진입점 문서인
rustc개발 가이드입니다. - 팀 자체의 저장소로, 컴파일러 또는 인접 툴링 및 구성 요소에 대한 변경 제안을 등록하는 데 사용됩니다.
- Cranelift를 기반으로 한 실험적인 rustc 백엔드인
cranelift입니다. 이는 디버그 모드에서 컴파일 시간을 개선할 잠재력이 있습니다. 현재 bjorn3가 관리하고 있습니다. 이는 디버그 모드에서 컴파일 시간을 개선할 잠재력이 있습니다. 현재 bjorn3가 관리하고 있습니다. - 컴파일러 팀이 관리하는
LLVM::APFloat라이브러리의 Rust 포트입니다. LLVM 라이브러리의 포트로서, 이 저장소는 다른 저장소들과 미묘하게 다른 라이선스 체계를 가지고 있습니다. rustc_apfloat#licensing을 참조하십시오. - LLVM 및 MLIR용 고성능 자동 미분기인 Enzyme의 포크입니다(자세한 정보는 이 링크 참조). 이 포크는 ZuseZ4가 관리하고 있습니다.
- GNU 확장 및 DWARF 5 패키지 형식을 지원하는 DWARF 패키징 유틸리티인
thorin입니다. 주로 davidtwco가 관리하고 있습니다. - 여러분이 읽고 있는 문서 웹사이트인 Rust Forge입니다. Rust 프로젝트가 공동으로 관리하고 있습니다. Rust 프로젝트가 공동으로 관리하고 있습니다.
ar_archive_writer: 다른LLVM::APFloat라이브러리와 마찬가지로, 이 라이브러리의 라이선스는 다른 저장소들과 약간 다릅니다. ar_archive_writer#licensing을 참조하십시오.- 다른 Rust 프로그램에 임베드되도록 의도된 경량 Datalog 엔진인
datafrog입니다(TODO: 상태?) ena는 Rust로 구현된 union-find / 합동 폐쇄(congruence-closure)로, 우리 추론 변수 테이블의 기저 구현을 포함합니다. 즉 추론 변수의 인스턴스화와 병합을 추적하는 역할을 합니다.literal-escaper는 문자열 리터럴을 언이스케이프하는 라이브러리입니다. 이는rustc_lexer와proc_macro에서 사용됩니다.miri는 Rust의 중간 수준 중간 표현(mid-level intermediate representation)을 위한 인터프리터입니다. 안전 요구 사항을 지키지 못하는 unsafe 코드를 탐지합니다. 안전성 요구 사항을 지키지 못하는 안전하지 않은 코드를 탐지합니다.measureme는rustc이벤트를 기록하고 바이너리 형식으로 직렬화하는 라이브러리입니다. 현재는rustc자체 내부용으로만 사용됩니다.odht는 사전 디코딩 없이 디스크에서 메모리로 매핑할 수 있는 해시 테이블을 위한 크레이트입니다. 현재는rustc자체 내부용으로만 사용됩니다.rustc-demangle:rustc심볼을 위한 디맹글링입니다(문서).rustc-hash는rustc가 사용하는 비암호화 해싱 알고리즘입니다rustc-rayon은 Rust용 Rayon 데이터 병렬화 라이브러리의 포크입니다. 이는rustc컴파일을 병렬화하기 위한 지속적인 노력의 일환입니다. 자세한 내용은 저희의 working areas를 참조하십시오.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 프로젝트에 기여를 시작하려 하거나(또는 이미 기여하고 있으며) 이러한 저장소 중 어느 것에라도 전문 지식이나 관심이 있다면, 부담 없이 연락해 주십시오!