@@ -301,10 +301,21 @@ end
301301function collect_defaults! (defs:: SymmapT , vars:: Vector{SymbolicT} )
302302 for v in vars
303303 isconst (v) && continue
304- if haskey (defs, v) || (def = Symbolics. getdefaultval (v, nothing )) === nothing
304+ haskey (defs, v) && continue
305+ def = Symbolics. getdefaultval (v, nothing )
306+ if def != = nothing
307+ defs[v] = SU. Const {VartypeT} (def)
305308 continue
306309 end
307- defs[v] = SU. Const {VartypeT} (def)
310+ Moshi. Match. @match v begin
311+ BSImpl. Term (; f, args) && if f === getindex end => begin
312+ haskey (defs, args[1 ]) && continue
313+ def = Symbolics. getdefaultval (args[1 ], nothing )
314+ def === nothing && continue
315+ defs[args[1 ]] = def
316+ end
317+ _ => nothing
318+ end
308319 end
309320 return defs
310321end
@@ -313,10 +324,21 @@ function collect_guesses!(guesses::SymmapT, vars::Vector{SymbolicT})
313324 for v in vars
314325 isconst (v) && continue
315326 symbolic_type (v) == NotSymbolic () && continue
316- if haskey (guesses, v) || (def = getguess (v)) === nothing
327+ haskey (guesses, v) && continue
328+ def = getguess (v)
329+ if def != = nothing
330+ guesses[v] = SU. Const {VartypeT} (def)
317331 continue
318332 end
319- guesses[v] = SU. Const {VartypeT} (def)
333+ Moshi. Match. @match v begin
334+ BSImpl. Term (; f, args) && if f === getindex end => begin
335+ haskey (guesses, args[1 ]) && continue
336+ def = Symbolics. getdefaultval (args[1 ], nothing )
337+ def === nothing && continue
338+ guesses[args[1 ]] = def
339+ end
340+ _ => nothing
341+ end
320342 end
321343 return guesses
322344end
0 commit comments