You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Name the comments by the lint rules, and insert the rendered diagnostics into the second comment
Insert rendered diagnostic messages into the second comment.
Configuration
Add an option '--fix' to invoke flags related to all machine applicable fix rules from rust-clippy project
Measurement
Measure the number of warnings per KLOC through count_diagnostics.sh
Count clippy fixes
Git History Extraction
Select only the relevant marked rules
Print out the hunks only when they are relevant to the spans of warning locations
Output options
Add an option --patch <id> to print out the patch of HEAD.. where is a commit id and HEAD is the current work tree
Add an option --commit to print out the hunks only when they have been fixed by the revision
Add an option --pair to generate diff records into code pairs
Add an option --function to generate diff records with the surrounding function contexts (which was a feature of git diff but not supported by libgit2
Add an option --single to select only those diff records that patch exactly one warning
Add an option --mixed to save the messages into a file in case the information can be useful context
Add an option --location to markup the old_context with the warnings
Refactoring
Integrate with transformation systems to fix some of the warnings not yet fixed by clippy
Integrate with txl through txl-rs
list the marked rules applied to the transformations
Updated the TXL refactoring transformation and Rust grammar
List the fixed warnings and keep the remaining warnings in the output
Store the transformation results before and after clippy --fix into the transform folder
Call fix only when the number of warnings is larger than 0
Perform rustfmt to output of TXL transformations
Infer return type of functions and map them to if-let test: Result => Ok(), Option => Some()
Usability
Separate the output files into a different folder, so as to keep using the same ".rs" file extension
Save the messages into [$hash]/diagnostics.json to avoid rerun the compilation for changes of the tool features
where $hash is the hash id of the current work copy of a git repository
Swap the order of diagnostic folder name from $id/diagnostics to diagnostics/$id
Cache computed data by serialized/deserialize diff hunks
Put header ahead of before and after contexts of the hunk pairs
Print pair pragma with ## so it is easier to differentiate it with the pragma inside warning hints
Testing
Test rust-diagnostics on its own history
Generate test results in random folders so there is less interference between tests
Fix the ordering of diagnostic hints so that the regression test will be repeatable
Make the test cases parallelizable
Maintainability
Move the implementation of optional functionalities into rustc_flags, fix features to reduce the dependencies
Refactor the code to simplify the logic by introduce a Hunk structure as unified state of various analyses
Removed the optional features
Remove dependencies requiring nightly, now only depends on stable rust
Use cargo-release and cargo-dist to create the new release
The text was updated successfully, but these errors were encountered:
Tasks
Functionality
Diagnostics
Configuration
Measurement
count_diagnostics.sh
Git History Extraction
--patch <id>
to print out the patch of HEAD.. where is a commit id and HEAD is the current work tree--commit
to print out the hunks only when they have been fixed by the revision--pair
to generate diff records into code pairs--function
to generate diff records with the surrounding function contexts (which was a feature ofgit diff
but not supported bylibgit2
--single
to select only those diff records that patch exactly one warning--mixed
to save the messages into a file in case the information can be useful context--location
to markup the old_context with the warningsRefactoring
txl
throughtxl-rs
clippy --fix
into thetransform
folderrustfmt
to output of TXL transformationsUsability
[$hash]/diagnostics.json
to avoid rerun the compilation for changes of the tool featureswhere $hash is the hash id of the current work copy of a git repository
$id/diagnostics
todiagnostics/$id
Testing
Maintainability
The text was updated successfully, but these errors were encountered: