You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression in 5 crates in 1.26: the trait bound is not satisfied #49932
There are a few crates that are failing to build on Rust 1.26 with the error the trait bound '###' is not satisfied. A lot of those errors seems to be related with !.
The ! type is the "never" type, specified in RFC 1216 and stabilized in 1.26. It basically means "this return value is unreachable". In your case, that's the value returned by panic!.
Well, apparently not all of the errors in this issue were related to the never type. plexus 0.0.1 (not the latest version) is still failing on the latest beta (with the stabilization rollback backported):
error[E0277]: the trait bound `u64: graph::geometry::Geometry` is not satisfied
--> /.../plexus-0.0.1/src/graph/mesh.rs:90:1
|
90 | / pub struct Mesh<G = u64>
91 | | where
92 | | G: Geometry,
93 | | {
... |
96 | | pub(super) faces: Storage<FaceKey, Face<G::Face>>,
97 | | }
| |_^ the trait `graph::geometry::Geometry` is not implemented for `u64`
|
note: required by `graph::geometry::Geometry`
--> /.../plexus-0.0.1/src/graph/geometry/mod.rs:8:1
|
8 | pub trait Geometry: Sized {
| ^^^^^^^^^^^^^^^^^^^^^^^^^
That's intended, G can never be u64 making the default unusable so we error. Given that crater was clean at the time of the change and that plexus, the only known affected crate, is only affected on a very old version I see no reason to revert or alleviate the change. Thanks for the bisect and ping!
Thanks for the ping! Sorry I've been absent from the discussion.
There is a dependency on 0.0.1 from the bismuth crate ... you may want to update to a newer version of plexus. =)
Yep, bismuth fails to build here because it depends on plexus at 0.0.1 and exhibits that error. I'll go ahead and publish a new version of bismuth to pull in updated dependencies. :-)
Activity
mackwic commentedon Apr 13, 2018
thanks for the notification @pietroalbini ! Can I have the error log for rspec ?
emilyalbini commentedon Apr 13, 2018
Woops! Forgot to add the link for that crate. Thanks for pointing that out! rspec report
mackwic commentedon Apr 13, 2018
What is even
!? I don't understand this error 😕emilyalbini commentedon Apr 13, 2018
The
!type is the "never" type, specified in RFC 1216 and stabilized in 1.26. It basically means "this return value is unreachable". In your case, that's the value returned bypanic!.Mark-Simulacrum commentedon Apr 13, 2018
Errors related to
!might not be worth fixing just yet as I believe we're planning to revert that stabilization.acmcarther commentedon Apr 13, 2018
cucumber crate author here:
I wasn't able to replicate this from what I gleamed in the linked logs:
Absent an actual reproduction though, I suspect dropping
returnfrom myreturn panicwill probably resolve the issue in my crate.hawkw commentedon Apr 13, 2018
We're also seeing this when buillding
h2against nightly: hyperium/h2#257.emilyalbini commentedon Apr 20, 2018
This will be fixed after #50121 (reverting the stabilization) is merged and backported into beta.
emilyalbini commentedon Apr 24, 2018
The stabilization of
!is now reverted both on beta and nightly. Sorry for the trouble!emilyalbini commentedon May 1, 2018
Well, apparently not all of the errors in this issue were related to the never type.
plexus0.0.1 (not the latest version) is still failing on the latest beta (with the stabilization rollback backported):Build log
emilyalbini commentedon May 1, 2018
Bisected the plexus thing, the regression is caused by #46785, cc @leodasvacas @nikomatsakis
leoyvens commentedon May 1, 2018
That's intended,
Gcan never beu64making the default unusable so we error. Given that crater was clean at the time of the change and thatplexus, the only known affected crate, is only affected on a very old version I see no reason to revert or alleviate the change. Thanks for the bisect and ping!nikomatsakis commentedon May 1, 2018
That version of plexus seems to have no dependencies:
https://crates.io/crates/plexus/reverse_dependencies
There is a dependency on 0.0.1 from the bismuth crate -- cc @olson-sean-k, you may want to update to a newer version of plexus. =)
emilyalbini commentedon May 1, 2018
Ok, I'll close this issue back.
olson-sean-k commentedon May 1, 2018
Thanks for the ping! Sorry I've been absent from the discussion.
Yep,
bismuthfails to build here because it depends onplexusat0.0.1and exhibits that error. I'll go ahead and publish a new version ofbismuthto pull in updated dependencies. :-)nikomatsakis commentedon May 2, 2018
@olson-sean-k <3