Skip to content

Commit

Permalink
Auto merge of #111425 - Bryanskiy:privacy_ef, r=petrochenkov
Browse files Browse the repository at this point in the history
Populate effective visibilities in `rustc_privacy` (take 2)

Same as rust-lang/rust#110907 + regressions fixes.
Fixes rust-lang/rust#111359.

r? `@petrochenkov`
  • Loading branch information
bors committed May 14, 2023
2 parents f86db5e + a7e1e5d commit d044234
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions core/src/iter/adapters/flatten.rs
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,7 @@ where
/// Real logic of both `Flatten` and `FlatMap` which simply delegate to
/// this type.
#[derive(Clone, Debug)]
#[unstable(feature = "trusted_len", issue = "37572")]
struct FlattenCompat<I, U> {
iter: Fuse<I>,
frontiter: Option<U>,
Expand Down Expand Up @@ -463,6 +464,7 @@ where
}
}

#[unstable(feature = "trusted_len", issue = "37572")]
impl<I, U> Iterator for FlattenCompat<I, U>
where
I: Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
Expand Down Expand Up @@ -577,6 +579,7 @@ where
}
}

#[unstable(feature = "trusted_len", issue = "37572")]
impl<I, U> DoubleEndedIterator for FlattenCompat<I, U>
where
I: DoubleEndedIterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>,
Expand Down Expand Up @@ -646,20 +649,23 @@ where
}
}

#[unstable(feature = "trusted_len", issue = "37572")]
unsafe impl<const N: usize, I, T> TrustedLen
for FlattenCompat<I, <[T; N] as IntoIterator>::IntoIter>
where
I: TrustedLen<Item = [T; N]>,
{
}

#[unstable(feature = "trusted_len", issue = "37572")]
unsafe impl<'a, const N: usize, I, T> TrustedLen
for FlattenCompat<I, <&'a [T; N] as IntoIterator>::IntoIter>
where
I: TrustedLen<Item = &'a [T; N]>,
{
}

#[unstable(feature = "trusted_len", issue = "37572")]
unsafe impl<'a, const N: usize, I, T> TrustedLen
for FlattenCompat<I, <&'a mut [T; N] as IntoIterator>::IntoIter>
where
Expand Down

0 comments on commit d044234

Please sign in to comment.