Skip to content

Use Iterators.flatten for nested level_iter - #164

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix/recursivearraytools-chain-import
Aug 28, 2026
Merged

ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix/recursivearraytools-chain-import

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Aug 27, 2026 •

Copy link
Copy Markdown
Member

Summary

level_iter for n > 1 concatenated child iterators via RecursiveArrayTools.chain. That name is not public in RecursiveArrayTools.

  • Binding the module (import RecursiveArrayTools) makes Core work, but QA all_qualified_accesses_are_public then fails: ``chain is not public in RecursiveArrayTools.
  • This PR uses public Base.Iterators.flatten instead, so Core and QA both pass without depending on RecursiveArrayTools internals.

Ignore until reviewed by @ChrisRackauckas.

Test plan

Fail-before / pass-after (Julia 1.12.4):

  • Master (8733161): collect(level_iter(tis, 2)) raises UndefVarError: RecursiveArrayTools not defined.
  • PR 164 HEAD (5631cb3, module bind only): GROUP=QA errors on all_qualified_accesses_are_public (chain is not public). Exit 1. 19 passed, 1 errored.
  • This commit: GROUP=QA 20/20 passed. GROUP=Core passed, including Core/level_iter_tests.jl 9/9 and Core/indexing_and_creation_tests.jl 134/134.

Local commands:

GROUP=QA julia --project=. -e 'using Pkg; Pkg.test()'
GROUP=Core julia --project=. -e 'using Pkg; Pkg.test()'

Not verified: GPU, Downgrade CI on this commit (Downgrade was already green on the previous commit), Julia pre.

🤖 Generated with Grok Build TUI 1.0.5 (model: grok-4.6)
Session: 01a047d2-fbfd-7b31-acb4-8487afb35ac6 (local transcript)

ChrisRackauckas and others added 2 commits August 27, 2026 18:03
import …: recursivecopy does not bind the package name, so RecursiveArrayTools.chain in level_iterations.jl fails under both main and Downgrade CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
RecursiveArrayTools.chain is not public, so binding the module and calling
RecursiveArrayTools.chain fails ExplicitImports all_qualified_accesses_are_public.
Base.Iterators.flatten is the public equivalent and keeps Core level iteration working.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Grok Build TUI <noreply@x.ai>
Agent-Harness: Grok Build TUI 1.0.5 (5115b46bc9)
Agent-Model: grok-4.6
Agent-Session: 01a047d2-fbfd-7b31-acb4-8487afb35ac6 (local transcript /home/crackauc/.grok/sessions/%2Fhome%2Fcrackauc%2Fsandbox%2Ftmp_20260828_100319_18686/01a047d2-fbfd-7b31-acb4-8487afb35ac6/)
@ChrisRackauckas-Claude
ChrisRackauckas-Claude marked this pull request as draft August 28, 2026 11:04
@ChrisRackauckas-Claude ChrisRackauckas-Claude changed the title Bind RecursiveArrayTools for level_iter chain Use Iterators.flatten for nested level_iter Aug 28, 2026
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 28, 2026 11:24
@ChrisRackauckas
ChrisRackauckas merged commit 8081398 into SciML:master Aug 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants