En gros ils disent que Coccinelle est un système pour appliquer des patch sur une large base de code, initialement Linux.
Par exemple on change un appel de fonction par un autre.
Comme Linux et beaucoup de projets utilisent Rust, il faut l’adapter à Rust.
Problème Rust est particulièrement complexe à cause de ses règles complexes (je pense borrow-checker)… ils ont implémenté les fonctionnalités minimales pour le moment.
PS : je ne connaissais pas Coccinelle. Super projet.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
Problème Rust est particulièrement complexe à cause de ses règles complexes (je pense borrow-checker)… ils ont implémenté les fonctionnalités minimales pour le moment.
Le borrow checker n'est pas le principal problème ici. Le soucis est la richesse de la syntaxe de Rust et la variété de situations qu'il faut couvrir.
Oui Coccinelle naïvement peut servir à automatiser le changement de nom d'une fonction dans Linux. Mais ça à la limite c'est le cas facile en C à gérer.
L'intérêt est plutôt : on a tel objet qui s'initialise d'une autre façon (nouveaux paramètres, nouveau code de sortie, etc.), il faut automatiser la détection et correction du code impacté pour se conformer à la nouvelle manière de faire.
C'est là son point fort surtout pour une base de code si large et avec beaucoup de code qui finalement se ressemble, un pilote I2C reste un pilote I2C, y'en a des centaines qui ont un squelette similaire donc en cas de refonte cela peut vite devenir pénible à faire à la main.
# en gros
Posté par abriotde (site web personnel, Mastodon) . Évalué à 1 (+0/-0).
En gros ils disent que Coccinelle est un système pour appliquer des patch sur une large base de code, initialement Linux.
Par exemple on change un appel de fonction par un autre.
Comme Linux et beaucoup de projets utilisent Rust, il faut l’adapter à Rust.
Problème Rust est particulièrement complexe à cause de ses règles complexes (je pense borrow-checker)… ils ont implémenté les fonctionnalités minimales pour le moment.
PS : je ne connaissais pas Coccinelle. Super projet.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: en gros
Posté par Renault (site web personnel) . Évalué à 3 (+0/-0).
Le borrow checker n'est pas le principal problème ici. Le soucis est la richesse de la syntaxe de Rust et la variété de situations qu'il faut couvrir.
Oui Coccinelle naïvement peut servir à automatiser le changement de nom d'une fonction dans Linux. Mais ça à la limite c'est le cas facile en C à gérer.
L'intérêt est plutôt : on a tel objet qui s'initialise d'une autre façon (nouveaux paramètres, nouveau code de sortie, etc.), il faut automatiser la détection et correction du code impacté pour se conformer à la nouvelle manière de faire.
C'est là son point fort surtout pour une base de code si large et avec beaucoup de code qui finalement se ressemble, un pilote I2C reste un pilote I2C, y'en a des centaines qui ont un squelette similaire donc en cas de refonte cela peut vite devenir pénible à faire à la main.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.