From 282f291b7de339951f44e4d0ba6d64571876099a Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Thu, 24 Oct 2024 08:15:28 +0200 Subject: [PATCH] rustc_feature::Features: explain what that 'Option' is about --- compiler/rustc_feature/src/unstable.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/rustc_feature/src/unstable.rs b/compiler/rustc_feature/src/unstable.rs index 8f4c208f1fbb5..8182eb1e9735b 100644 --- a/compiler/rustc_feature/src/unstable.rs +++ b/compiler/rustc_feature/src/unstable.rs @@ -44,6 +44,8 @@ pub struct Features { } impl Features { + /// `since` should be set for stable features that are nevertheless enabled with a `#[feature]` + /// attribute, indicating since when they are stable. pub fn set_enabled_lang_feature(&mut self, name: Symbol, span: Span, since: Option) { self.enabled_lang_features.push((name, span, since)); self.enabled_features.insert(name); @@ -54,6 +56,10 @@ impl Features { self.enabled_features.insert(name); } + /// Returns a list of triples with: + /// - feature gate name + /// - the span of the `#[feature]` attribute + /// - (for already stable features) the version since which it is stable pub fn enabled_lang_features(&self) -> &Vec<(Symbol, Span, Option)> { &self.enabled_lang_features }