rust-analyzer

Contribution upstream merged dans rust-analyzer: ajouter des placeholders aux commandes de test sans casser la boucle éditeur.

RôleContributor
TrajectoireUpstream contribution
ÉquipeRust ecosystem
rust-analyzer
Ergonomie éditeur et boucle de test
01 / UN PETIT PLACEHOLDER DANS UNE GRANDE BOUCLE

Un petit placeholder dans une grande boucle

rust-analyzer est un outil central: quand il change, la modification atterrit dans l'éditeur de milliers de développeurs Rust. Ma contribution était volontairement étroite. Elle améliorait les runnables de test pour les équipes qui remplacent cargo test par un runner maison, cargo nextest , un wrapper interne ou une commande plus contrainte.

Le besoin venait d'un détail pénible: les commandes override savaient déjà injecter le package, la cible et les arguments exécutables. Il manquait deux morceaux pour reproduire correctement certains lancements de test depuis l'éditeur: --exact et --include-ignored .

merged changeRUST-ANALYZER
PR #21978 -> config.rs + target_spec.rs + docs + VS Code package metadata
02 / LE CHANGEMENT DEVAIT RESTER COMPATIBLE

Le changement devait rester compatible

La PR a touché quatre fichiers: configuration, génération des arguments de cible, documentation générée et metadata VS Code. Le comportement restait borné: ${exact} vaut --exact pour un test ou bench isolé, vide pour un module ; ${include_ignored} vaut --include-ignored pour un test isolé quand le runnable le demande, vide ailleurs.

Ce genre de contribution demande moins de flamboyance que de discipline. Le patch doit être lisible pour les maintainers, documenté dans le même format que les options existantes, et assez petit pour que l'impact soit vérifiable.

03 / CE QUE CELA MONTRE

Ce que cela montre

Cette contribution prouve une échelle de travail différente des projets personnels. Ici, la valeur tient dans une micro-interaction: cliquer sur un test depuis l'éditeur et obtenir la même sémantique qu'en CLI.

C'est un signal utile pour un client ou un recruteur. Il ne s'agit pas seulement de construire ses propres outils. Il faut aussi savoir entrer dans un codebase exigeant, accepter ses conventions, et livrer un changement qui s'insère dans l'écosystème au lieu de le contourner.