SciML / SciML/RecursiveArrayTools.jl

QA: ExplicitImports no_implicit_imports findings (root + RecursiveArrayToolsRaggedArrays)

Open
#619 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 ExplicitImports check_no_implicit_imports check is currently marked @test_broken (ei_broken = (:no_implicit_imports,)) in two QA environments:

  • RecursiveArrayTools (root, test/QA/qa.jl)
  • RecursiveArrayToolsRaggedArrays (lib/RecursiveArrayToolsRaggedArrays/test/qa/qa.jl)

Both modules rely on whole-module using of dependencies (LinearAlgebra, SymbolicIndexingInterface, ArrayInterface, StaticArraysCore, Adapt, ...) that implicitly bring dozens of names into scope. Making every used name an explicit import is a sizable source refactor that is out of scope for the QA harness conversion (run_qa v1.6 + ExplicitImports), so the check is tracked as @test_broken here rather than hard-failing the QA lane.

Resolution: convert the whole-module using X statements to explicit using X: a, b, c imports of the names actually used, then drop :no_implicit_imports from each env's ei_broken.

This issue is auto-tracking: run_qa's ei_broken records Broken while the finding stands and flips to an Unexpected Pass (error) once the check is clean, prompting removal of the marker.

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 with test/QA/qa.jl and lib/RecursiveArrayToolsRaggedArrays/test/qa/qa.jl, then inspect the whole-module using statements and the related ExplicitImports findings. Run the QA environments to confirm no_implicit_imports is clean, then remove :no_implicit_imports from each ei_broken record.

Written by the indexing model from the issue text.

Assessment

Domain
testing, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.