작업 영역
컴파일러 팀이 진행 중인 작업과 계획 중 상당수는 특정 작업 영역에 관심 있는 사람들로 구성된 그룹에 의해 수행됩니다. 이러한 그룹은 하나의 영역에 초점을 맞춘 일련의 작업을 제공하고 도움과 조언을 위한 지정 채널을 갖추고 있어, 신규 기여자가 참여하기에 좋은 방법입니다. 다음은 작업이 진행되고 있는 영역의 목록입니다:
| 이름 | 간단한 설명 | 코드 | Zulip 스트림 |
|---|---|---|---|
| Async-await 구현 | async-await 구현 | 링크 | #wg-async |
| 진단 | 진단 렌더링에 crates.io 크레이트를 사용하고 진단 출력을 더 보기 좋게 만듭니다. | rustc_errors, rustc_lint, annotate-snippets | #t-compiler/diagnostics |
| LLVM | LLVM 개발에 Rust를 반영하기 위해 LLVM 업스트림과 협업합니다 | rustc, LLVM | #t-compiler/llvm |
| MIR 최적화 | MIR 최적화를 작성하고 MIR을 더 최적화하기 쉽게 리팩터링합니다. | MIR transform | #t-compiler/mir-opts |
| Parallel-rustc | rustc의 병렬 컴파일을 기본값으로 만듭니다 | rustc | #t-compiler/parallel-rustc |
| Polonius | “NLL 2.0“과 유사한 “Polonius 분석”을 rustc에 통합하는 방안을 탐구합니다 | borrow check, rust-lang/polonius, rust-lang/datafrog | #t-types/polonius |
| RLS 2.0 | IDE에 맞춘 새로운 컴파일러 아키텍처를 실험합니다 | rust-analyzer | #t-compiler/rust-analyzer |
| Rust Compiler Development Guide | rustc-dev-guide를 “완전하게” 만들어 컴파일러를 더 쉽게 배울 수 있도록 합니다 | rustc, rustc-dev-guide | #t-compiler/rustc-dev-guide |
| Enzyme | GPU 오프로딩을 위한 실험적 LLVM 기능을 노출합니다 | Project Goal | #wg-autodiff |
| Linker | 링커 관련 이슈와 컴파일러 내 통합을 처리하는 것을 돕습니다 | - | #wg-linker |
역사적 기록을 위해, 목표를 달성했거나 작업이 중단되어 더 이상 활동하지 않는 워킹 그룹 목록입니다:
| 이름 | 간단한 설명 | Zulip 스트림 |
|---|---|---|
| Meta | 컴파일러 팀이 스스로를 조직하는 방식입니다 | #z-archived-t-compiler/wg-meta |
| Non-Lexical Lifetimes (NLL) | 비어휘적 생명주기(non-lexical lifetimes)를 구현합니다 | #z-archived-t-compiler/wg-nll |
| Polymorphization | 코드 생성 중 함수가 다형적으로 남아있을 수 있는 경우를 감지하는 분석을 구현합니다. | #z-archived-t-compiler/wg-polymorphization |
| Prioritization | 회귀를 트리아지하며, 주로 잠재적인 릴리스 차단 요인이 있는지 판단합니다 | #t-compiler/prioritization |
| 프로파일 기반 최적화 | rustc를 위한 프로파일 기반 최적화를 구현합니다 | #z-archived-t-compiler/wg-profile-guided-optimization |
| RFC 2229 | 클로저가 복합 변수 전체가 아니라 변수의 개별 필드를 캡처하도록 만들기 | #z-archived-t-compiler/wg-rfc-2229 |
| Rustc 파이프라이닝 | Cargo가 rustc를 파이프라인 방식으로 호출할 수 있게 하여 크레이트 그래프 컴파일 속도를 높입니다. | #z-archived-t-compiler/wg-pipelining |
| Self-Profile | -Z self-profile 기능 개선 | #z-archived-t-compiler/wg-self-profile |
| 트레이트 | 트레이트 시스템 설계 및 구현 개선 | #z-archived-t-compiler/wg-traits |