Nella sezione Importazione di casse esterne della Ruggine prenota l'autore crea main.rs
file in un progetto di libreria già esistente. Ho prelevato casualmente un mucchio di casse da crates.io , esaminato la loro struttura e non ho trovato alcun progetto contenente entrambi i file lib.rs
e main.rs
. Quindi mi chiedo se sia comune avere entrambi i file in un progetto library ospitato a crates.io
o dovrebbe essere considerato uno stile povero?
Per essere più chiari, sto chiedendo di sviluppare una libreria progettata per condividere con la comunità, non di un eseguibile con un ciclo di vita di pochi giorni.
Sono a conoscenza delle funzionalità testing di Cargo, quindi lo scopo di main.rs
che voglio aggiungere al la libreria non sta testando. Un buon esempio di come il mio main.rs
nella cassa della libreria dovrebbe riguardare la libreria è come lo strumento della riga di comando curl
è correlato alla libreria libcurl
. A mio avviso, è conveniente disporre di un progetto per il quale cargo build
crea un file eseguibile per impostazione predefinita, ma tutte le funzionalità sono disponibili per l'importazione come libreria.