Skip to content

Commit bd19904

Browse files
committed
Make basic_similarterm more risk-averse
1 parent 3625a98 commit bd19904

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/types.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -524,15 +524,15 @@ similarterm(t::Symbolic, f, args; metadata=nothing) =
524524
similarterm(t::BasicSymbolic, f, args,
525525
symtype; metadata=nothing) = basic_similarterm(t, f, args, symtype; metadata=metadata)
526526

527-
function basic_similarterm(t, f, args, symtype; metadata=nothing)
527+
function basic_similarterm(t, f, args, stype; metadata=nothing)
528528
if f isa Symbol
529529
error("$f must not be a Symbol")
530530
end
531-
T = symtype
531+
T = stype
532532
if T === nothing
533533
T = _promote_symtype(f, args)
534534
end
535-
if f in (+, *) || (f in (/, ^) && length(args) == 2)
535+
if stype <: Number && (f in (+, *) || (f in (/, ^) && length(args) == 2)) && all(x->symtype(x) <: Number, args)
536536
res = f(args...)
537537
if res isa Symbolic
538538
@set! res.metadata = metadata

0 commit comments

Comments
 (0)