cargo doc
Mungkin Anda menyadari bahwa dokumentasi Rust selalu terlihat hampir sama semuanya. Di bagian sebelah kiri Anda bisa melihat struct
dan trait
, contoh codenya ada di sebelah kanan, dst. Ini karena Anda bisa secara otomatis membuat dokumentasi hanya dengan menuliskan perintah cargo doc
.
Bahkan membuat project yang tidak melakukan apapun bisa membantu Anda mempelajari tentang trait di Rust. Sebagai contoh, di bawah ini ada dua struct yang tidak melakukan apapun, dan sebuah fn main()
yang juga tidak melakukan apa-apa.
struct DoesNothing {} struct PrintThing {} impl PrintThing { fn prints_something() { println!("I am printing something"); } } fn main() {}
Tapi jika Anda menuliskan perintah cargo doc --open
, Anda bisa melihat lebih banyak informasi daripada yang Anda kira. Pertama-tama ia akan menampilkan ini:
Crate rust_book
Structs
DoesNothing
PrintThing
Functions
main
Namun jika Anda klik pada salah satu struct, ia akan menampilkan banyak trait yang mungkin menurut Anda sebenarnya tidak ada:
Struct rust_book::DoesNothing
[+] Show declaration
Auto Trait Implementations
impl RefUnwindSafe for DoesNothing
impl Send for DoesNothing
impl Sync for DoesNothing
impl Unpin for DoesNothing
impl UnwindSafe for DoesNothing
Blanket Implementations
impl<T> Any for T
where
T: 'static + ?Sized,
[src]
[+]
impl<T> Borrow<T> for T
where
T: ?Sized,
[src]
[+]
impl<T> BorrowMut<T> for T
where
T: ?Sized,
[src]
[+]
impl<T> From<T> for T
[src]
[+]
impl<T, U> Into<U> for T
where
U: From<T>,
[src]
[+]
impl<T, U> TryFrom<U> for T
where
U: Into<T>,
[src]
[+]
impl<T, U> TryInto<U> for T
where
U: TryFrom<T>,
Ini karena Rust secara otomatis menerapkan semua trait untuk setiap type.
Kemudian, jika kita menambahkan beberapa documentation comments, Anda bisa melihatnya di saat Anda menuliskan perintah cargo doc
.
/// This is a struct that does nothing struct DoesNothing {} /// This struct only has one method. struct PrintThing {} /// It just prints the same message. impl PrintThing { fn prints_something() { println!("I am printing something"); } } fn main() {}
Sekarang ia akan mencetak:
Crate rust_book
Structs
DoesNothing This is a struct that does nothing
PrintThing This struct only has one method.
Functions
main
cargo doc
sangatlah bagus jika Anda menggunakan banyak crate yang dibuat oleh orang lain. Karena crate-crate ini berada di websites yang berbeda, tentunya akan memakan waktu jika kita mencari semuanya. Namun jika kita menggunakan cargo doc
, Anda akan memiliki semuanya di satu tempat di dalam hard drive Anda.