# Dukungan Rust di Maguyva: Konteks Aman untuk Perubahan Berbantuan AI

Canonical source: https://maguyva.ai/id/languages/rust

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva mendukung Rust dengan parsing AST dan ekstraksi simbol sehingga agen AI dapat menavigasi module, blok impl, constructor, dan jalur dependensi sebelum mengubah kode yang ketat dan berorientasi keamanan.

## Snapshot dukungan

- Tier: Dukungan AST dan simbol
- Pemrograman
- Ekstensi: .rs
- Parsing AST sungguhan untuk pencarian sadar-syntax dan konteks struktural.
- Simbol bernama menggerakkan pencarian semantik dan cross-reference. Navigasi graf tersedia saat ekstraksi relasi diaktifkan.
- Bahasa ini menyumbangkan simbol dan relasi ke pencarian berbasis graf; jenis edge yang didukung bervariasi sesuai konstruk bawaan bahasa tersebut.
- Parsing AST dan ekstraksi simbol sama-sama tersedia.

## Paling cocok untuk

- Repositori sistem, platform, atau CLI tempat Rust dipilih karena kebenaran dan keamanan perubahan benar-benar penting.
- Tim yang ingin bantuan AI menjelajahi basis kode Rust sebelum mengedit logika yang sensitif terhadap ownership atau berlevel rendah.
- Repo tempat module, tipe hasil generate, macro, dan tooling di sekitarnya membuat penalaran satu-file jadi tidak bisa diandalkan.

## Workflow agen

- Menelusuri di mana struct atau komponen dikonstruksi sebelum mengubah perilakunya.
- Membandingkan pola module dan bentuk implementasi alih-alih menciptakan yang baru.
- Menemukan jalur-jalur yang bergantung pada suatu tipe atau helper sebelum meminta agen me-refactornya.

## Mengapa perubahan Rust butuh lebih dari sekadar autocomplete

Rust adalah salah satu kasus paling jelas tempat AI seharusnya menjelajah dulu, baru mengedit. Bahasa ini biasanya dipilih karena ketepatan kode itu penting, bukan karena tim menginginkan lebih banyak perubahan yang dibuat berdasarkan dugaan. Jadi standar untuk "dukungan Rust" harus tinggi: apakah agen bisa memahami batas module, blok impl, konstruksi tipe konkret, dan konteks di sekitarnya sebelum ia mengusulkan refactor?

Itulah ambang nilai yang sesungguhnya. Generasi sintaks bukan bagian yang menarik.

## Apa yang sebenarnya diekstraksi Maguyva dari Rust

Maguyva menangkap fungsi dan blok implementasi Rust sebagai konsep struktural yang berbeda, dan memperlakukan ekspresi struct sebagai instansiasi sungguhan. Itu memberi graf pandangan yang berguna tentang di mana tipe konkret dibangun, bukan sekadar di mana namanya disebut.

Konfigurasinya juga menyaring noise macro dan stdlib dalam jumlah besar, yang penting di Rust karena kode yang sarat macro bisa membanjiri graf dengan hal-hal yang secara teknis merupakan panggilan valid tetapi tidak terlalu membantu saat Anda mencoba memahami perilaku repositori.

## Alur kerja MCP yang berguna untuk repo Rust

Pola awal yang paling berguna adalah:

- `find_symbol` untuk struct, enum, atau fungsi milik module yang akan Anda ubah.
- `dependency_search` sebelum me-refactor tipe inti, sehingga Anda tahu jalur kode mana yang bergantung padanya.
- `get_task_context` untuk prompt konseptual seperti "telusuri logika retry di sekitar HTTP client" saat jalurnya melintasi banyak module.

## Di mana halaman ini paling relevan

Gunakan halaman ini jika Anda menginginkan bantuan AI dalam Rust tanpa melepaskan alur kerja hati-hati yang membuat Rust layak digunakan. Jika repo Anda lebih berorientasi service ketimbang sistem, [Go](/id/languages/go) adalah perbandingan yang lebih dekat. Jika Rust hanya salah satu bagian dalam sistem yang lebih besar, kisah bahasa campuran di [halaman stack](/id/stack) lebih penting daripada daftar periksa parser.

## Detail engine

- `impl_item` dan `function_item` ditangkap secara terpisah, yang membantu memisahkan fungsi konkret dari blok implementasi.
- Ekspresi struct dihitung sebagai instantiation, jadi grafnya bisa mengikuti di mana tipe-tipe itu benar-benar dikonstruksi.
- Macro dan konstruktor stdlib umum disaring secara agresif supaya graf relasinya tetap fokus pada kode repository.

## Titik masuk MCP yang berguna

- `find_symbol`: Mulai dari struct, enum, atau fungsi yang dimiliki module yang Anda perhatikan lalu perluas dari situ.
- `dependency_search`: Gunakan sebelum menyentuh tipe inti atau module untuk melihat penggunaan inbound, bukan cuma referensi lokal.
- `get_task_context`: Berguna kalau tugasnya konseptual, misalnya menelusuri logika retry atau lifecycle resource lintas module.
