Task #2629
Updated by Victor Julien over 5 years ago
Rust 2018 Edition will be stabilized/finalized at some point in the next few months. This issue is meant to be a tracking issue to determine what support is available for Rust 2018 in OS's supported by Suricata, to determine when it is appropriate to move to 2018 edition.
More information on editions: https://rust-lang-nursery.github.io/edition-guide/editions/index.html
Rust 2018 RC Milestone: https://github.com/rust-lang/rust/milestone/54
Rust 2018 Release Milestone: https://github.com/rust-lang/rust/milestone/55
Rust 2018 Tracking Issue: https://internals.rust-lang.org/t/rust-2018-the-home-stretch/7810
Current target is 10/25 for Rust 2018 (Rust 1.30)
One of the most significant changes for 2018 is changes to how crates, modules, and macros are found. Although much easier to use, this will produce a bit of churn in the Suricata rust code. Commit representing the churn involved: https://github.com/dbcfd/suricata/commit/33694e63dbbfc221ffda2882727b4fe431d9375e
The borrow checker has been improved as well, so some things that were safe before but compiler errors will now work with the NLL based borrow checker. Other things that may have worked but were unsafe should now be caught.
|_. OS/Distribution |_. Version |_. Rust Version |_. Supported |_. Notes|
| CentOS | 6 | -- | No | Rust can be install manually|
| CentOS | 7 | 1.36.0 | Yes | Requires EPEL |
| Debian | 9 | 1.24.1 | Yes | will be EOL ~2020, in LTS state until ~2022 (https://wiki.debian.org/DebianReleases)|
| Debian | 10 | 1.34.2 | Yes ||
| Fedora | 29+ | 1.36.0 | Yes ||
| -Ubuntu- | -14.04- | 1.31.0 | Yes | Will be EOL before Suricata 5|
| Ubuntu | 16.04 | 1.35.0 | Yes ||
| Ubuntu | 18.04 | 1.35.0 | Yes ||
| FreeBSD | 11.2 | 1.35.0 | Yes | pkg install rustc cargo |
| FreeBSD | 12.0 | 1.33.0 | Yes | pkg install rustc cargo |
| OpenBSD | 6.4 | 1.29.2 | Yes | Rust is in ports; next OpenBSD will have 1.33+ |
| OpenBSD | 6.5 | 1.33 | Yes ||
| MinGW | ?? | 1.37.0 | ?? | Can be installed through pacman |