Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression of the typenum crate on nightly #32637

Closed
alexcrichton opened this issue Mar 31, 2016 · 6 comments
Closed

Regression of the typenum crate on nightly #32637

alexcrichton opened this issue Mar 31, 2016 · 6 comments
Assignees
Labels
P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@alexcrichton
Copy link
Member

The typenum crate (as of paholg/typenum@10c15e3 at least) successfully compiles on stable/beta but fails to compile no nightly with the error message:

error: overflow evaluating the requirement `uint::UInt<_, _> : private::PrivateCmp<uint::UInt<_, _>, Equal>` [E0275]
src/lib.rs:1:1: 1:1 note: consider adding a `#![recursion_limit="128"]` attribute to your crate
error: aborting due to previous error

It this expected? Perhaps this was bumping "close to the recursion limit" beforehand? I haven't diagnosed this much, but at least the reproduction is easy!

cc @aturon (maybe specialization related)
cc @rust-lang/compiler

@alexcrichton alexcrichton added I-nominated regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 31, 2016
@pnkfelix
Copy link
Member

triage: P-high

@rust-highfive rust-highfive added P-high High priority and removed I-nominated labels Mar 31, 2016
@michaelwoerister
Copy link
Member

Might be fixed by #32579 once it lands.
Commented on wrong issue...

@pnkfelix pnkfelix self-assigned this Mar 31, 2016
@llogiq
Copy link
Contributor

llogiq commented Apr 6, 2016

Note that typenum PR #60 fixes the problem from the typenum side.

@nikomatsakis
Copy link
Contributor

@llogiq do you believe this to be a bug?

@llogiq
Copy link
Contributor

llogiq commented Apr 7, 2016

Well, at best it's an unfortunate chain of events that unusual code may trigger, but that can be worked around. At worst, yes, it's a bug that can be worked around. If we deem it the latter, it's probably not too high on my wishlist.

@pnkfelix
Copy link
Member

pnkfelix commented Apr 22, 2016

This particular instance of this problem seems to have resolved itself on master:

% git remote -v
origin  git@github.com:paholg/typenum.git (fetch)
origin  git@github.com:paholg/typenum.git (push)
% git status
HEAD detached at 10c15e3
nothing to commit, working directory clean
% multirust default nightly-2016-04-07
multirust: using existing install for 'nightly-2016-04-07'
multirust: default toolchain set to 'nightly-2016-04-07'
% rustc --version
rustc 1.9.0-nightly (bf5da36f1 2016-04-06)
% OUT_DIR=/home/fklock/Dev/Rust/typenum/target/debug      rustc src/lib.rs --cra\
te-name typenum --crate-type lib -g --out-dir /home/fklock/Dev/Rust/typenum/targ\
et/debug --emit=dep-info,link -L dependency=/home/fklock/Dev/Rust/typenum/target\
/debug -L dependency=/home/fklock/Dev/Rust/typenum/target/debug/deps
error: overflow evaluating the requirement `uint::UInt<_, _> : private::PrivateC\
mp<uint::UInt<_, _>, Equal>` [E0275]
src/lib.rs:1:1: 1:1 note: consider adding a `#![recursion_limit="128"]` attribut\
e to your crate
error: aborting due to previous error
% multirust default nightly-2016-04-08
multirust: using existing install for 'nightly-2016-04-08'
multirust: default toolchain set to 'nightly-2016-04-08'
% rustc --version
rustc 1.9.0-nightly (7979dd608 2016-04-07)
% OUT_DIR=/home/fklock/Dev/Rust/typenum/target/debug      rustc src/lib.rs --cra\
te-name typenum --crate-type lib -g --out-dir /home/fklock/Dev/Rust/typenum/targ\
et/debug --emit=dep-info,link -L dependency=/home/fklock/Dev/Rust/typenum/target\
/debug -L dependency=/home/fklock/Dev/Rust/typenum/target/debug/deps
%

Looking over the git log for rust in range bf5da36f1..7979dd608, my guess is that it was probably fixed by #32748 (which has been accepted for merging into beta, so we should not see this bug hit stable, in principle).

Closing as fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

6 participants