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.

Assessment

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

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.

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).

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

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.

More from SciML/RecursiveArrayTools.jl

All issues in SciML/RecursiveArrayTools.jl

Similar issues

More Julia issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.