https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
ff67310 Merge branch 'master' into sb/reduce-and 02 November 2023, 19:33:04 UTC
09617ac add more defaults for reductions over empty arrays (#29919) From discussion in #28535 02 November 2023, 19:31:46 UTC
dabb93a Document the fields of `VersionNumber` (#50179) `VersionNumber`'s fields are currently not documented, and therefore, private by default. However, if people want to use `VersionNumber` for anything other than the documented comparison operations, users will have to access the fields. 02 November 2023, 14:06:48 UTC
55e5ee3 Clarify conversion-and-promotion.md example code for `convert` (#50274) Closes: https://github.com/JuliaLang/julia/issues/50273 Co-authored-by: Jameson Nash <vtjnash@gmail.com> 02 November 2023, 14:00:23 UTC
924aac9 macroexpand: handle const/atomic struct fields correctly (#51980) Fixes #51899 02 November 2023, 13:53:26 UTC
54996ca add function `Sys.username()` (#51897) The commit introduces a new function to Base which returns the current user's username retrieved from the password database. Resolves #48302 Closes #48928 Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 02 November 2023, 13:48:16 UTC
ad86772 test: eachindex for arbitrary number of arguments (#51941) added test cases for `eachindex` to cover arbitrary number of arguments ![image](https://github.com/JuliaLang/julia/assets/49565677/fa39cb8c-2523-40c0-90f3-e3f90f54397e) 02 November 2023, 09:34:08 UTC
7c74274 fix `pointer` for `Memory` by deleting incorrect method (#51963) The fallback method for `AbstractArray` was correct and the custom one for `Memory` wasn't. 02 November 2023, 09:32:23 UTC
8b97aa1 Improve style in Base/experimental.jl [NFC] (#51965) Make the checks line up with the error messages. 02 November 2023, 08:47:14 UTC
2994463 Stop test printing LLVM IR to stdout (#51974) Fixes https://github.com/JuliaLang/julia/issues/51971 02 November 2023, 08:46:12 UTC
58a2a45 make NEWS.md link style more consistent (#51978) Minor PR to make the PR link punctuation a bit more consistent in the NEWS file, and adds a couple of missing PR links. 02 November 2023, 08:45:48 UTC
06de99e Make Scope immutable (#51976) Addresses keno review comment in https://github.com/JuliaLang/julia/pull/50958#discussion_r1378513975 02 November 2023, 08:44:49 UTC
013311c compiler: use `_uncompressed_ir` instead of direct `ccall` (#51972) 02 November 2023, 00:32:29 UTC
c019132 Update documentation for min and max with missing values (#48906) With respect to https://github.com/JuliaLang/julia/pull/25403 , `min` and `max` methods are supposed to return "missing" whenever we pass "missing" value as one of the arguments, this PR updates the inline documentation to reflect the same. 01 November 2023, 20:20:40 UTC
405ce11 further fix to the new promoting method for AbstractDateTime subtraction (#51967) 01 November 2023, 17:18:08 UTC
e2a6424 clean up identifiers defined in `Main` (#51878) A re-do of #51411 that should be non-breaking. - Loaded packages do not need explicit bindings - The name `MainInclude` does not need to be visible - Put Main's eval and include in the module like all other modules and hide them explicitly instead 01 November 2023, 17:16:12 UTC
5185487 When ASAN is enabled, disable DebugObjectManagerPlugin on JITLink+ELF (#51917) 01 November 2023, 16:16:33 UTC
5db9dbd docs: add some clarifications to methods.md (#51938) Closes #40650 Rebase of https://github.com/JuliaLang/julia/pull/40667 with edits, since upstream deleted their repo Co-authored-by: Patrick Toche <contact@patricktoche.com> 01 November 2023, 14:42:48 UTC
2adf54a [devdocs] Improve documentation about building external forks of LLVM (#50207) Suggested by @vchuravy. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 01 November 2023, 14:28:55 UTC
a8a3f92 Clarify documentation of anonymous functions (#48119) The example used previously is a bit confusing: the do-block syntax is introduced only later on the page, and the anonymous function simply calls `time` so it's actually useless (`time` could be passed to `get` as-is). 01 November 2023, 14:19:58 UTC
0bde9a2 Implement copy for SecretBuffer (#27827) As noted in https://github.com/JuliaLang/julia/pull/27802#issuecomment-400386359 Co-authored-by: Curtis Vogt <curtis.vogt@gmail.com> 01 November 2023, 14:15:04 UTC
3f8396c Docs: io-network: list `read(::String)` and `write(::String,::Any)` before `open` (#49837) Point 3 of https://github.com/JuliaLang/julia/issues/43428 Depends on https://github.com/JuliaLang/julia/pull/49835 and https://github.com/JuliaLang/julia/pull/49836 to be useful :) --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 01 November 2023, 07:44:53 UTC
aaa092c Implement more missing BFloat16 intrinsics (#51935) Extends #51790; I forgot the conversion intrinsics defined in `APInt-C`. To differentiate between Float16/BFloat16, I converted a couple of intrinsics to take a `jl_datatype_t` argument instead an unsigned number of bits. 01 November 2023, 07:27:37 UTC
b093c2d `AbstractInterpreter`: define `add_invalidation_callback!` utility (#51769) It seems we're reaching a consensus on how the external `AbstractInterpreter` utilizes user invalidation callbacks. Let's establish a utility within `Core.Compiler` for this purpose, which cannibalizes the pattern, so that external packages can easily access and use it. Furthermore, with this commit, gf.c has been adjusted so that each invocation of `invalidate_method_instance` invokes user callbacks. This adjustment eliminates the need for user callbacks to traverse (unstable and internal) backedge lists by themselves. 01 November 2023, 07:19:37 UTC
b8f74db inlining: use `SemiConcreteResult` for `invoke` calls (#51933) 01 November 2023, 06:13:55 UTC
b6e178a `AbstractInterpreter`: stash inferred `CodeInfo` even when optimization doesn't happen (#51952) After #51888, `(result::InferenceResult).src` is set to `nothing` in two situations: 1. When the inference result is limited due to recursion. 2. When optimization is unnecessary as the result is already precise. This commit allows external `AbstractInterpreter` to differentiate between these two situations by retaining the inferred source code in `result.src` for the latter case. This is particularly crucial for the functionality of JET's analysis. 01 November 2023, 05:09:27 UTC
3a6c418 update doc references (#48162) 01 November 2023, 02:28:12 UTC
2f63cc9 Fix error when dump() a partial NamedTuple (#51947) 01 November 2023, 00:58:02 UTC
2b73a1d clarify assert doc entry (#45998) Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 31 October 2023, 20:27:20 UTC
301f262 Add a doctest for timedwait (#49686) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 20:26:14 UTC
f631597 minor cleanups to MemoryRef (#51937) 31 October 2023, 17:10:55 UTC
69a4ecb IO: fix API safety issue for Ptr (#51949) Align the API for Ref with the new definition for AbstractArray (#49769) and ensure this API does not accept raw Ptr as input. Refs #42593 31 October 2023, 17:09:38 UTC
5ae88f5 improve `Union` docs as discused in discourse (#45109) Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 13:02:17 UTC
2253cdf Some extended documentation for `Core.Compiler.return_type` usage as `promote_op` (#44340) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 13:01:28 UTC
0887a33 Docs: file: list `read` and `write` again (#49838) Point 5 of https://github.com/JuliaLang/julia/issues/43428 Motivation: I feel like the most fundamental *file* operations in Julia are `read(filename::String)` and `write(filename::String, content)`, so it makes sense to repeat their documentation in the **Filesystem** documentation. I also see these methods as fundamental to teach beginners. Like https://github.com/JuliaLang/julia/pull/49837, the goal is to only show short docstrings for these methods, not the whole `IOStream` functionality. So it depends on https://github.com/JuliaLang/julia/pull/49835 and https://github.com/JuliaLang/julia/pull/49836 to be useful :) 31 October 2023, 11:53:10 UTC
5b34cdf remove chmodding the pkgimages (#51885) This shouldn't be needed because `ldd` should do it itself. 31 October 2023, 11:19:12 UTC
9075731 fixup to #51743, timetype subtraction (#51881) Restores the method whose removal was probably causing problems. 31 October 2023, 11:18:35 UTC
6084a62 Adds information to redirect_std* inline docs (#49563) Partially addresses issue #35959 Adds examples for redirecting std to a file to the markdown file --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 31 October 2023, 08:57:23 UTC
b9dcb94 doc: rename `sparam_syms` to `slot_syms` (#45876) `sparam_syms` was removed in https://github.com/JuliaLang/julia/pull/31015. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 08:55:35 UTC
4ce1c81 relocation: a fix for `@depot` tag inserting and extra tests (#51920) #51892 caused depots to be skipped when inserting the `@depot` tags, because it assumed that `isdirpath(path) == false` means that `path` is not a directory. This is fixed here while preserving the path normalization introduced there. Furthermore, this adds tests as requested here https://github.com/JuliaLang/julia/pull/51892#issuecomment-1781754004 31 October 2023, 08:53:50 UTC
aeb4e7d Comment on `include` pattern in Julia vs. Python (#41227) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 03:26:40 UTC
3f77e1e delay instantiation of `const_results` (#51925) Makes `abstract_call_gf_by_type` more memory efficient. 31 October 2023, 01:32:28 UTC
a9509be updated Doc string in Base.Generator (#35261) 31 October 2023, 00:46:24 UTC
85ed34c Document the kind of indices returned by `findmin`/`findmax`/`argmin`/`argmax` (#46705) This is the sentence used for `find*` functions, introduced by #25577. Also change "the domain of `f`" to "`domain`" as the domain of `f` can be a superset of the passed `domain`. (Spotted at https://github.com/JuliaData/DataFrames.jl/issues/3139.) --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 31 October 2023, 00:14:05 UTC
96147bb manual/workflow-tips: simplify the basic workflow (and explain the why) (#48319) I came upon this piece of documentation again after seeing this post: https://discourse.julialang.org/t/how-to-clear-variables-and-or-whole-work-space/10149/21?u=tfiers ("How to clear variables and/or whole work space?" → "Work in a module") This small addendum to the Worfklow Tips section of the manual answers "but why should I bother making that module"; basically putting the gist of that discourse thread in the documentation, where more people might see it. 30 October 2023, 18:40:24 UTC
55b0729 inference: don't put globally-cached results into inference local cache (#51888) Now, we fill the inference's local cache exclusively with locally-cached results. Given that sources of globally-cached results will be populated from the global cache when needed (for inlining), there's no need for them to waste memory in the local cache. @nanosoldier `runbenchmarks("inference", vs=":master")` 30 October 2023, 08:14:58 UTC
af0bd56 minor cosmetic refactor on base/compiler/optimize.jl (#51924) 30 October 2023, 08:14:20 UTC
ca5b4c5 Small fix to `randn`/`randexp` (#51890) The pattern `log(rand(rng))` has the consequence of permitting `log(0.0) == -Inf` to be computed, since the domain of `rand` is $[0,1)$. It looks like this mishap wouldn't actually escape `randn` (due to exit conditionals), but it appears that it can escape `randexp`, resulting in a return value of `+Inf`. While this is a literally admissible return value, it is grossly over-represented. On the current version, it occurs with probability roughly $10^{-18}$. For reference, values $>41$ should occur about that often. The correct return frequency for values that exceed `floatmax(Float64)` (i.e., `+Inf`) should be roughly $10^{-10^{308}}$. Replacing `log(rand(rng))` with `log1p(-rand(rng))` is "statistically identical" (modulo the effects of finite representations) except that it equivalently shifts the support of inputs to `log` from $[0,1)$ to the better-behaved $(0,1]$. This will change the stream of values produced by `randn`/`randexp`. Additionally, the largest value returned by `randexp` will change from $+\infty$ to roughly $44$. Somewhat larger values will be possible if we extend the dynamic range of `rand` as discussed [on Discourse](https://discourse.julialang.org/t/output-distribution-of-rand-float32-and-rand-float64-thread-2/105184). 30 October 2023, 02:56:35 UTC
855cd56 Clarify docstring for `exponent`, again (#47085) In #47035 we realised that `issubnormal` used the word "exponent" quite loosely, and this is also true of `exponent`'s docstring. So this tries to fix it... * Saying "this corresponds to the exponent of `x`." seems a bit circular, but I think it wants to say that in such cases it corresponds to the exponent bits? * Saying "normalized floating-point number" does not mean like `normalize(1.0)`... I think it means not-subnormal. Maybe it's better to say that? (Although I don't love this sentence.) * From "largest integer y such that `2^y ≤ abs(x)`" it sounds like `exponent(8+im)` should work, but it does not. So I marked it `::Real`. * I think it is nice to mention that 0, Inf, Nan give an error. As they must, for `2^y ≤ abs(x)`... but `0.0` is not subnormal, so the claim about reading the bit pattern isn't quite correct without excluding these cases. * Better examples, progressively adding detail, not too repetitive. * See also related functions. Recently edited in #46815. And I forgot, but "See also" and errors also overlap with this (approved) PR: https://github.com/JuliaLang/julia/pull/45221/files#diff-faa5f0835bd28c4a33e6603e208a9236034568a4abc7adec4995afb64550d0bdR940 . That should go first. 29 October 2023, 15:45:29 UTC
d5c30d8 Fix -1 for BigInt factorial - Update gmp.jl (#51497) Fixes #51488 --------- Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> 29 October 2023, 02:25:00 UTC
b5b05c8 remove jl_gc_wb_buf (#51919) Stale now that the Memory PR got merged. 29 October 2023, 00:59:04 UTC
81abb6d Adapt to LLVM 16 (#51591) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 28 October 2023, 21:25:17 UTC
18f8070 add 1-arg methods for set comparisons (#50862) 28 October 2023, 21:14:32 UTC
ab1eec5 libjulia: add jl_unwrap_unionall to exported_funcs (#51916) This was recently refactored in #51319 and while trying to adapt `libcxxwrap-julia` to the new changes I got: ``` ld: CMakeFiles/test_module.dir/test_module.cpp.o: in function `jl_datatype_layout': test_module.cpp:(.text+0x2c2): undefined reference to `jl_unwrap_unionall' ``` The function `jl_datatype_layout` is `STATIC_INLINE` in `julia.h`: https://github.com/JuliaLang/julia/blob/98542d748540e2390d6222282749c7dd534544da/src/julia.h#L1304-L1312 `jl_unwrap_unionall` is marked `JL_DLLEXPORT` here but it doesn't appear in the exports of `libjulia`. 28 October 2023, 19:43:27 UTC
ba98467 [BLAS] Add the gemmt routine (#51701) We can finally add this routine, supported by the last version of OpenBLAS (3.24) and Intel MKL. 28 October 2023, 17:26:49 UTC
57c7c00 Redo #32205 - PosDef exception is too specific. (#51864) Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 28 October 2023, 17:25:05 UTC
f7b8e6b Move the banner function from versions.jl to REPL (#51867) 28 October 2023, 17:24:54 UTC
98542d7 Base.Cartesian: add `@ncallkw` and allow `else` branch inside `if` (#51501) 28 October 2023, 11:55:51 UTC
4975c02 Improve codegen, accuracy of inlining cost for unknown intrinsics (#44349) 28 October 2023, 11:54:39 UTC
f573c4a More detail on locks (#51844) 28 October 2023, 11:53:19 UTC
9c581cd mkpidlock: close update loop in error path (#51902) 28 October 2023, 11:49:59 UTC
0a0bd00 Fix pointer calculation for `SubArray` with none-dense parent. (#51900) And code clean for `first_index` and `compute_linindex`: 1. call `compute_linindex` directly in `first_index(::SlowSubArray)`. (There's no need to calculate stride/offset.) 2. remove the uneeded `compute_linindex` dispatch (`first(x::ScalarIndex) == x`) 28 October 2023, 01:13:06 UTC
f106bd9 Respect JULIA_CPU_TARGET set in Make.inc when building pkgimgs (#51886) Co-authored-by: Elliot Saba <staticfloat@gmail.com> 28 October 2023, 00:00:53 UTC
93dbe36 Comment out DebugObjectManagerPlugin (#51859) Prem said this might fix #51794. 27 October 2023, 20:58:28 UTC
f235291 REPL: Try to fix intermittent hang during precompile (#51891) I was intermittently observing the REPL precompile process not finishing. What I believe was happening is the following: 1. The last line of the precompile script is `cd("complete_path\t\t$CTRL_C` 2. As soon as child julia sees the `CTRL_C`, the prompt is terminated, and a new prompt is echod. 3. The parent julia tries to complete the line by sending `\n`, and immediately returns, because the child has already written a new prompt. 4. The child reads the `\n` and enters raw mode (ignoring things like ^D). 5. The parent tries to write `^D` to complete the process, but because the child is still processing the `\n`, this `^D` is ignored and the process hangs. Try to fix this by not writing the superfluous `\n` if the precompile line ends in `^C`. 27 October 2023, 20:57:43 UTC
8a9476f [REPL] Fix shell completion error on unreadable symlink (#51851) In macOS there is a file, `/usr/sbin/weakpass_edit` that is a symlink to a directory that is only readable by `root`. Our REPL shell completion attempts to call `isfile()` when entering the shell mode and pressing `w`, throwing an ugly error into the REPL. This PR fixes the root cause (skipping files that fail the `isfile()` condition) and adds a test that synthesizes an analogous condition. 27 October 2023, 20:53:19 UTC
199cac7 Strip trailing slashes in `JULIA_DEPOT_PATH` when embedding `@depot` (#51892) The new relocatable cache file work uses simple text substitution when stripping out the depot from a cache file's paths, and when substituting it in again over the `@depot` marker. However, if a user starts julia with `JULIA_DEPOT_PATH=/opt/foo/`, the embedded path for `Foo.jl`'s includes list will look like `@depotpackages/Foo/XYZ/src/Foo.jl`, and if the user then uses `JULIA_DEPOT_PATH=/opt/foo` (which should be equivalent) the cache file will fail to load with the message: ``` Failed to determine depot from srctext files ``` This commit standardizes the serialization format to always contain a trailing `pathsep()`, so that textual substitution is more likely to work regardless of slightly-inconsistent `JULIA_DEPOT_PATH` settings. 27 October 2023, 17:38:05 UTC
8382d51 Insert the GC preserve into the expanded docs (#51884) The expanded form is not fully correct since it misses the preservation of the return value from `cconvert`. The text below talks about the fact that `cconvert` should do the allocations necessary, but the expanded code is incorrect for any `cconvert` that actually does this. 27 October 2023, 15:55:46 UTC
909bcea implement Memory{T} as a new backend for Array{T} (#51319) See <https://hackmd.io/@vtjnash/rkzazi7an> for the Julep describing this change. Also makes memory allocation ccalls safer, for catching Serialization and deepcopy bugs in packages. Fixes https://github.com/JuliaLang/julia/issues/24909 Co-authored-by: Jameson Nash <vtjnash@gmail.com> 27 October 2023, 14:41:18 UTC
58030da Add aliasing warnings to docstrings for mutating functions in Base (#50824) 27 October 2023, 14:34:09 UTC
841d54a strings: improve performance of nextind (#51671) The recursion (for invalid bytes) was preventing inlining, as was the length of the function. For ASCII data, the cost of the call far exceeds the cost of decoding the data. Closes #51624 27 October 2023, 14:11:42 UTC
a41e2b1 🤖 [master] Bump the Pkg stdlib from af5392db5 to 75960e509 (#51893) 27 October 2023, 01:27:10 UTC
342d718 `reverse(zip(its...))` now checks lengths of constituent iterators for equality (#50435) fixes https://github.com/JuliaLang/julia/issues/45085, fixes https://github.com/JuliaLang/julia/issues/25583, as per suggested by @Moelf Despite the fact that this might cause code to fail that previously worked, I think this is a bugfix not a breaking change. In particular, `Iterators.reverse` says: > Given an iterator itr, then reverse(itr) is an iterator over the same collection but in the reverse order And in many cases, the previous behavior of `reverse(::Zip)` would _not_ return "the same collection" 26 October 2023, 21:54:43 UTC
75881a9 Bump LLVM to 15.0.7-9 (#51863) Contains a fix for AMDGPU.jl 26 October 2023, 20:39:57 UTC
837522a Added tests for load_overrides() in Artifacts.jl (#51833) Fixes #48551 Continued from #51815 The `load_overrides()` method in `Artifacts.jl` has a large untested branch. This PR increases the test coverage for this method. ![image](https://github.com/JuliaLang/julia/assets/141328479/a9744e25-e79f-4664-8522-320dd29c4c50) https://app.codecov.io/gh/JuliaLang/julia/blob/master/stdlib%2FArtifacts%2Fsrc%2FArtifacts.jl#L121 26 October 2023, 15:11:50 UTC
342d05d Use correct module when printing code_llvm for opaque closures (#51865) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 26 October 2023, 14:07:05 UTC
3c4bccd docs: delete misleading `::Function` annotation in the `ntuple` doc (#51836) The first argument is not actually restricted to `Function` types. 26 October 2023, 08:56:07 UTC
6900ee1 Better `sinc` docstring (#51858) There are two types for the `sinc` function, unnormalized $\frac{\sin(x)}{x}$ and normalized $\frac{\sin(\pi x)}{\pi x}$. (https://en.wikipedia.org/wiki/Sinc_function) This PR updates the docstring and clarify which of these definition is used. Related: https://github.com/JuliaLang/julia/issues/36954#issuecomment-1296954308, https://github.com/JuliaLang/julia/pull/51551 26 October 2023, 08:55:15 UTC
4423845 Fix comments numbering in arrayshow.jl (#51862) 26 October 2023, 08:54:26 UTC
702730b Fix field access overlooked by rename (#51866) In e5cd9b6b3888c, the properties field was renamed to annotations, but the code here was not updated. This was missed because there was no test for the `AnnotatedString(::AbstractVector{AbstractChar})` method, which is also corrected here. 26 October 2023, 08:52:31 UTC
b5a531a Make the static analyzer happier in aarch64-darwin (#51861) 25 October 2023, 21:38:34 UTC
6e5dd59 replace jl_gc_wb_binding with jl_gc_wb (#51854) `jl_gc_wb_binding` has become a thin wrapper around `jl_gc_wb` now that `jl_binding_t` is first class. Replace it with `jl_gc_wb` to clean-up the write-barrier uses a bit. 25 October 2023, 21:28:16 UTC
946ab71 Assert that `exit` never returns (#51857) Closes #51856 25 October 2023, 21:27:47 UTC
193ead2 improve error message for invoke (#51831) This is effectively a type-assert, but the error message sounded confusing and internal without the context of what it got and what it expected to get. Refs: #51826 after: `ERROR: TypeError: in invoke: argument type error, expected Tuple{Int64, Vararg{Int64}}, got a value of type Tuple{DataType, Int64}` 25 October 2023, 21:22:20 UTC
bde62ad fix for invalid caching of CodeInfo from typeinf_ext (#51872) When inference decided it was not necessary to cache the object, it also skipped all of the work required to make the code valid, which typeinf_ext depends upon. This resulted in caching invalid data, causing effects tests to break unpredictably. This change ensures that we always update the InferenceState with the final result (when `must_be_codeinf` is true), so that typeinf_ext can get the correct results out of it for internal codegen use. Previously we were disregarding that flag in some cases. Fixes one of the issues uncovered in #51860 25 October 2023, 21:20:16 UTC
d0c4284 add missing wait during Timer and AsyncCondition close (#51847) Can cause spurious warnings about not closing these properly and unexpected events to appear after `close` returns. 25 October 2023, 17:34:51 UTC
c54a3f2 allow finalizers to take any locks and yield during exit (#51848) This aligns their behavior with manual calls to `finalize(o)`, and prepares for a future time in which these functions are always run on a separate thread. This means that they can wait to acquire locks in this context, which otherwise would have been denied to them. 25 October 2023, 15:16:47 UTC
3493473 LLVM: Activate typed pointers through the API instead of a global option. (#51840) This allows other users of LLVM to use opaque pointers with their contexts. Co-authored-by: Jameson Nash <vtjnash@gmail.com> 25 October 2023, 11:57:16 UTC
1705fe8 Make `read!(::IO,::StridedArray)` call `unsafe_read` if possible (#42593) This PR makes `read!(s::IO,a::StridedArray)` call `unsafe_read`, if `a` has continous memory layout. Since most of the checks are type-based, I think this does speed up, esspecially when `lock = true`. BTW, the above dispatch for `read!(s::IO, a::Array{UInt8})` in L762 seems unnecessary, should we drop it? --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 25 October 2023, 09:30:20 UTC
a1ccf53 Add BFloat16 runtime intrinsics. (#51790) After switching to LLVM for BFloat16 in #51470 (i.e., relying on `Intrinsics.sub_float` etc instead of hand-rolling bit-twiddling implementations), we also need to provide fallback runtime implementations for these intrinsics. This is too bad; I had hoped to put as much BFloat16-related things as possible in BFloat16s.jl. This required modifying the unary operator preprocessor macros in order to differentiate between Float16 and BFloat16; I didn't generalize that to all intrinsics as the code is hairy enough already (and it's currently only useful for fptrunc/fpext). 25 October 2023, 08:53:24 UTC
bb138fa Improve efficiency of minimum/maximum(::Diagonal) (#30236) ``` julia> DM = Diagonal(rand(100)); julia> @btime minimum($DM); # before 27.987 μs (0 allocations: 0 bytes) julia> @btime minimum($DM); # after 246.091 ns (0 allocations: 0 bytes) ``` 25 October 2023, 07:08:58 UTC
3b1ba62 [REPLCompletions] allow symbol completions within incomplete macrocall expression (#51834) fix #51827 --------- Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 25 October 2023, 06:45:45 UTC
3c21e32 inference: fix infinite recursion of nested Generators (#51845) It seems this case has already been fixed by other improvements, so we no longer need this hack, which is now causing problems. Fixes #51694 25 October 2023, 05:52:01 UTC
a43fcbc post-opt: run full scan within `check_inconsistency!` (#51846) Otherwise we fail to scan all statements. fix #51837 25 October 2023, 00:10:52 UTC
f0a28e9 add unsetindex support to more copyto methods (#51760) This is not-quite-public API, but since we have this for Array-to-Array copies, this tries to ensure it also does generically the same behavior for Memory-to-Array and Array-to-Memory as well. 24 October 2023, 21:07:08 UTC
df39cee replace many unsafe_convert methods with safer cconvert ones (#51764) This seems the correct way to define most conversions, since the unsafe logic should typically be isolated to a few areas, and everywhere else just defines conversions to it. This ensures the root is preserved even if the user later makes unexpected changes to the parent object (although the length might have later become inconsistent at that point, so it is not a guaranteed fix for memory issues). 24 October 2023, 15:54:04 UTC
2d8325b Run `crate-ci/typos` in CI (#51704) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 24 October 2023, 13:25:36 UTC
a6d9df7 Only warn in helpmode on successful nonpublic access (#51346) 24 October 2023, 13:05:18 UTC
a75c709 [nfc] Move comment in docview.jl (#51737) 24 October 2023, 13:02:30 UTC
855ec0c test: add test case for uncovered line in accumulate.jl (#51835) The `accumulate` function had missing code coverage for one dimensional arrays with an `init` value. ![image](https://github.com/JuliaLang/julia/assets/49565677/a53850c3-4559-4400-8ce2-e653812ec14e) I have added two tests for this case. 24 October 2023, 12:02:32 UTC
back to top