The QA group (test/qa/qa.jl) now runs ExplicitImports via run_qa(...; explicit_imports = true). Five of the six ExplicitImports checks pass (some all_qualified_accesses_are_public ignores documented inline for de-facto-public upstream names). The remaining check, check_no_implicit_imports, fails and is currently suppressed with ei_broken = (:no_implicit_imports,) so the QA lane records Broken, not Fail.
Finding (ExplicitImports.check_no_implicit_imports)
GlobalSensitivity relies on implicit imports (names brought in by bare using Statistics, Distributions, ... rather than using X: name). Making each explicit is a large, mechanical refactor across the whole src/ tree, so it is tracked here rather than done as part of the QA conversion.
Names relied on implicitly:
Combinatorics, permutations — Combinatorics
Copulas, GaussianCopula, IndependentCopula, SklarDist, condition — Copulas
Distributions, Distribution, MvNormal, Normal, Uniform, UnivariateDistribution, cdf, pdf — Distributions
FFTW, dct — FFTW; rfft — AbstractFFTs
ForwardDiff — ForwardDiff
KernelDensity, kde — KernelDensity
LinearAlgebra, Symmetric, diag, dot, pinv — LinearAlgebra
PrecompileTools, @compile_workload, @setup_workload — PrecompileTools
QuasiMonteCarlo — QuasiMonteCarlo
Random, AbstractRNG, rand!, randperm, shuffle! — Random
RecursiveArrayTools — RecursiveArrayTools
Statistics, cov, mean, quantile, std, var — Statistics
StatsBase, competerank — StatsBase
Trapz, trapz — Trapz
Fix
Replace the bare using X lines in src/GlobalSensitivity.jl (and per-file usages) with explicit using X: a, b, c for the names actually used, then drop :no_implicit_imports from ei_broken in test/qa/qa.jl. The ei_broken marker auto-flags an Unexpected Pass once the check is clean, so the suppression cannot be silently left behind.
Ignore until reviewed by @ChrisRackauckas.
The QA group (
test/qa/qa.jl) now runs ExplicitImports viarun_qa(...; explicit_imports = true). Five of the six ExplicitImports checks pass (someall_qualified_accesses_are_publicignores documented inline for de-facto-public upstream names). The remaining check,check_no_implicit_imports, fails and is currently suppressed withei_broken = (:no_implicit_imports,)so the QA lane recordsBroken, notFail.Finding (
ExplicitImports.check_no_implicit_imports)GlobalSensitivityrelies on implicit imports (names brought in by bareusing Statistics, Distributions, ...rather thanusing X: name). Making each explicit is a large, mechanical refactor across the wholesrc/tree, so it is tracked here rather than done as part of the QA conversion.Names relied on implicitly:
Combinatorics,permutations— CombinatoricsCopulas,GaussianCopula,IndependentCopula,SklarDist,condition— CopulasDistributions,Distribution,MvNormal,Normal,Uniform,UnivariateDistribution,cdf,pdf— DistributionsFFTW,dct— FFTW;rfft— AbstractFFTsForwardDiff— ForwardDiffKernelDensity,kde— KernelDensityLinearAlgebra,Symmetric,diag,dot,pinv— LinearAlgebraPrecompileTools,@compile_workload,@setup_workload— PrecompileToolsQuasiMonteCarlo— QuasiMonteCarloRandom,AbstractRNG,rand!,randperm,shuffle!— RandomRecursiveArrayTools— RecursiveArrayToolsStatistics,cov,mean,quantile,std,var— StatisticsStatsBase,competerank— StatsBaseTrapz,trapz— TrapzFix
Replace the bare
using Xlines insrc/GlobalSensitivity.jl(and per-file usages) with explicitusing X: a, b, cfor the names actually used, then drop:no_implicit_importsfromei_brokenintest/qa/qa.jl. Theei_brokenmarker auto-flags anUnexpected Passonce the check is clean, so the suppression cannot be silently left behind.Ignore until reviewed by @ChrisRackauckas.