-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Closed
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)A-stabilityArea: `#[stable]`, `#[unstable]` etc.Area: `#[stable]`, `#[unstable]` etc.C-bugCategory: This is a bug.Category: This is a bug.P-lowLow priorityLow priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
std::collections
reexports collections::linked_list
, which has this alias:
#[deprecated(since = "1.0.0", reason = "renamed to LinkedList")]
#[unstable(feature = "collections")]
pub use LinkedList as DList;
collections::linked_list
and collections::linked_list::LinkedList
are stable, so presumably the intent of these stability attributes was to stop stable code from using the DList
name, but it doesn't work. This compiles fine:
use std::collections::linked_list::DList;
fn main() {
DList::<i32>::new();
}
AFAICT, stability attributes don't affect pub use
declarations.
(Aside: AFAICT, stability attributes also don't affect impl
s either, but maybe I'm missing something? The standard library has stability attributes on many of its impl
s.)
Metadata
Metadata
Assignees
Labels
A-attributesArea: Attributes (`#[…]`, `#![…]`)Area: Attributes (`#[…]`, `#![…]`)A-stabilityArea: `#[stable]`, `#[unstable]` etc.Area: `#[stable]`, `#[unstable]` etc.C-bugCategory: This is a bug.Category: This is a bug.P-lowLow priorityLow priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.