diff --git a/CHANGELOG.md b/CHANGELOG.md index 65c55117..235048e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Bug fixes --------- * Fixed bug when position is zero in `insert` and `split_at` methods for arrays. +* Indexing operations with pure index values are no longer considered pure due to the possibility of indexers. Breaking changes ---------------- diff --git a/src/ast.rs b/src/ast.rs index 023302a2..3d16bf68 100644 --- a/src/ast.rs +++ b/src/ast.rs @@ -1899,9 +1899,7 @@ impl Expr { Self::Map(x, _) => x.0.iter().map(|(_, v)| v).all(Self::is_pure), - Self::Index(x, _) | Self::And(x, _) | Self::Or(x, _) => { - x.lhs.is_pure() && x.rhs.is_pure() - } + Self::And(x, _) | Self::Or(x, _) => x.lhs.is_pure() && x.rhs.is_pure(), Self::Stmt(x) => x.0.iter().all(Stmt::is_pure),