-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Rust 1.19 regression, treebitmap 0.2.2 #42467
Labels
regression-from-stable-to-beta
Performance or correctness regression from stable to beta.
Comments
brson
added
the
regression-from-stable-to-nightly
Performance or correctness regression from stable to nightly.
label
Jun 6, 2017
Reduces to (note the struct Foo<T>(T);
struct IntoIter<T>(T);
impl<'a, T: 'a> Iterator for IntoIter<T> {
type Item = ();
fn next(&mut self) -> Option<()> {
None
}
}
impl<T> IntoIterator for Foo<T> {
type Item = ();
type IntoIter = IntoIter<T>;
fn into_iter(self) -> IntoIter<T> {
IntoIter(self.0)
}
}
fn main() {} cc @rust-lang/lang I thought we decided that kind of "use" of a parameter is invalid? EDIT: @nikomatsakis tells me this was allowed for backwards compatibility (and it's harmless). |
eddyb
added
regression-from-stable-to-beta
Performance or correctness regression from stable to beta.
and removed
regression-from-stable-to-nightly
Performance or correctness regression from stable to nightly.
labels
Jun 6, 2017
bors
added a commit
that referenced
this issue
Jun 7, 2017
rustc: T: 'empty always holds for all types. Fixes #42467 by special-casing `ReEmpty` to always hold, even for parameters. The reason this is the case is that `ReEmpty` is the result of inferring a region variable with no constraints attached to it, so there is no lifetime a type would contain which would be strictly shorter. r? @nikomatsakis
There should be a lint about the useless lifetime (this line in real code) though. |
nikomatsakis
added a commit
to nikomatsakis/rust
that referenced
this issue
Feb 6, 2020
We currently have a kind of arbitrary check for `Verify` conditions which says that if the "test region" is `'empty`, then the check passes. This was added to fix rust-lang#42467 -- it happens to be correct for the purposes that we use verify bounds for, but it doesn't feel generally correct. Replace with a more principled test.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://github.com/hroi/treebitmap
cc @hroi
The text was updated successfully, but these errors were encountered: