Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Compiler/src/abstractinterpretation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2247,7 +2247,7 @@ function abstract_invoke(interp::AbstractInterpreter, arginfo::ArgInfo, si::Stmt
return Future(CallMeta(Bottom, ErrorException, EFFECTS_THROWS, NoCallInfo()))
end
# TODO: When we add curing, we may want to assume this is nothrow
if (method_or_ci.owner === Nothing && method_ir_ci.def.def isa Method)
if (method_or_ci.owner === Nothing && method_or_ci.def.def isa Method)
exct = Union{exct, ErrorException}
end
update_valid_age!(sv, callee_valid_range)
Expand Down
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ New language features
entry points. Entry points can be marked using `Base.Experimental.entrypoint` ([#55047]). Not all
code is expected to work with this option, and since it is experimental you may encounter problems.
* Redefinition of constants is now well defined and follows world age semantics ([#57253]). Additional redefinitions
(e.g. of types) are now allowed. See [the new manual chapter on world age](https://docs.julialang.org/en/v1.13-dev/manual/worldage/).
(e.g. of types) are now allowed. See [the new manual chapter on world age](https://docs.julialang.org/en/v1/manual/worldage/).
* A new keyword argument `usings::Bool` has been added to `names`, returning all names visible
via `using` ([#54609]).
* The `@atomic` macro family now supports reference assignment syntax, e.g. `@atomic :monotonic v[3] += 4`,
Expand Down
2 changes: 1 addition & 1 deletion base/lock.jl
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ This is similar to using [`lock`](@ref) with a `do` block, but avoids creating a
and thus can improve the performance.
!!! compat
`@lock` was added in Julia 1.3, and exported in Julia 1.10.
`@lock` was added in Julia 1.3, and exported in Julia 1.7.
"""
macro lock(l, expr)
quote
Expand Down
2 changes: 2 additions & 0 deletions base/logging/logging.jl
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ end
LogLevel(level::LogLevel) = level

isless(a::LogLevel, b::LogLevel) = isless(a.level, b.level)
isless(a::LogLevel, b::Integer) = isless(a.level, b)
isless(a::Integer, b::LogLevel) = isless(a, b.level)
+(level::LogLevel, inc::Integer) = LogLevel(level.level+inc)
-(level::LogLevel, inc::Integer) = LogLevel(level.level-inc)
convert(::Type{LogLevel}, level::Integer) = LogLevel(level)
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
89bf516f59c6e35cb0ca090d93fa347b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
286da5f2e9d6472f52e9eeee4ee9ec7b09bea8584fe95764de459b923c2323cb6ed6d9f04748c12c7f521a0a5bca07ec6ea69668e2f8e2a52595ce6a16f62410
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
54dc00afbb6c5bd7996cc351e0255be3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e680f3342a2fef684783890788c392897b065c158c2c3cf7e9ce0b9ab0642b3c6f93b5af5cf6671c477bb32a5ceed981f1416a4ae6bb7fb100eb1e8832591750

This file was deleted.

This file was deleted.

1 change: 1 addition & 0 deletions deps/checksums/cacert-2025-11-04.pem/md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4ca8e1c3e8fc44c3ecd7a1fb9d3a6d03
1 change: 1 addition & 0 deletions deps/checksums/cacert-2025-11-04.pem/sha512
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9d9f7ecc829bafc222501d8a66852d96a51f522b04a82963e4166c87b85d6a5e5eedb50ced2ef3026cd7cb06fcb4b7dca59c4157813a067cb7b185e32f2957ec
2 changes: 1 addition & 1 deletion deps/libgit2.version
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ LIBGIT2_SHA1=338e6fb681369ff0537719095e22ce9dc602dbf0
# The versions of cacert.pem are identified by the date (YYYY-MM-DD) of their changes.
# See https://curl.haxx.se/docs/caextract.html for more details.
# Keep in sync with `stdlib/MozillaCACerts_jll/Project.toml`.
MOZILLA_CACERT_VERSION := 2025-05-20
MOZILLA_CACERT_VERSION := 2025-11-04
2 changes: 1 addition & 1 deletion pkgimage.mk
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ print-depot-path:

$(BUILDDIR)/stdlib/%.image: $(JULIAHOME)/stdlib/Project.toml $(JULIAHOME)/stdlib/Manifest.toml $(INDEPENDENT_STDLIBS_SRCS) $(JULIA_DEPOT_PATH)/compiled
@$(call PRINT_JULIA, JULIA_CPU_TARGET="$(JULIA_CPU_TARGET)" $(call spawn,$(JULIA_EXECUTABLE)) --startup-file=no -e \
'Base.Precompilation.precompilepkgs(configs=[``=>Base.CacheFlags(debug_level=2, opt_level=3), ``=>Base.CacheFlags(check_bounds=1, debug_level=2, opt_level=3)])')
'Base.Precompilation.precompilepkgs(configs=[``=>Base.CacheFlags(debug_level=2, opt_level=3), ``=>Base.CacheFlags(check_bounds=1, debug_level=2, opt_level=3)]; strict=true)')
touch $@

$(BUILDDIR)/stdlib/release.image: $(build_private_libdir)/sys.$(SHLIB_EXT)
Expand Down
4 changes: 3 additions & 1 deletion src/jloptions.c
Original file line number Diff line number Diff line change
Expand Up @@ -668,9 +668,11 @@ JL_DLLEXPORT void jl_parse_opts(int *argcp, char ***argvp)
}
jl_options.nthreads = nthreads + nthreadsi;
}
assert(jl_options.nthreadpools == 1 || jl_options.nthreadpools == 2);
int16_t *ntpp = (int16_t *)malloc_s(jl_options.nthreadpools * sizeof(int16_t));
ntpp[0] = (int16_t)nthreads;
ntpp[1] = (int16_t)nthreadsi;
if (jl_options.nthreadpools == 2)
ntpp[1] = (int16_t)nthreadsi;
jl_options.nthreads_per_pool = ntpp;
break;
case 'p': // procs
Expand Down
10 changes: 6 additions & 4 deletions src/julia-syntax.scm
Original file line number Diff line number Diff line change
Expand Up @@ -1790,11 +1790,13 @@
(cons e '())
(let ((a '()))
(define (arg-to-temp x)
(cond ((effect-free? x) x)
((or (eq? (car x) '...) (eq? (car x) '&))
`(,(car x) ,(arg-to-temp (cadr x))))
(cond ((effect-free? x) x)
((eq? (car x) '...)
`(... ,(arg-to-temp (cadr x))))
((eq? (car x) 'kw)
`(,(car x) ,(cadr x) ,(arg-to-temp (caddr x))))
`(kw ,(cadr x) ,(arg-to-temp (caddr x))))
((eq? (car x) 'parameters)
`(parameters ,@(map arg-to-temp (cdr x))))
(else
(let ((g (make-ssavalue)))
(begin (set! a (cons `(= ,g ,x) a))
Expand Down
9 changes: 8 additions & 1 deletion stdlib/Artifacts/src/Artifacts.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,13 @@ using Base.TOML: TOML
export artifact_exists, artifact_path, artifact_meta, artifact_hash,
select_downloadable_artifacts, find_artifacts_toml, @artifact_str

const _artifacts_world_age = Ref{UInt}(typemax(UInt))

function __init__()
_artifacts_world_age[] = Base.get_world_counter()
nothing
end

"""
parse_toml(path::String)
Expand Down Expand Up @@ -543,7 +550,7 @@ function jointail(dir, tail)
end

function _artifact_str(__module__, artifacts_toml, name, path_tail, artifact_dict, hash, platform, ::Val{LazyArtifacts}) where LazyArtifacts
world = Base._require_world_age[]
world = _artifacts_world_age[]
if world == typemax(UInt)
world = Base.get_world_counter()
end
Expand Down
2 changes: 1 addition & 1 deletion stdlib/LinearAlgebra.version
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LINEARALGEBRA_BRANCH = release-1.12
LINEARALGEBRA_SHA1 = 997c4b7e7664f30645ef8bd51d8a4203e49c4631
LINEARALGEBRA_SHA1 = dd3ea72ec654706060220118f4a65a708733b84c
LINEARALGEBRA_GIT_URL := https://github.com/JuliaLang/LinearAlgebra.jl.git
LINEARALGEBRA_TAR_URL = https://api.github.com/repos/JuliaLang/LinearAlgebra.jl/tarball/$1
7 changes: 7 additions & 0 deletions stdlib/Logging/test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ macro customlog(exs...) Base.CoreLogging.logmsg_code((Base.CoreLogging.@_sourcei
@test :handle_message in names(Logging, all=true) # non-exported public function
end

@testset "LogLevel compatibility with integers" begin
@test Logging.Debug + 1000 == Logging.Info
@test Logging.Warn - 1000 == Logging.Info
@test Logging.Info < 500
@test 500 < Logging.Warn
end

@testset "ConsoleLogger" begin
# First pass log limiting
@test min_enabled_level(ConsoleLogger(devnull, Logging.Debug)) == Logging.Debug
Expand Down
5 changes: 5 additions & 0 deletions stdlib/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,11 @@ weakdeps = ["SparseArrays"]
uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
version = "1.11.0"

[[deps.SuiteSparse]]
deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
version = "1.12.0"

[[deps.SuiteSparse_jll]]
deps = ["Artifacts", "Libdl", "libblastrampoline_jll"]
uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/MozillaCACerts_jll/Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "MozillaCACerts_jll"
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
# Keep in sync with `deps/libgit2.version`.
version = "2025.05.20"
version = "2025.11.04"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
2 changes: 1 addition & 1 deletion stdlib/Pkg.version
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PKG_BRANCH = release-1.12
PKG_SHA1 = 53b2b5da91c27515ce129635fe184e8bd9afb09f
PKG_SHA1 = 1dad5c51322827d29d4654b0249415e83625cf4f
PKG_GIT_URL := https://github.com/JuliaLang/Pkg.jl.git
PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1
1 change: 1 addition & 0 deletions stdlib/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
StyledStrings = "f489334b-da3d-4c2e-b8f0-e476e12c162b"
SuiteSparse_jll = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
SuiteSparse = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
Tar = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
4 changes: 2 additions & 2 deletions stdlib/stdlib.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ INDEPENDENT_STDLIBS := \
ArgTools Base64 CRC32c Dates DelimitedFiles Distributed Downloads Future \
InteractiveUtils JuliaSyntaxHighlighting LazyArtifacts LibGit2 LibCURL Logging \
Markdown Mmap NetworkOptions Profile Printf Pkg REPL Serialization SharedArrays \
SparseArrays Statistics StyledStrings SuiteSparse_jll Tar Test TOML Unicode UUIDs \
dSFMT_jll GMP_jll libLLVM_jll LLD_jll LLVMLibUnwind_jll LibUnwind_jll LibUV_jll \
SparseArrays Statistics StyledStrings SuiteSparse_jll SuiteSparse Tar Test TOML \
Unicode UUIDs dSFMT_jll GMP_jll libLLVM_jll LLD_jll LLVMLibUnwind_jll LibUnwind_jll LibUV_jll \
LibCURL_jll LibSSH2_jll LibGit2_jll nghttp2_jll MozillaCACerts_jll \
MPFR_jll OpenLibm_jll OpenSSL_jll PCRE2_jll p7zip_jll Zlib_jll

Expand Down
11 changes: 10 additions & 1 deletion test/syntax.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3659,7 +3659,7 @@ end
@test p("public() = 6") == Expr(:(=), Expr(:call, :public), Expr(:block, 6))
end

@testset "removing argument sideeffects" begin
@testset "removing argument side effects" begin
# Allow let blocks in broadcasted LHSes, but only evaluate them once:
execs = 0
array = [1]
Expand All @@ -3675,6 +3675,15 @@ end
let; execs += 1; array; end::Vector{Int} .= 7
@test array == [7]
@test execs == 4

# remove argument side effects on lhs kwcall
pa_execs = 0
kw_execs = 0
f60152(v, pa; kw) = copy(v)
@test (f60152([1, 2, 3], 0; kw=0) .*= 2) == [2,4,6]
@test (f60152([1, 2, 3], (pa_execs+=1); kw=(kw_execs+=1)) .*= 2) == [2,4,6]
@test pa_execs === 1
@test kw_execs === 1
end

# Allow GlobalRefs in macro definition
Expand Down