From ff786be05c5b7637a9b127099b7cb871e47a3838 Mon Sep 17 00:00:00 2001 From: Tim Holy Date: Thu, 5 Jan 2023 03:51:43 -0600 Subject: [PATCH] Fix an invalidation The cause was a new method in SciMLBase.jl: ``` julia> tree inserting ==(retcode::SciMLBase.ReturnCode.T, s::Symbol) @ SciMLBase ~/.julia/packages/SciMLBase/QqtZA/src/retcodes.jl:348 invalidated: ``` This accounts for only ~20 invalidations, but seems worth having. --- src/CommonSubexpressions.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CommonSubexpressions.jl b/src/CommonSubexpressions.jl index 29b7d2f..d92b76f 100644 --- a/src/CommonSubexpressions.jl +++ b/src/CommonSubexpressions.jl @@ -87,7 +87,7 @@ function combine_subexprs!(cache::Cache, expr::Expr; for (i, child) in enumerate(expr.args) expr.args[i] = combine_subexprs!(cache, child, warn=warn, mod=mod) end - if all(!isa(arg, Expr) && !(arg in cache.disqualified_symbols) for arg in drop(expr.args, 1)) + if all(!isa(arg, Expr) && !(isa(arg, Symbol) && arg in cache.disqualified_symbols) for arg in drop(expr.args, 1)) combined_args = Symbol(expr.args...) if !haskey(cache.args_to_symbol, combined_args) sym = add_element!(cache, combined_args, expr)