#linter #gazebo #lint

nightly gazebo_lint

A linter for the Gazebo Rust library

2 releases

0.1.1 Sep 30, 2021
0.1.0 Sep 30, 2021

#6 in #gazebo

Download history 3/week @ 2024-09-19 1/week @ 2024-09-26

308 downloads per month

MIT/Apache

30KB
591 lines

Gazebo Lint - a linter for patterns relating to the Gazebo Library

The linter provides various helpful hints relating to additions from the Gazebo Library.

For example, Gazebo added Dupe. This linter will provide hints to use dupe instead of clone. e.g. when doing Arc::new(x).clone(). Other available hints are to "Use map" when doing xs.iter().map(f).collect() if the types line up, and reminders to derive Dupe when appropriate.

Using Gazebo Lint

Gazebo lint can lint any program by adding the following to lib.rs:

#![feature(plugin)]
#![allow(deprecated)]
#![plugin(linter)]

Unfortunately the plugin feature is deprecated, so while useful, it is likely that linter will stop working at some point in the future. We will look to update the linter to use the proper alternatives if applicable when that becomes an issue.

Making a release

  1. Check the GitHub Actions are green.
  2. Update CHANGELOG.md with the changes since the last release. This link can help (update to compare against the last release).
  3. Update the version numbers of the two Cargo.toml files. Bump them by 0.0.1 if there are no incompatible changes, or 0.1.0 if there are.
  4. Run cargo publish --dry-run --allow-dirty, then without the --dry-run in gazebo_lint directory.
  5. Create a GitHub release with v0.X.Y, using the gazebo_lint version as the name.

License

Gazebo Linter is both MIT and Apache License, Version 2.0 licensed, as found in the LICENSE-MIT and LICENSE-APACHE files.

Dependencies

~67KB