From c481dea59691f185eec44ff48dad219ab4a1bd33 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 5 Feb 2026 13:35:31 -0500 Subject: [PATCH 1/2] Products.jl: Improve error message --- src/Products.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Products.jl b/src/Products.jl index 996ba14f..a238ca62 100644 --- a/src/Products.jl +++ b/src/Products.jl @@ -353,7 +353,7 @@ struct ExecutableProduct <: Product function ExecutableProduct(binnames::Vector{String}, varname::Symbol, dir_path::Union{AbstractString, Nothing}=nothing) if isdefined(Base, varname) - error("`$(varname)` is already defined in Base") + error("Cannot define an ExecutableProduct with name `$(varname)`. This symbol is already defined in Base.") end # If some other kind of AbstractString is passed in, convert it if dir_path !== nothing From faf40fb0d018338b350bcc7f51d064093b918188 Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 5 Feb 2026 13:56:08 -0500 Subject: [PATCH 2/2] Products: Improve error messages --- src/Products.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Products.jl b/src/Products.jl index a238ca62..1bcd6f35 100644 --- a/src/Products.jl +++ b/src/Products.jl @@ -130,7 +130,7 @@ struct LibraryProduct <: Product dont_dlopen::Bool=false, dlopen_flags::Vector{Symbol}=Symbol[]) if isdefined(Base, varname) - error("`$(varname)` is already defined in Base") + error("Cannot define a LibraryProduct with name `$(varname)`. This symbol is already defined in Base.") end # catch invalid flags as early as possible for flag in dlopen_flags @@ -451,7 +451,7 @@ struct FileProduct <: Product variable_name::Symbol function FileProduct(paths::Vector{String}, varname::Symbol) if isdefined(Base, varname) - error("`$(varname)` is already defined in Base") + error("Cannot define a FileProduct with name `$(varname)`. This symbol is already defined in Base.") end return new(paths, varname) end