-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.6.14 backport candidates #1
Comments
@ringabout @tersec Did you maybe have some time to go through this list to see if there are things that shouldn't be backported? I was planning to start with backports tomorrow (in about 24 hours from now), so if you could check the bottom-most (the oldest) 20-ish items on this list, I would really appreciate it. |
@narimiran Btw nim-lang/Nim@4071b3f has broken the version-1-6 CI |
Ah, my error. I've just pushed a fix. |
@narimiran looked through all the remaining ones and they look okay for me. Many are just added test cases, which can't break anything, and only a couple are nontrivial in the compiler per se, but those are also quite useful. |
That's what I thought too, but..... ;) To clarify: sometimes it is adding a test for stuff which wasn't backported, so the CIs fail. |
I threw the test case PR:s in there because many were written for fixes whose status was "unknown" on the 1.6 branch but they tested things that would be useful to have fixed - if something doesn't work, it would be good to write it down so as to investigate when the fix happened and consider its inclusion in 1.6 as well |
I agree, and my plan was (and after your comment still is) to go through those once I finish going through this list and backport the "easy ones". |
nim-lang/Nim#21448 futureLogging in release builds) needs to be backported too. See also nim-lang/Nim#21758 |
Done |
These are the remaining, currently not backported, commits from the original list:
Originally I didn't backport those because they either added a test for a feature/fix which was not backported, or fixed something that isn't present in the 1.6 line, or similar. @arnetheduck, are any of the commits in this list a "must have" and should I retry backporting those? |
Very nice! Going through the list, here are a few high-value targets remaining - cc @ringabout that was involved in many of them:
Finally, in the category of surprises, it's odd that this fix doesn't compile clean, it's kind of trivial: |
This one compiles and runs without an error (when it shouldn't).
It must have been fixed at some point but the issue was not refferrenced in the bugfix, so I didn't find what I need to backport to make this work. Running the test produces the following error:
Nim 1.6 doesn't have Same as above.
Oh! Now I see it was just a matter of wrong line number in the error message. Fixing now and backporting. |
I think introducing it might be the way to go here - |
Ok, I found the PR that introduces it: nim-lang/Nim#20480 block:
var x: Ref2
new(x, proc (x: Ref2) {.nimcall.} = discard "call Ref")
# doAssert x.value == 12, "Ref.value = " & $x.value
proc call(x: RefInt2) =
discard "call RefInt"
var y: RefInt2
new(y, call)
# doAssert y.value == 12
# doAssert y.data == 73 @ringabout, do you maybe recognize this, i.e. is there some other commit/PR that I'm missing which should also be backported for this to work? (The other, very possible, option is that I wrongly resolved merge conflicts) |
I don't think it's a good idea to backport nim-lang/Nim#20480, it's not safe to have it into 1.6.x |
After some bisecting in |
It was not, actually - |
Correct. |
Thanks to @ringabout, this is now backported to 1.6! |
...and the previous backport ( |
a few more :)
|
Created by:
then filtering by simplicity vs impact
nim-lang/Nim@16f4208 fixes #20900; Calling template through from generic function across module fails to build (#21649)fromJson
should support empty objects (#21641)for
loop expression can now have generatediterator
's called (#21627)nim-lang/Nim@a37a83c fixes #21617; createTypeBoundOps with PContext in order to instantiate generics (#21619)system.any
by accident. (#21562)nim-lang/Nim@c814c4d fixes #3770; templates with untyped parameters resolve private fields wrongly in generics (#21554)nim-lang/Nim@64a0355 fixes #21377; fixes@[]
and{}
type inference as returns in generics (#21475)nim-lang/Nim@fc068ee fixes #18134; registersformatBiggestFloat
in VM (#21299)nim-lang/Nim@9afb466 Force lambda lifting for getImplTransformed. Hacky. Fixes #19818 (#21031)nim-lang/Nim@705da9d fixes #14444; addgenLineDir
before assignment (#21201)nim-lang/Nim@5684093 fix for bad error message with const in case statement (#21182)nim-lang/Nim@40b5c4c fix #20248;fix #6215;turns into simple CT error (#21141)nim-lang/Nim@d83f66a fixes #21116; always mangles the param (#21121)nim-lang/Nim@2564b5c Fix #20416. Enable the recursion limit for ref/ptr types. (#21092)multisync
now allows tuples in return type (#21074)nim-lang/Nim@b59c657 fixes #21062 (#21068)exprList
fortkOf
(#20930)nim-lang/Nim@c5eb3fd fixes #9839; fixes noReturn pragma doesn't work for non-simple templates (#21048)nim-lang/Nim@5d46968 fix #20829 Regression in int64 type matching since (#21019)nim-lang/Nim@e98efdc fix #16639 (#21017)nim-lang/Nim@a8090f7 fixesisLocalVarSym
; an implicit global is a global nonetheless (#21025)nkWhileStmt
(#20947)nim-lang/Nim@77e58bf fixes #20807, refs #20450, regression with seq inference (#20818)nim-lang/Nim@15bffc2 fixes tests for quit (#20813)nim-lang/Nim@66b0c84 fixes #20694; theexit
function now takescint
type (#20775)nim-lang/Nim@93b085a closes #12589; add testcase (#20769)nim-lang/Nim@d5cc208 ref #20694; quit value gets saturated to ranges (#20753)nim-lang/Nim@ecc8f61 Fix #18079 Illegal storage access compiling call with nested ref/deref (#20738)nim-lang/Nim@841d9d5 closes #16331; add testcase (#20730)nim-lang/Nim@eec1543 fix semcase on tySequence and tyObject #20283 #19682 (#20339)nim-lang/Nim@39f925b fixes #20715; range[a..b] inside object variant fails (#20716)nim-lang/Nim@2d3e3ab closes #6213 #11777; add testcase (#20656)nim-lang/Nim@0bacdf5 fixes #20515; basemethod
requires explicit{.gcsafe.}
to be GC-safe (#20574)nim-lang/Nim@07b6453 fixes #3748 (#20563)nim-lang/Nim@e13cd40 fix #2614 improve error message when array of proc calling convention… (#20379)var
for ref parameters instd/tables
(#20175)nim-lang/Nim@01ad0cd defines thegcRefc
symbol which allows writing specific code for refc (#20009)The text was updated successfully, but these errors were encountered: