deprecate bin, oct, dec, hex, and base in favor of string and keyword args#25804
Merged
JeffBezanson merged 2 commits intomasterfrom Mar 2, 2018
Merged
deprecate bin, oct, dec, hex, and base in favor of string and keyword args#25804JeffBezanson merged 2 commits intomasterfrom
string and keyword args#25804JeffBezanson merged 2 commits intomasterfrom
Conversation
6731389 to
4b51121
Compare
Member
|
Looks like strings/basic is failing. |
9786193 to
4d277b4
Compare
Member
Author
|
Now stuck on a mysterious inference failure. Haven't seen this one in a long time: |
ed391ad to
bf2cb09
Compare
bf2cb09 to
b7ca5d8
Compare
Member
|
Bump. |
b7ca5d8 to
10f5d12
Compare
Member
Author
|
Still no dice on the mystery inference problem. |
10f5d12 to
9db1e6b
Compare
Member
|
Rebased. I don't see the mystery inference failure locally, so maybe it went away. |
Member
Author
|
Still happening on travis i686 :( |
Member
|
On this branch, built for i686: julia> Core.Compiler.return_type(+, Tuple{Rational{UInt128}, Rational{UInt128}})
Rational{_1} where _1
julia> Core.Compiler.return_type(Base.divgcd, Tuple{UInt128, UInt128})
Tuple{Any,Any}
julia> Core.Compiler.return_type(div, Tuple{UInt128, UInt128})
Any
julia> code_warntype(div, Tuple{UInt128,UInt128})
Variables:
x::UInt128
y::UInt128
Body:
begin
Core.SSAValue(0) = $(Expr(:invoke, MethodInstance for BigInt(::UInt128), :(Base.BigInt), :(x)))::BigInt
Core.SSAValue(1) = $(Expr(:invoke, MethodInstance for BigInt(::UInt128), :(Base.BigInt), :(y)))::BigInt
# meta: location gmp.jl div 411
Core.SSAValue(5) = $(Expr(:invoke, MethodInstance for tdiv_q(::BigInt, ::BigInt), Base.GMP.MPZ.tdiv_q, Core.SSAValue(0), Core.SSAValue(1)))::BigInt
# meta: pop location
Core.SSAValue(3) = $(Expr(:invoke, MethodInstance for UInt128(::BigInt), :(Base.UInt128), Core.SSAValue(5)))::UInt128
return Core.SSAValue(3)
end::UInt128
julia> Core.Compiler.return_type(div, Tuple{UInt128, UInt128})
UInt128
julia> Core.Compiler.return_type(Base.divgcd, Tuple{UInt128, UInt128})
Tuple{Any,Any}
julia> code_warntype(Base.divgcd, Tuple{UInt128,UInt128})
# ...
end::Tuple{UInt128,UInt128}
julia> Core.Compiler.return_type(Base.divgcd, Tuple{UInt128, UInt128})
Tuple{Any,Any}WAT? (My guess for the platform-specificity here is that It looks like this can be worked around by a type assertion (to be pushed momentarily), but it would be nice to figure out what causes this weird behavior. |
Member
|
I can confirm the source of the platform-specificity. With --- a/base/int.jl
+++ b/base/int.jl
@@ -645,7 +645,7 @@ widemul(x::Number,y::Bool) = x * y
## wide multiplication, Int128 multiply and divide ##
-if Core.sizeof(Int) == 4
+if true
function widemul(u::Int64, v::Int64)
local u0::UInt64, v0::UInt64, w0::UInt64
local u1::Int64, v1::Int64, w1::UInt64, w2::Int64, t::UInt64the same failures show on 64bit systems (without the type-assertion work-around, of course). |
4d0ede7 to
c002de7
Compare
mbauman
added a commit
that referenced
this pull request
Mar 5, 2018
…luenonscalarindexedassignment * origin/master: (28 commits) fix an optimizer bug in `invoke` with non-constant functions (#26301) lower top-level statements in such a way that the front-end knows (#26304) Make sure Sockets page has h1 header (#26315) fix doctests, and make them less prone to errors (#26275) FIx intro to manual chapter on types (#26312) Add a missing "that" (#26313) fix docstring for code_llvm (#26266) Remove the examples/ folder (#26153) download cert.pem from deps-getall, fixes #24903 (#25344) Slight update to doc string for at-enum to refer to instances (#26208) performance tweak in reverse(::String) (#26300) remove references to `TCPSocket` in Base docstrings (#26298) Deprecate adding integers to CartesianIndex (#26284) Deprecate conj(::Any), add real(::Missing) and imag(::Missing) (#26288) fix #26267, regression in `names` with `imported=false` (#26293) fix #25857, `typeinfo` problem in showing arrays with abstract tuple types (#26289) Add adjoint(::Missing) method (#25502) Use lowered form in logging macro (#26291) deprecate bin, oct, dec, hex, and base in favor of `string` and keyword args (#25804) deprecate `spawn(cmd)` to `run(cmd, wait=false)` (#26130) ...
Keno
pushed a commit
that referenced
this pull request
Jun 5, 2024
…rd args (#25804) * deprecate bin, oct, dec, hex, and base in favor of `string` and keyword args * Work around inference problem in `div(::UInt128, ::UInt128)`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated version of #25717