-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
The following causes a StackOverflowError:
using DynamicPolynomials
promote_type(Any, Polynomial{true,Any})Here Any can be replaced by various types. Output:
ERROR: StackOverflowError:
Stacktrace:
[1] promote_result(#unused#::Type, #unused#::Type, #unused#::Type{Any}, #unused#::Type{DynamicPolynomials.Polynomial{true, Any}})
@ Base ./promotion.jl:247What happens is that promote_rule(Any, Polynomial{true,Any}) returns Any and promote_rule(Polynomial{true,Any}, Any) returns Polynomial{true,Any}, and promote_result keeps calling itself with the exact same type arguments...
This originally came up trying to run MomentClosure.jl with SymbolicUtils version >= 0.12 (expanding some polynomial expressions). I'm currently trying to figure out the intended semantics behind this and trying to find a fix but I thought it might be useful to point it out :)
Metadata
Metadata
Assignees
Labels
No labels