SciML / SciML/RecursiveArrayTools.jl

JET: similar_type(::Any) no-matching-method in RecursiveArrayToolsRaggedArrays (pre-existing QA red)

Open
#620 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
233
Forks
76
Avg merge
2h 17m
Merged PRs (30d)
9

Description

The RecursiveArrayToolsRaggedArrays QA lane fails JET.test_package(...; target_defined_modules = true) with three similar_type(::Any) reports:

no matching method found `similar_type(::Any)`:
  StaticArraysCore.similar_type(((dest::RecursiveArrayTools.AbstractRaggedVectorOfArray).u::Any)[i::Any]::Any)

These originate from the copyto!/fill paths in lib/RecursiveArrayToolsRaggedArrays/src/RecursiveArrayToolsRaggedArrays.jl (lines ~1335, 1347, 1468): JET infers dest.u[i] / VA.u[i] as ::Any because the abstract AbstractRaggedVectorOfArray .u field is untyped, so StaticArraysCore.similar_type(::Any) has no matching method.

This is pre-existing on master (verified: a clean origin/master checkout of the RaggedArrays QA group reports 10 passed, 2 failed — the Piracy false-positive plus this JET finding — before any QA-harness conversion). It is not introduced by the run_qa v1.6 conversion (https://github.com/SciML/RecursiveArrayTools.jl/pull/621). The conversion keeps the JET check as a hard test (behavior-preserving), so this lane remains red until the inference issue is addressed (e.g. tightening the .u field type or guarding the immutable-similar_type branch).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in lib/RecursiveArrayToolsRaggedArrays/src/RecursiveArrayToolsRaggedArrays.jl around lines 1335, 1347, and 1468, then inspect the AbstractRaggedVectorOfArray .u field and its copyto!/fill paths. Run the RecursiveArrayToolsRaggedArrays JET QA check to reproduce the similar_type(::Any) reports. Done means these JET findings no longer occur in the lane.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.