-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Closed
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.
Description
Missing Implementors for std::slice::Join
trait.
While rustdoc displays Borrow
trait implementors.
Expected:
Display Implementors for Join trait:
rust/library/alloc/src/slice.rs
Lines 635 to 703 in de32266
#[unstable(feature = "slice_concat_trait", issue = "27747")] | |
pub trait Join<Separator> { | |
#[unstable(feature = "slice_concat_trait", issue = "27747")] | |
/// The resulting type after concatenation | |
type Output; | |
/// Implementation of [`[T]::join`](../../std/primitive.slice.html#method.join) | |
#[unstable(feature = "slice_concat_trait", issue = "27747")] | |
fn join(slice: &Self, sep: Separator) -> Self::Output; | |
} | |
#[unstable(feature = "slice_concat_ext", issue = "27747")] | |
impl<T: Clone, V: Borrow<[T]>> Concat<T> for [V] { | |
type Output = Vec<T>; | |
fn concat(slice: &Self) -> Vec<T> { | |
let size = slice.iter().map(|slice| slice.borrow().len()).sum(); | |
let mut result = Vec::with_capacity(size); | |
for v in slice { | |
result.extend_from_slice(v.borrow()) | |
} | |
result | |
} | |
} | |
#[unstable(feature = "slice_concat_ext", issue = "27747")] | |
impl<T: Clone, V: Borrow<[T]>> Join<&T> for [V] { | |
type Output = Vec<T>; | |
fn join(slice: &Self, sep: &T) -> Vec<T> { | |
let mut iter = slice.iter(); | |
let first = match iter.next() { | |
Some(first) => first, | |
None => return vec![], | |
}; | |
let size = slice.iter().map(|v| v.borrow().len()).sum::<usize>() + slice.len() - 1; | |
let mut result = Vec::with_capacity(size); | |
result.extend_from_slice(first.borrow()); | |
for v in iter { | |
result.push(sep.clone()); | |
result.extend_from_slice(v.borrow()) | |
} | |
result | |
} | |
} | |
#[unstable(feature = "slice_concat_ext", issue = "27747")] | |
impl<T: Clone, V: Borrow<[T]>> Join<&[T]> for [V] { | |
type Output = Vec<T>; | |
fn join(slice: &Self, sep: &[T]) -> Vec<T> { | |
let mut iter = slice.iter(); | |
let first = match iter.next() { | |
Some(first) => first, | |
None => return vec![], | |
}; | |
let size = | |
slice.iter().map(|v| v.borrow().len()).sum::<usize>() + sep.len() * (slice.len() - 1); | |
let mut result = Vec::with_capacity(size); | |
result.extend_from_slice(first.borrow()); | |
for v in iter { | |
result.extend_from_slice(sep); | |
result.extend_from_slice(v.borrow()) | |
} | |
result | |
} | |
} |
Meta
rustc --version --verbose
: 1.47.0-nightly (9b88e0a 2020-08-15)
@rustbot modify labels: T-rustdoc
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.P-highHigh priorityHigh priorityT-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.