Skip to content

Commit d819f66

Browse files
committed
Avoid hitting breaking change in nightly Rust
The current Rust nightly introduced a breaking change [1] that is causing the build to fail for the nightly channel. The affected crate, petgraph, has been updated [2] so it now compiles on nightly again, but unfortunately I cannot use the latest version of that crate, because it is a transitive dependency, and the crate which depends on it depends on a version that Cargo considers semver-incompatible with the fixed crate. The crate which depends on the crate broken by Rust nightly is lalrpop, and a new version of it has been released that depends on a newer version of petgraph which *is* semver-compatible with the fixed release. However, upgrading to a newer version of lalrpop is also not possible, because it requires a newer version of Rust. (Even after I contributed a fix for that, and despite the changelog claiming to support Rust 1.13 now, it is still broken on 1.13 because of the lalrpop-snap crate.) So now I am in a situation where I either have to drop support for Rust 1.13 and upgrade dependencies, or drop support for nightly Rust. The least invasive change to my code at this point, is to drop support for the nightly channel. Unfortunately that is only a temporary solution, because the breakage is going to make it into beta and then stable. But I am working on a hand-written parser anyway which will replace lalrpop, so that dependency, and the dependency on petgraph, can hopefully be dropped soon. That would maintain compatibility with Rust 1.13, and restore compatibility with nightly at the same time. A third option would be to ask the petgraph maintainers to release a patch release of the older version that lalrpop depends on, which was broken by Rust nightly. But for now the easiest thing for me to do to get the build green, is to drop support for nightly Rust. [1]: rust-lang/rust#42496 [2]: petgraph/petgraph#153
1 parent 2c90da4 commit d819f66

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ rust:
1515
- 1.15.1
1616
- 1.16.0
1717
- beta
18-
- nightly
18+
# - nightly
1919

2020
# Apart from the above Rust versions on Linux, also test on stable Rust on OS X.
2121
matrix:

0 commit comments

Comments
 (0)