SciML / SciML/RecursiveArrayTools.jl
QA: ExplicitImports no_implicit_imports findings (root + RecursiveArrayToolsRaggedArrays)
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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