f442e42 | Jeff Bezanson | 09 June 2021, 02:51:34 UTC | Add support for external method tables (#39697) This PR implements a way to keep tables of methods that are not part of the internal method table, but still participate in the special support we have for keeping tables of methods, in particular unification through precompilation and efficient lookup. The intended design use case is to allow for method overlay tables for various non-CPU backends (e.g. GPU and TPU). These backends would like to modify basic function like `sin` to perform better on the device in question (or in the case of TPU to define them over non-LLVM intrinsics). It is worth noting that this PR only gives the ability to keep these tables of methods. It assigns no particular meaning to them and the runtime (and regular inference) do not look at them. They are designed as an implementation detail for external compilers and similar tools. # Demo ```julia julia> using Base.Experimental: @overlay, @MethodTable julia> @MethodTable(mt) # 0 methods: julia> @overlay mt function sin(x::Float64) 1 end julia> @overlay mt function cos(x::Float64) 1 end julia> mt # 2 methods: [1] cos(x::Float64) in Main at REPL[5]:1 [2] sin(x::Float64) in Main at REPL[4]:1 julia> Base._methods_by_ftype(Tuple{typeof(sin), Float64}, mt, 1, typemax(UInt)) 1-element Vector{Any}: Core.MethodMatch(Tuple{typeof(sin), Float64}, svec(), sin(x::Float64) in Main at REPL[4]:1, true) julia> Base._methods_by_ftype(Tuple{typeof(sin), Float64}, 1, typemax(UInt)) 1-element Vector{Any}: Core.MethodMatch(Tuple{typeof(sin), Float64}, svec(Float64), sin(x::T) where T<:Union{Float32, Float64} in Base.Math at special/trig.jl:29, true) ``` Co-authored-by: Tim Besard <tim.besard@gmail.com> Co-authored-by: Julian P Samaroo <jpsamaroo@jpsamaroo.me> Co-authored-by: Keno Fischer <keno@juliacomputing.com> | 09 June 2021, 02:51:34 UTC |
0e3276c | Jeff Bezanson | 09 June 2021, 01:37:36 UTC | edit NEWS for 1.7 (#41127) Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> Co-authored-by: KristofferC <kcarlsson89@gmail.com> Co-authored-by: Stefan Karpinski <stefan@karpinski.org> | 09 June 2021, 01:37:36 UTC |
482d0ac | Jeff Bezanson | 09 June 2021, 01:28:57 UTC | add missing method for `rand(::_GLOBAL_RNG)` (#41123) | 09 June 2021, 01:28:57 UTC |
91598c4 | DilumAluthgeBot | 09 June 2021, 00:05:49 UTC | [automated] Bump the Tar stdlib from 4e74e26 to ffb3dd5 (#41142) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 09 June 2021, 00:05:49 UTC |
dcaf356 | Alex Hirzel | 08 June 2021, 22:48:03 UTC | Correct typo s/absolutet/absolute/ (#41141) | 08 June 2021, 22:48:03 UTC |
9ac4fe7 | Keno Fischer | 08 June 2021, 20:45:01 UTC | Add missing decay derived (#41126) Fixes #41124, this was forgotten in #40935. | 08 June 2021, 20:45:01 UTC |
47c7f91 | Daniel Karrasch | 08 June 2021, 20:23:00 UTC | Fix typo in `eigen!` docstring (#41136) | 08 June 2021, 20:23:00 UTC |
6e87543 | DilumAluthgeBot | 08 June 2021, 19:01:00 UTC | [automated] Bump the Pkg stdlib from 326f5e70 to 9bb5a401 (#41130) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 08 June 2021, 19:01:00 UTC |
1910a76 | Rafael Fourquet | 08 June 2021, 11:26:28 UTC | trunc: clarify docstring and add examples (#40848) | 08 June 2021, 11:26:28 UTC |
f262de8 | Rafael Fourquet | 08 June 2021, 10:10:54 UTC | simpler and faster deepcopy_internal for BigInt and BigFloat (#41011) | 08 June 2021, 10:10:54 UTC |
523dafe | Rafael Fourquet | 08 June 2021, 10:05:02 UTC | repr: update docstring for possible values of the context argument (#39795) | 08 June 2021, 10:05:02 UTC |
70771b2 | Jameson Nash | 07 June 2021, 23:01:59 UTC | implement replace on String for multiple patterns (#40484) This has been attempted before, sometimes fairly similar to this, but the attempts seemed to be either too simple or too complicated. This aims to be simple, and even beats one of the "handwritten" benchmark cases. Past issues (e.g. #25396) have proposed that using Regex may be faster, but in my tests, this handily bests even simplified regexes. There can be slow Regexes patterns that can cause this to exhibit O(n^2) behavior, but only if the one of the earlier patterns is a partial match for a later pattern Regex and that Regex always matches O(n) of the input stream. This is a case that is hopefully usually avoidable in practice. fixes #35327 fixes #39061 fixes #35414 fixes #29849 fixes #30457 fixes #25396 | 07 June 2021, 23:01:59 UTC |
7c79849 | t-bltg | 07 June 2021, 22:02:47 UTC | remove deprecated --output-jit-bc option (#41100) | 07 June 2021, 22:02:47 UTC |
51f5740 | Michael Abbott | 07 June 2021, 21:38:29 UTC | Add 3-arg * methods (#37898) This addresses the simplest part of #12065 (optimizing * for optimal matrix order), by adding some methods for * with 3 arguments, where this can be done more efficiently than working left-to-right. Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 07 June 2021, 21:38:29 UTC |
708729b | Miguel Madrid-Mencía | 07 June 2021, 21:34:22 UTC | Define lpad/rpad in terms of textwidth (#39044) Fix #38256, per triage consensus there | 07 June 2021, 21:34:22 UTC |
0a34309 | Jameson Nash | 07 June 2021, 21:31:58 UTC | Merge pull request #39544 from JuliaLang/jn/22832 fix definition of open I/O to Process | 07 June 2021, 21:31:58 UTC |
89058d2 | Jameson Nash | 07 June 2021, 21:24:15 UTC | Merge pull request #41018 from JuliaLang/jn/pack-datatype pack even more fields in datatype | 07 June 2021, 21:24:15 UTC |
e376887 | Kristoffer Carlsson | 07 June 2021, 20:48:58 UTC | bump Pkg version (#41119) | 07 June 2021, 20:48:58 UTC |
42ee8e3 | Jacob Quinn | 07 June 2021, 20:18:09 UTC | Merge pull request #40813 from BioTurboNick/dateformat_doc Shift Dates parsing docs to default to `dateformat""` | 07 June 2021, 20:18:09 UTC |
e3baee5 | Jacob Quinn | 07 June 2021, 20:01:11 UTC | Merge pull request #41097 from melonedo/printf-position-counter Add format support for %n | 07 June 2021, 20:01:11 UTC |
64ed17e | Dilum Aluthge | 07 June 2021, 19:06:07 UTC | Revert "Code coverage: tell Codecov to ignore all external stdlibs (#41103)" (#41112) This reverts commit 97f446baf3a3368e08bbd81100fa6345f06c9079. | 07 June 2021, 19:06:07 UTC |
a86cb62 | Jeff Bezanson | 07 June 2021, 17:05:27 UTC | fix #39203, 2-arg `findmax` should return index instead of value (#41076) | 07 June 2021, 17:05:27 UTC |
355b66a | Rafael Fourquet | 07 June 2021, 17:03:43 UTC | add Xoshiro(seed) constructor, and extend some tests to Xoshiro (#41105) Usually, a seed should be equally valid for an RNG constructor or for a call to `seed!`, as `seed!`'s docstring mentions: > After the call to seed!, rng is equivalent to a newly created object > initialized with the same seed. | 07 June 2021, 17:03:43 UTC |
612cbe8 | matthias314 | 07 June 2021, 16:52:10 UTC | small cleanup of `dict.jl` (#41108) * unused local variable removed, typo in comment fixed Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 07 June 2021, 16:52:10 UTC |
e2ad373 | DilumAluthgeBot | 07 June 2021, 14:00:45 UTC | [automated] Bump the Downloads stdlib from c0e5cbd to 5d00bdd (#41050) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 07 June 2021, 14:00:45 UTC |
0a24648 | Andreas Noack | 07 June 2021, 09:32:20 UTC | Loosen test tolerance when testing lu with BigFloats (#41110) | 07 June 2021, 09:32:20 UTC |
37209f9 | Shuhei Kadowaki | 07 June 2021, 07:42:01 UTC | optimize: organize code and more strongly type `OptimizationState.ir` (#41081) | 07 June 2021, 07:42:01 UTC |
9687260 | Shuhei Kadowaki | 07 June 2021, 07:41:33 UTC | fix some type instabilities introduced by #39607 (#41094) After #39607, `Iterators.peel` can return `nothing` and the return type can be more inaccurate than before for certain iterative inputs where inference doesn't understand its length, e.g. `Iterators.peel(::<:AbstractString)`. The following JET analysis shows an example of this type instability: ```julia ═════ 2 possible errors found ═════ ┌ @ coreio.jl:4 Base.println(Core.tuple(Core.typeassert(Base.stdout, Base.IO)), xs...) │┌ @ strings/io.jl:73 Base.print(Core.tuple(io), xs, Core.tuple("\n")...) ││┌ @ strings/io.jl:46 Base.print(io, x) │││┌ @ show.jl:1283 Base.show_unquoted(Base.IOContext(io, Base.=>(:unquote_fallback, false)), ex, 0, -1) ││││┌ @ show.jl:1634 Base.show_unquoted_quote_expr(io, Base.getproperty(ex, :value), indent, prec, 0) │││││┌ @ show.jl:1651 Base.isidentifier(sym) ││││││┌ @ show.jl:1339 Base.isidentifier(Base.string(s)) │││││││┌ @ show.jl:1335 Base.indexed_iterate(Base.Iterators.peel(s), 1) ││││││││┌ @ tuple.jl:92 Base.iterate(I) │││││││││ no matching method found for call signature (Tuple{typeof(iterate), Nothing}): Base.iterate(I::Nothing) ││││││││└─────────────── │││││││┌ @ show.jl:1335 Base.indexed_iterate(Base.Iterators.peel(s), 2, _3) ││││││││┌ @ tuple.jl:97 Base.iterate(I, state) │││││││││ no matching method found for call signature (Tuple{typeof(iterate), Nothing, Int64}): Base.iterate(I::Nothing, state::Int64) ││││││││└─────────────── Core.Const(nothing) ``` This PR adds code refactors or manual annotations and seems to fix some of regressions within Base. | 07 June 2021, 07:41:33 UTC |
b43f04d | DilumAluthgeBot | 07 June 2021, 04:33:32 UTC | [automated] Bump the Pkg stdlib from 6cf6b95e to a3fc759f (#41116) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 07 June 2021, 04:33:32 UTC |
325475c | Keno Fischer | 07 June 2021, 04:13:33 UTC | Fix embarrassing bug in jl_copy_ast (#41113) This function was copying the code, but not actually assigning the newly copied code into the CodeInfo. This should fix crashes and mysterious 265-like issues in Diffractor. | 07 June 2021, 04:13:33 UTC |
e8cbee0 | Shuhei Kadowaki | 07 June 2021, 04:12:48 UTC | AbstractInterpreter: refactor a bit `may_optimize` interface (#41080) Currently `OptimizationState` can be introduced even when `may_optimize` returns `false`, and it can lead to a problem in `ir_to_codeinf!` call, that takes `OptimizationState` and expects it to hold optimized `IRCode, which doesn't necessarily happen when the optimization passes are turned off by an external `AbstractInterpreter`. With this PR, `OptimizationState` is introduced only when the optimization is turned on, and the problem described above won't happen anymore. | 07 June 2021, 04:12:48 UTC |
97f446b | Dilum Aluthge | 06 June 2021, 20:55:56 UTC | Code coverage: tell Codecov to ignore all external stdlibs (#41103) | 06 June 2021, 20:55:56 UTC |
66c3375 | Kristoffer Carlsson | 06 June 2021, 08:22:47 UTC | fix some printing of special characters (#25) (#41079) * TOML: fix some printing of special characters | 06 June 2021, 08:22:47 UTC |
f9eb8db | Shuhei Kadowaki | 06 June 2021, 07:33:47 UTC | fix #40814, improve type stability of `_totuple` (#41074) Replaces #40987, as suggested by #40814. | 06 June 2021, 07:33:47 UTC |
f487e0c | Jameson Nash | 29 May 2021, 14:03:12 UTC | pack more bits in DataType | 05 June 2021, 16:26:39 UTC |
de6f62a | Jameson Nash | 29 May 2021, 05:02:19 UTC | remove more extraneous fields from DataType | 05 June 2021, 16:26:39 UTC |
16f433b | matthias314 | 05 June 2021, 16:14:16 UTC | faster `mergewith!` (#40893) Co-authored-by: matthias314 <matthias314@posteo.net> Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 05 June 2021, 16:14:16 UTC |
2cf5f98 | Jeffrey Lin | 05 June 2021, 16:05:10 UTC | LinearAlgebra: ignore S.ev[length(S.dv)] in ishermitian(S:SymTridiagonal) (#41089) | 05 June 2021, 16:05:10 UTC |
8b6aff7 | melonedo | 05 June 2021, 13:46:18 UTC | Add format support for %n | 05 June 2021, 13:46:18 UTC |
443a1b6 | Leo | 05 June 2021, 13:42:19 UTC | relax type specification in the generic __normalize! (#41045) | 05 June 2021, 13:42:19 UTC |
a86e1d1 | Steven G. Johnson | 05 June 2021, 13:41:14 UTC | support Ref in has_fast_linear_indexing (#41072) | 05 June 2021, 13:41:14 UTC |
d9d59a9 | Andreas Noack | 05 June 2021, 11:03:43 UTC | Return rhs in ldiv! for SVD and add a test (#41083) Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu> | 05 June 2021, 11:03:43 UTC |
e0165b4 | Colin Caine | 05 June 2021, 02:24:44 UTC | Make Iterators.peel return nothing when itr empty (#39607) Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 05 June 2021, 02:24:44 UTC |
f9aa058 | Reno | 05 June 2021, 02:24:22 UTC | Remove the type constraint on `sincosd` (#41021) Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Steven G. Johnson <stevenj@mit.edu> | 05 June 2021, 02:24:22 UTC |
3e36180 | DilumAluthgeBot | 05 June 2021, 02:23:44 UTC | [automated] Bump the Tar stdlib from 343e923 to 4e74e26 (#41093) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 05 June 2021, 02:23:44 UTC |
87e08d9 | Claude Jordan | 05 June 2021, 02:23:10 UTC | Fixed @boundscheck warning to refer to axes instead of size (#41087) | 05 June 2021, 02:23:10 UTC |
1fef6c3 | Steven G. Johnson | 04 June 2021, 18:02:25 UTC | fix char-broadcast PR to work with AbstractChar (#41073) | 04 June 2021, 18:02:25 UTC |
abbb220 | Jeff Bezanson | 04 June 2021, 02:48:27 UTC | some inlining cost model updates (#35235) - treat arrayset like arrayref - add small cost for typeof | 04 June 2021, 02:48:27 UTC |
8535b8c | Jeff Bezanson | 03 June 2021, 16:09:19 UTC | Merge pull request #41063 from JuliaLang/jb/statstructmethods more efficient `==` and `hash` for `StatStruct` | 03 June 2021, 16:09:19 UTC |
e2d647e | Jameson Nash | 03 June 2021, 14:59:39 UTC | cat: remove incorrect inbounds/inline annotations (#41062) There are no boundschecks so these lead to problems such as #41047. | 03 June 2021, 14:59:39 UTC |
d5f1dca | Simeon Schaub | 03 June 2021, 14:55:19 UTC | allow escaping newlines with `\` inside strings (#40753) This allows the use of `\` in front of newlines inside non-raw/non-custom string or command literals as a line continuation character, so the following newline is ignored. This way, long strings without any newlines in them don't have to be written in a single line or be broken up. I think we might also want to use this to improve the printing of long strings in the REPL by printing them as multiline strings, making use of `\` for long lines if necessary, but that can be discussed separately. The command literal part is technically breaking, but the current behavior is probably unintuitive enough that this can be considered a minor change. For string literals, this should be entirely non-breaking since a single `\` before a newline currently throws a parsing error. closes #37728 | 03 June 2021, 14:55:19 UTC |
9f32653 | Jameson Nash | 02 June 2021, 22:25:26 UTC | Merge pull request #37847 from JuliaLang/jn/intrinsic-atomics Add some support for atomic operations on mutable fields and Ptrs | 02 June 2021, 22:25:26 UTC |
f2ea26d | Jameson Nash | 02 June 2021, 22:24:21 UTC | alter array alloc threshold to remove O(n^2) behavior (#40453) grow faster at small n, and slower at large n, but always as a function of n, never constant | 02 June 2021, 22:24:21 UTC |
0432ea3 | Jameson Nash | 02 June 2021, 22:23:20 UTC | fix for StatStruct show test from #39463 (#41060) Need to check for the correct substring. | 02 June 2021, 22:23:20 UTC |
81dcc81 | Jeff Bezanson | 02 June 2021, 21:45:45 UTC | more efficient `==` and `hash` for `StatStruct` | 02 June 2021, 21:45:45 UTC |
a3243a0 | Jameson Nash | 02 June 2021, 20:52:29 UTC | optimizer: add missing bounds checks to avoid ICE (#41048) Fixes #40804 | 02 June 2021, 20:52:29 UTC |
33fa18b | Jameson Nash | 02 June 2021, 20:51:54 UTC | codegen: fixing union isbits comparison UB (#41046) Fixes #40612 Fixes #40834 | 02 June 2021, 20:51:54 UTC |
842b802 | Jameson Nash | 05 February 2021, 20:11:32 UTC | process IO: add test for #22832 Fixes #14747 | 02 June 2021, 20:47:57 UTC |
b4855b6 | Jameson Nash | 05 February 2021, 20:14:04 UTC | alter `open(command) do` to close the whole process afterwards It seems this behavior was relied upon in ArgTools, so we change the behavior here to match. This is probably more in line with what people expect (and if not, this makes the `success` check now fail noisily, instead of hanging the process)! Refs #38996 | 02 June 2021, 20:47:57 UTC |
35bd7b0 | DilumAluthgeBot | 02 June 2021, 20:30:42 UTC | [automated] Bump the Tar stdlib from 86825ec to 343e923 (#41059) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 02 June 2021, 20:30:42 UTC |
73a963d | Jeff Bezanson | 02 June 2021, 20:14:12 UTC | Merge pull request #40935 from JuliaLang/jb/symhashperf speed up `hash(::Symbol)` | 02 June 2021, 20:14:12 UTC |
f313b08 | Jameson Nash | 08 April 2020, 20:33:48 UTC | add some intrinsic support for atomic operations | 02 June 2021, 18:32:31 UTC |
6be3652 | Sebastian Stock | 02 June 2021, 17:08:59 UTC | Explain properties of the `lt` keyword for sorting (#41029) * Explain restrictions on lt functions * Remove warn block, add note in text | 02 June 2021, 17:08:59 UTC |
3ec7824 | Michael Abbott | 02 June 2021, 17:08:09 UTC | Add `get` for numbers (#41032) | 02 June 2021, 17:08:09 UTC |
fd905fa | Ian Butterworth | 02 June 2021, 12:58:08 UTC | Add support for new Manifest.toml format during code load (#40765) * support new manifest format during code load | 02 June 2021, 12:58:08 UTC |
0e094a8 | Kristoffer Carlsson | 02 June 2021, 12:45:25 UTC | prevent doing excessive file system operations in require calls (#40890) | 02 June 2021, 12:45:25 UTC |
bfa4d38 | Jeffrey Lin | 02 June 2021, 09:17:44 UTC | LinearAlgebra: specialize is{hermitian,symmetric} for {Sym,}Tridiagonal (#41037) | 02 June 2021, 09:17:44 UTC |
e5884e7 | Jeff Bezanson | 02 June 2021, 06:24:29 UTC | Merge pull request #40546 from JuliaLang/jb/chethega/tlrng task-local xoshiro rebased | 02 June 2021, 06:24:29 UTC |
cfd940e | Jeff Bezanson | 20 April 2021, 20:35:44 UTC | make TaskLocal the default RNG | 01 June 2021, 23:48:41 UTC |
c47754e | Jeff Bezanson | 01 June 2021, 22:28:45 UTC | speed up `hash(::Symbol)` Since symbols are pre-hashed, add a fast path to return the value directly. | 01 June 2021, 22:28:45 UTC |
edea2de | chethega | 23 February 2020, 20:18:00 UTC | Introduce task-local and free-standing xoshiro RNG Co-Authored-By: Jeff Bezanson <jeff.bezanson@gmail.com> Co-Authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> - try to use high bits instead of low when we take a subset of them - use shift and multiply instead of mask and subtract for generating floats | 01 June 2021, 19:15:46 UTC |
58ffe7e | Jameson Nash | 01 June 2021, 18:40:33 UTC | fix ConsoleLogger with Core IO objects (#41035) Fixes #40954 | 01 June 2021, 18:40:33 UTC |
4a8572f | Iblis Lin | 01 June 2021, 18:02:32 UTC | Fix typo in docstring of `issorted` (#41042) | 01 June 2021, 18:02:32 UTC |
d1c2e09 | Shuhei Kadowaki | 01 June 2021, 12:45:23 UTC | InteractiveUtils: escape macro keywords (#41040) Previously `@code_typed` and its family can't accept variables as keyword options since they're not escaped: ```julia julia> let opt = false @code_typed optimize=opt sum(1:10) end ERROR: UndefVarError: opt not defined Stacktrace: [1] macro expansion @ ~/julia/julia/usr/share/julia/stdlib/v1.7/InteractiveUtils/src/macros.jl:222 [inlined] [2] top-level scope @ REPL[1]:3 ``` | 01 June 2021, 12:45:23 UTC |
27aaadb | Pramodh Gopalan V | 31 May 2021, 21:46:18 UTC | Add get method, tests for Tuple and AbstractArrays (#41007) Replaces #40856 Fixes #40809 | 31 May 2021, 21:46:18 UTC |
6e239dc | Jishnu Bhattacharya | 31 May 2021, 21:42:55 UTC | indexing OneTo with IdentityUnitRange preserves axes (#40997) | 31 May 2021, 21:42:55 UTC |
28e30a3 | Claude Jordan | 31 May 2021, 21:35:19 UTC | Add check_open(sock) to _sockname (#41000) Not checking could lead to a segfault on closed TCPSockets in getpeername Fixes #40993 | 31 May 2021, 21:35:19 UTC |
0b16e8f | Rafael Fourquet | 31 May 2021, 21:32:46 UTC | faster `+(::BigInt...)` for more than 5 arguments (#41012) Special versions already existed upto 5 arguments. For more than 5, let's use sum, which is optimized for an arbitrary number of arguments, and which we also extend to tuples here for the occasion. | 31 May 2021, 21:32:46 UTC |
046f11e | Shuhei Kadowaki | 31 May 2021, 21:28:19 UTC | AbstractInterpreter: refactor for `abstract_call_method` -> `abstract_call_method_with_const_args` chain (#41020) This PR refactors the `abstract_call_method` -> `abstract_call_method_with_const_args` chain, and simplifies the signature of `abstract_call_method_with_const_args`: the newly defined `MethodCallResult` struct wraps a result and context information of `abstract_method_call`, and is passed and consumed by the succeeding `abstract_call_method_with_const_args`. Although our constant-propagation heuristic will be likely to change in the future (as in #40561) and so the signature of `abstract_call_method_with_const_args` is very unstable, hopefully this PR makes it a bit more stable. As an additional benefit, now an external `AbstractInterpreter` can use the context information of `abstract_method_call` (especially `edge::MethodInstance`) within `maybe_get_const_prop_profitable`. | 31 May 2021, 21:28:19 UTC |
518f631 | Arun sanganal | 31 May 2021, 21:21:59 UTC | calling BLAS.vendor() now forces depwarn (#41026) | 31 May 2021, 21:21:59 UTC |
b3bb9ce | Endre Mark Borza | 31 May 2021, 21:21:14 UTC | Fix methodswith consistency (#41016) Fixes #41010 | 31 May 2021, 21:21:14 UTC |
46bc859 | Ian Butterworth | 31 May 2021, 21:20:12 UTC | Exclude special non-package modules when checking for installed packages (#41008) | 31 May 2021, 21:20:12 UTC |
61caf7f | Ian Butterworth | 31 May 2021, 21:19:07 UTC | More detailed StatStruct show (#39463) Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 31 May 2021, 21:19:07 UTC |
1a2285b | Arun sanganal | 31 May 2021, 16:46:04 UTC | relaxed eltype for ldiv! and rdiv! methods (#41015) Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 31 May 2021, 16:46:04 UTC |
70d8b25 | Ikko Ashimine | 31 May 2021, 16:45:04 UTC | fix typo in binaryplatforms.jl (#41028) paramters -> parameters | 31 May 2021, 16:45:04 UTC |
504acfb | Daniel Karrasch | 31 May 2021, 15:17:09 UTC | Unify `nullspace` for VecOrMat (#41023) Co-authored-by: Benoît Legat <benoit.legat@gmail.com> | 31 May 2021, 15:17:09 UTC |
97aa831 | Steven G. Johnson | 31 May 2021, 08:41:57 UTC | constructor for complex triangular Schur from real quasitriangular Schur (#40573) | 31 May 2021, 08:41:57 UTC |
1e9be6e | Daniel Karrasch | 31 May 2021, 08:19:35 UTC | Allow exponentiation of `Diagonal{*Range}` (#40991) Co-authored-by: Michael Abbott <32575566+mcabbott@users.noreply.github.com> | 31 May 2021, 08:19:35 UTC |
ce8f660 | Arun sanganal | 31 May 2021, 08:19:01 UTC | pinv now works for hermitian matrices. (#41006) Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 31 May 2021, 08:19:01 UTC |
b46df09 | Jameson Nash | 31 May 2021, 02:08:57 UTC | Fetch thread-local information (ptls) through the current task (#40715) Enables task-thread migration! Co-authored-by: Takafumi Arakaki <aka.tkf@gmail.com> | 31 May 2021, 02:08:57 UTC |
b632765 | Fredrik Ekre | 30 May 2021, 17:45:03 UTC | Some improvements to Logging stdlib docs. (#40979) | 30 May 2021, 17:45:03 UTC |
14f2b73 | Arun sanganal | 30 May 2021, 16:12:40 UTC | Relax eltype condition in `rdiv!` with `Diagonal` (#40942) Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 30 May 2021, 16:12:40 UTC |
5cb5a87 | Carsten Bauer | 30 May 2021, 16:10:16 UTC | Conversion methods sparse matrix -> special linalg type (#40988) | 30 May 2021, 16:10:16 UTC |
acdffeb | Andreas Noack | 30 May 2021, 13:50:19 UTC | Make adjoint and solve work for most factorizations (#40899) * Add adjoint for Cholesky * Implement adjoint for BunchKaufman * Fix ldiv! for adjoints of Hessenbergs * Add adjoint of LDLt * Fix return for tall problems in fallback \ method for adjoint of Factorizations to make \ work for adjoint LQ. * Fix qr(A)'\b * Define adjoint for SVD * Improve promotion in fallback by defining general convert methods for Factorizations * Fix ldiv! for SVD * Restrict the general \ definition that handles over- and underdetermined systems to LAPACK factorizations * Remove redundant \ definitions in diagonal.jl * Add Factorization constructors for SVD * Disambiguate between the specialized \ for real lhs-complex rhs and then new \ for LAPACKFactorizations. * Adjustments based on review * Fixes for new pivoting syntax | 30 May 2021, 13:50:19 UTC |
311ff56 | Shuhei Kadowaki | 30 May 2021, 10:40:54 UTC | TOML: fix converted tabular data printing (#41009) Previously the printing pass for converted data only works for non-tabular data (like simple number literals), and it doesn't work for `Dict` or `Array`s. Rather it leads to runtime error because we don't pass over the same `by` keyword argument through recursive calls and it may not be assigned: ```julia julia> struct MyStruct a::Int end julia> data = Dict(:foo => MyStruct(1)) Dict{Symbol, MyStruct} with 1 entry: :foo => MyStruct(1) julia> TOML.print(data; softed=true) do x x isa MyStruct && return Dict(:bar => x.a) end ERROR: MethodError: no method matching print(::var"#38#39", ::Dict{Symbol, MyStruct}; softed=true) You may have intended to import Base.print Closest candidates are: print(::Union{Nothing, Function}, ::AbstractDict; sorted, by) at /Users/aviatesk/julia/julia/stdlib/TOML/src/print.jl:130 got unsupported keyword argument "softed" print(::Union{Nothing, Function}, ::IO, ::AbstractDict; sorted, by) at /Users/aviatesk/julia/julia/stdlib/TOML/src/print.jl:129 got unsupported keyword argument "softed" print(::IO, ::AbstractDict; sorted, by) at /Users/aviatesk/julia/julia/stdlib/TOML/src/print.jl:131 got unsupported keyword argument "softed" Stacktrace: [1] kwerr(::NamedTuple{(:softed,), Tuple{Bool}}, ::Function, ::Function, ::Dict{Symbol, MyStruct}) @ Base ./error.jl:163 [2] top-level scope @ none:1 ``` <details><summary>Originally reported by JET:</summary> julia> using JET, Pkg julia> @report_call Pkg.project() ═════ 3 possible errors found ═════ ┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/API.jl:103 Pkg.API.EnvCache() │┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/Types.jl:285 #self#(Pkg.Types.nothing) ││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/Types.jl:288 Pkg.Types.read_project(project_file) │││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/project.jl:138 Pkg.Types.sprint(Pkg.Types.showerror, e) ││││┌ @ strings/io.jl:106 Base.#sprint#412(Core.tuple(Base.nothing, 0, #self#, f), args...) │││││┌ @ strings/io.jl:112 f(Core.tuple(s), args...) ││││││┌ @ toml_parser.jl:326 Base.TOML.point_to_line(Base.getproperty(err, :str), pos, pos, io) │││││││ for 1 of union split cases, no matching method found for call signatures (Tuple{typeof(Base.TOML.point_to_line), Nothing, Int64, Int64, IOBuffer})): Base.TOML.point_to_line(Base.getproperty(err::Base.TOML.ParserError, :str::Symbol)::Union{Nothing, String}, pos::Int64, pos::Int64, io::IOBuffer) ││││││└────────────────────── │││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/project.jl:142 Pkg.Types.Project(raw) ││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/project.jl:124 Base.setproperty!(project, :targets, Pkg.Types.read_project_targets(Pkg.Types.get(raw, "targets", Pkg.Types.nothing), project)) │││││┌ @ Base.jl:35 Base.convert(Base.fieldtype(Base.typeof(x), f), v) ││││││┌ @ abstractdict.jl:523 _(x) │││││││┌ @ dict.jl:104 Base.setindex!(h, v, k) ││││││││┌ @ dict.jl:382 Base.convert(_, v0) │││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:58 _(f) ││││││││││ no matching method found for call signature (Tuple{Type{Vector{String}}, LinearAlgebra.Factorization}): _::Type{Vector{String}}(f::LinearAlgebra.Factorization) │││││││││└───────────────────────────────────────────────────────────────────────────────────────────────── ││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/Types.jl:305 Pkg.Types.write_env_usage(manifest_file, "manifest_usage.toml") │││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/Types.jl:436 Pkg.Types.sprint(#35) ││││┌ @ strings/io.jl:106 Base.#sprint#412(Core.tuple(Base.nothing, 0, #self#, f), args...) │││││┌ @ strings/io.jl:112 f(Core.tuple(s), args...) ││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/Pkg/src/Types.jl:437 TOML.print(io, Pkg.Types.Dict(Pkg.Types.=>(Core.getfield(#self#, :source_file), Base.vect(Pkg.Types.Dict(Pkg.Types.=>("time", Pkg.Types.now())))))) │││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:131 TOML.Internals.Printer.#print#16(false, TOML.Internals.Printer.identity, #self#, io, a) ││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:131 Core.kwfunc(TOML.Internals.Printer._print)(Core.apply_type(Core.NamedTuple, (:sorted, :by))(Core.tuple(sorted, by)), TOML.Internals.Printer._print, TOML.Internals.Printer.nothing, io, a) │││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:76 #s848(_2, _3, f, io, a, Base.getindex(TOML.Internals.Printer.String)) ││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:76 TOML.Internals.Printer.#_print#11(indent, first_block, sorted, by, _3, f, io, a, ks) │││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:88 Core.kwfunc(TOML.Internals.Printer.printvalue)(Core.apply_type(Core.NamedTuple, (:sorted,))(Core.tuple(sorted)), TOML.Internals.Printer.printvalue, f, io, value) ││││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:25 TOML.Internals.Printer.#printvalue#1(sorted, _3, f, io, value) │││││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:29 Core.kwfunc(TOML.Internals.Printer._print)(Core.apply_type(Core.NamedTuple, (:sorted,))(Core.tuple(sorted)), TOML.Internals.Printer._print, f, io, x) ││││││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:76 #s848(_2, _3, f, io, a, Base.getindex(TOML.Internals.Printer.String)) │││││││││││││││┌ @ /Users/aviatesk/julia/julia/usr/share/julia/stdlib/v1.7/TOML/src/print.jl:76 Core.throw(Core.UndefKeywordError(:by)) ││││││││││││││││ UndefKeywordError: keyword argument by not assigned │││││││││││││││└──────────────────────────────────────────────────────────────────────────────── Pkg.API.ProjectInfo </details> With this PR, everything should work: > After ```julia julia> TOML.print(data; sorted=true) do x x isa MyStruct && return Dict(:bar => x.a) end [foo] bar = 1 ``` | 30 May 2021, 10:40:54 UTC |
2280efe | DilumAluthgeBot | 30 May 2021, 00:43:50 UTC | [automated] Bump the Pkg stdlib from 9f672535 to 6cf6b95e (#41004) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 30 May 2021, 00:43:50 UTC |
d6b5bf9 | Viral B. Shah | 29 May 2021, 19:39:40 UTC | Remove SuiteSparse_wrapper and winclang patch (#40998) * Remove SuiteSparse_wrapper and winclang patch Fix https://github.com/JuliaLang/SuiteSparse.jl/issues/11 Fix https://github.com/JuliaLang/julia/issues/37322 * Update SuiteSparse version to 5.10.1 * Update libsuitesparse checksums for 5.10.1 * Remove more wrapper stuff | 29 May 2021, 19:39:40 UTC |
8402463 | Jeff Bezanson | 29 May 2021, 04:28:03 UTC | handle kwarg lowering for vararg with default value (#40977) Fixes #40964 | 29 May 2021, 04:28:03 UTC |
6b10500 | Mal Miller | 29 May 2021, 04:01:07 UTC | Test: Add information to passing tests (#36879) Closes #25483 | 29 May 2021, 04:01:07 UTC |
fb42ea5 | Klaus Crusius | 29 May 2021, 03:53:44 UTC | gcd and lcm fixed for one negative argument (#40968) | 29 May 2021, 03:53:44 UTC |