Fix serde feature compilation problem

This commit is contained in:
David Peter
2024-12-17 17:54:46 +01:00
parent 27b64a0c66
commit a37dac1b41
2 changed files with 14 additions and 6 deletions

View File

@@ -1,13 +1,15 @@
use serde::{Deserialize, Serialize};
/// The target platform to assume when resolving types.
#[derive(Debug, Clone, Default, PartialEq, Eq, Deserialize, Serialize)]
#[serde(rename_all = "kebab-case")]
#[derive(Debug, Clone, Default, PartialEq, Eq)]
#[cfg_attr(
feature = "serde",
derive(serde::Serialize, serde::Deserialize),
serde(rename_all = "kebab-case")
)]
pub enum PythonPlatform {
/// Do not make any assumptions about the target platform.
#[default]
All,
/// Assume a target platform like `linux`, `darwin`, `win32`, etc.
#[serde(untagged)]
#[cfg_attr(feature = "serde", serde(untagged))]
Individual(String),
}

View File

@@ -929,7 +929,7 @@ where
// We may execute the `else` clause without ever executing the body, so merge in
// the pre-loop state before visiting `else`.
self.flow_merge(pre_loop);
self.flow_merge(pre_loop.clone());
self.record_negated_constraint(constraint);
self.visit_body(orelse);
@@ -940,6 +940,8 @@ where
for break_state in break_states {
self.flow_merge(break_state);
}
self.reset_visibility_constraints(pre_loop);
}
ast::Stmt::With(ast::StmtWith {
items,
@@ -1387,6 +1389,8 @@ where
range: _,
op,
}) => {
let pre_op = self.flow_snapshot();
let mut snapshots = vec![];
let mut constraints = vec![];
@@ -1420,6 +1424,8 @@ where
for snapshot in snapshots {
self.flow_merge(snapshot);
}
self.reset_visibility_constraints(pre_op);
}
_ => {
walk_expr(self, expr);