2
edits
(→Firefox: Not that the suggestion has already been added to the Community summerofcode16 page) |
(Added SemVer checker project for Rust) |
||
| Line 422: | Line 422: | ||
! Mentor(s) | ! Mentor(s) | ||
! Comments | ! Comments | ||
|- | |||
| SemVer policy checker | |||
| Rust's library ecosystem works with "semantic versioning" (semver), which allows the version numbers of libraries to signify backwards-compatibility constraints. Roughly speaking, if your code works with version `X.Y` of some library, it should work with `X.(Y+1)` -- a new "minor release" -- as well. | |||
In practice, actually ensuring compatibility is quite subtle, and in Rust, there are some library changes that could theoretically break client code, but which we want to allow anyway. Our full stance on semantic versioning is written up in an RFC: https://github.com/rust-lang/rfcs/pull/1105 | |||
The goal of this project is to build a tool that can tell whether a set of changes to a library is valid under Rust's semver rules. Building this tool will likely require some hacking on the compiler itself (to produce the necessary information), and will hopefully result in some reusable infrastructure that can be applied to other projects as well. | |||
| Familiarity with Rust | |||
| Aaron Turon | |||
| Brian Anderson, Aaron Turon | |||
| | |||
|- | |- | ||
|} | |} | ||
edits