Par exemple, si pour votre projet vous effectuez toujours une compilation croisée en utilisant cargo build --target=thumbv6m-none-eabi
. Cette fonctionnalité vous permettrait d'ajouter une paire clé-valeur à votre fichier de configuration de fret :
# .cargo/config
[target]
default = "thumbv6m-none-eabi"
Cela vous permettra simplement d'appeler cargo build
pour compiler votre projet pour thumbv6m-none-eabi
. Cela s'Ă©tendrait Ă©galement Ă cargo doc
.
Initialement rapporté ici .
Cela me semble assez raisonnable, mĂȘme si je pourrais aller jusqu'Ă dire que cela devrait ĂȘtre dans Cargo.toml car c'est probablement une chose par projet _si_ c'est une chose avec laquelle commencer.
Un inconvénient (?) d'en faire un paramÚtre de projet est que le paramÚtre sera toujours ignoré pour les dépendances. Exemple : Si mon projet P dépend de la caisse D et que D a défini T comme cible par défaut, ce paramÚtre sera _toujours_ ignoré car D sera toujours compilé pour la cible que je choisis pour P.
L'un des avantages d'utiliser .cargo/config est que si je développe plusieurs caisses localement, je peux avoir une configuration comme celle-ci :
$ tree .
my-RTOS-project
âââ .cargo
â  âââ config
âââ allocator
â  âââ (...)
âââ hal
â  âââ (...)
âââ RusTOS
â âââ (...)
âââ scheduler
âââ (...)
Et je peux passer d'un répertoire de caisse à un autre et exécuter cargo test
. à un moment donné, je peux modifier une seule ligne dans .cargo/config et commencer à tester mes caisses pour une cible différente.
Ah oui en effet ! Cela relĂšve quelque peu de la compĂ©tence de https://github.com/rust-lang/cargo/issues/2122 oĂč cela _ne devrait pas_ ĂȘtre un inconvĂ©nient, mais il y a encore du travail de conception Ă faire lĂ aussi.
Commentaire le plus utile
Cela me semble assez raisonnable, mĂȘme si je pourrais aller jusqu'Ă dire que cela devrait ĂȘtre dans Cargo.toml car c'est probablement une chose par projet _si_ c'est une chose avec laquelle commencer.