From 9a1d1ea33bc215f783ef8d459840b7a422018ff4 Mon Sep 17 00:00:00 2001 From: David Peter Date: Wed, 18 Dec 2024 10:31:08 +0100 Subject: [PATCH] sys.platform documentation --- crates/red_knot_python_semantic/src/python_platform.rs | 8 ++++++-- crates/red_knot_python_semantic/src/types.rs | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/red_knot_python_semantic/src/python_platform.rs b/crates/red_knot_python_semantic/src/python_platform.rs index d6affbfceb..672db29459 100644 --- a/crates/red_knot_python_semantic/src/python_platform.rs +++ b/crates/red_knot_python_semantic/src/python_platform.rs @@ -9,7 +9,11 @@ pub enum PythonPlatform { /// Do not make any assumptions about the target platform. #[default] All, - /// Assume a target platform like `linux`, `darwin`, `win32`, etc. + /// Assume a specific target platform like `linux`, `darwin` or `win32`. + /// + /// We use a string (instead of individual enum variants), as the set of possible platforms + /// may change over time. See for + /// some known platform identifiers. #[cfg_attr(feature = "serde", serde(untagged))] - Individual(String), + Identifier(String), } diff --git a/crates/red_knot_python_semantic/src/types.rs b/crates/red_knot_python_semantic/src/types.rs index 5e0fd81b8f..19c4d4c10d 100644 --- a/crates/red_knot_python_semantic/src/types.rs +++ b/crates/red_knot_python_semantic/src/types.rs @@ -139,7 +139,7 @@ fn symbol<'db>(db: &'db dyn Db, scope: ScopeId<'db>, name: &str) -> Symbol<'db> && file_to_module(db, scope.file(db)).is_some_and(|module| module.name() == "sys") { match Program::get(db).python_platform(db) { - crate::PythonPlatform::Individual(platform) => { + crate::PythonPlatform::Identifier(platform) => { return Symbol::Type( Type::StringLiteral(StringLiteralType::new(db, platform.as_str())), Boundness::Bound,