2016-01-18 12 views
5

Sto lavorando su un rilascio prolungato di rifiuti che può decidere se qualcosa di è già o sarà deprecato. Rimane un problema, tuttavia: le casse non sembrano avere informazioni sulla versione. So che posso ottenere la versione corrente della Crate usando alcune variabili d'ambiente che il carico imposterà, ma questo non è sufficiente per distinguere le parti deprecate delle dipendenze.Scopri la versione corrente di una cassa da un lint?

posso almeno ottenere il percorso cassa corrente tramite ctx.sess.local_crate_source_file (come in di current PR fhahn.

Così blocco ricevendo il percorso file e individuazione e l'analisi Cargo.lock manualmente (che io ritengo essere fragile e hacky), c'è un modo per ottenere i numeri di versione le dipendenze e se sì, come?

risposta

0

Usa #[deprecated] invece, vedere Rust lang rfc 1270 per la documentazione. Questo è stabile dal Rust 1.9. Poi il compilatore fa il lavoro del residuo di stoffa che si desidera creare.

A w per implementare invece ciò che hai chiesto senza toccare il compilatore o utilizzare una funzione del compilatore, devi includere la versione nella cassa della sua API pubblica e usarla dal tuo lint.

+0

Ho scritto che RFC. E scusa, in tal caso trovare e analizzare Cargo.lock è l'opzione migliore. Grazie comunque. – llogiq

+0

Perché pensi che sia anche meglio che ottenere la versione dall'API della cassa di cui vuoi estrarre la deprecazione? –

Problemi correlati