1
0
mirror of https://github.com/rust-lang/rustlings.git synced 2024-11-09 22:31:41 +01:00
rustlings/CONTRIBUTING.md
2024-07-02 14:45:25 +02:00

2.1 KiB

Contributing to Rustlings

First off, thanks for taking the time to contribute! ❤️

Quick Reference

I want to …

Issues

You can open an issue here. If you're reporting a bug, please include the output of the following commands:

  • cargo --version
  • rustlings --version
  • ls -la
  • Your OS name and version

Pull Requests

You are welcome to open a pull request, but unless it is small and trivial, please open an issue to discuss your idea first 🙏🏼

Opening a pull request is as easy as forking the repository and committing your changes. If you need any help with it or face any Git related problems, don't hesitate to ask for help 🤗

It may take time to review your pull request. Please be patient 😇

When updating an exercise, check if its solution needs to be updated.

Adding An Exercise

  • Name the file exercises/yourTopic/yourTopicN.rs.
  • Make sure to put in some helpful links, and link to sections of The Book in exercises/yourTopic/README.md.
  • In the exercise, add a // TODO: … comment where user changes are required.
  • Add a solution at solutions/yourTopic/yourTopicN.rs with comments explaining it.
  • Add the metadata for your exercise in the rustlings-macros/info.toml file.
  • Make sure your exercise runs with rustlings run yourTopicN.
  • Open a pull request.

Exercise Metadata

The exercise metadata should contain the following:

[[exercises]]
name = "yourTopicN"
dir = "yourTopic"
hint = """
A useful (multi-line) hint for your exercise.
Include links to a section in The Book or a documentation page."""

If your exercise doesn't contain any test, add test = false to the exercise metadata. But adding tests is recommended.