Skip to content

Commit 6e0a813

Browse files
committed
nim: Update to 2.0.0
Changelog: # v2.0.0 - 2023-08-01 Version 2.0 is a big milestone with too many changes to list them all here. For a full list see [details](changelog_2_0_0_details.html). ## New features ### Better tuple unpacking Tuple unpacking for variables is now treated as syntax sugar that directly expands into multiple assignments. Along with this, tuple unpacking for variables can now be nested. ```nim proc returnsNestedTuple(): (int, (int, int), int, int) = (4, (5, 7), 2, 3) # Now nesting is supported! let (x, (_, y), _, z) = returnsNestedTuple() ``` ### Improved type inference A new form of type inference called [top-down inference](https://nim-lang.github.io/Nim/manual_experimental.html#topminusdown-type-inference) has been implemented for a variety of basic cases. For example, code like the following now compiles: ```nim let foo: seq[(float, byte, cstring)] = @[(1, 2, "abc")] ``` ### Forbidden Tags [Tag tracking](https://nim-lang.github.io/Nim/manual.html#effect-system-tag-tracking) now supports the definition of forbidden tags by the `.forbids` pragma which can be used to disable certain effects in proc types. For example: ```nim type IO = object ## input/output effect proc readLine(): string {.tags: [IO].} = discard proc echoLine(): void = discard proc no_IO_please() {.forbids: [IO].} = # this is OK because it didn't define any tag: echoLine() # the compiler prevents this: let y = readLine() ``` ### New standard library modules The famous `os` module got an overhaul. Several of its features are available under a new interface that introduces a `Path` abstraction. A `Path` is a `distinct string`, which improves the type safety when dealing with paths, files and directories. Use: - `std/oserrors` for OS error reporting. - `std/envvars` for environment variables handling. - `std/paths` for path handling. - `std/dirs` for directory creation/deletion/traversal. - `std/files` for file existence checking, file deletions and moves. - `std/symlinks` for symlink handling. - `std/appdirs` for accessing configuration/home/temp directories. - `std/cmdline` for reading command line parameters. ### Consistent underscore handling The underscore identifier (`_`) is now generally not added to scope when used as the name of a definition. While this was already the case for variables, it is now also the case for routine parameters, generic parameters, routine declarations, type declarations, etc. This means that the following code now does not compile: ```nim proc foo(_: int): int = _ + 1 echo foo(1) proc foo[_](t: typedesc[_]): seq[_] = @[default(_)] echo foo[int]() proc _() = echo "_" _() type _ = int let x: _ = 3 ``` Whereas the following code now compiles: ```nim proc foo(_, _: int): int = 123 echo foo(1, 2) proc foo[_, _](): int = 123 echo foo[int, bool]() proc foo[T, U](_: typedesc[T], _: typedesc[U]): (T, U) = (default(T), default(U)) echo foo(int, bool) proc _() = echo "one" proc _() = echo "two" type _ = int type _ = float ``` ### JavaScript codegen improvement The JavaScript backend now uses [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) for 64-bit integer types (`int64` and `uint64`) by default. As this affects JS code generation, code using these types to interface with the JS backend may need to be updated. Note that `int` and `uint` are not affected. For compatibility with [platforms that do not support BigInt](https://caniuse.com/bigint) and in the case of potential bugs with the new implementation, the old behavior is currently still supported with the command line option `--jsbigint64:off`. ## Docgen improvements `Markdown` is now the default markup language of doc comments (instead of the legacy `RstMarkdown` mode). In this release we begin to separate RST and Markdown features to better follow specification of each language, with the focus on Markdown development. See also [the docs](https://nim-lang.github.io/Nim/markdown_rst.html). * Added a `{.doctype: Markdown | RST | RstMarkdown.}` pragma allowing to select the markup language mode in the doc comments of the current `.nim` file for processing by `nim doc`: 1. `Markdown` (default) is basically CommonMark (standard Markdown) + some Pandoc Markdown features + some RST features that are missing in our current implementation of CommonMark and Pandoc Markdown. 2. `RST` closely follows the RST spec with few additional Nim features. 3. `RstMarkdown` is a maximum mix of RST and Markdown features, which is kept for the sake of compatibility and ease of migration. * Added separate `md2html` and `rst2html` commands for processing standalone `.md` and `.rst` files respectively (and also `md2tex`/`rst2tex`). * Added Pandoc Markdown bracket syntax `[...]` for making anchor-less links. * Docgen now supports concise syntax for referencing Nim symbols: instead of specifying HTML anchors directly one can use original Nim symbol declarations (adding the aforementioned link brackets `[...]` around them). * To use this feature across modules, a new `importdoc` directive was added. Using this feature for referencing also helps to ensure that links (inside one module or the whole project) are not broken. * Added support for RST & Markdown quote blocks (blocks starting with `>`). * Added a popular Markdown definition lists extension. * Added Markdown indented code blocks (blocks indented by >= 4 spaces). * Added syntax for additional parameters to Markdown code blocks: ```nim test="nim c $1" ... ``` ## C++ interop enhancements Nim 2.0 takes C++ interop to the next level. With the new [virtual](https://nim-lang.github.io/Nim/manual_experimental.html#virtual-pragma) pragma and the extended [constructor](https://nim-lang.github.io/Nim/manual_experimental.html#constructor-pragma) pragma. Now one can define constructors and virtual procs that maps to C++ constructors and virtual methods, allowing one to further customize the interoperability. There is also extended support for the [codeGenDecl](https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-codegendecl-pragma) pragma, so that it works on types. It's a common pattern in C++ to use inheritance to extend a library. Some even use multiple inheritance as a mechanism to make interfaces. Consider the following example: ```cpp struct Base { int someValue; Base(int inValue) { someValue = inValue; }; }; class IPrinter { public: virtual void print() = 0; }; ``` ```nim type Base* {.importcpp, inheritable.} = object someValue*: int32 IPrinter* {.importcpp.} = object const objTemplate = """ struct $1 : public $3, public IPrinter { $2 }; """; type NimChild {.codegenDecl: objTemplate .} = object of Base proc makeNimChild(val: int32): NimChild {.constructor: "NimClass('1 #1) : Base(#1)".} = echo "It calls the base constructor passing " & $this.someValue this.someValue = val * 2 # Notice how we can access `this` inside the constructor. It's of the type `ptr NimChild`. proc print*(self: NimChild) {.virtual.} = echo "Some value is " & $self.someValue let child = makeNimChild(10) child.print() ``` It outputs: ``` It calls the base constructor passing 10 Some value is 20 ``` ## ARC/ORC refinements With the 2.0 release, the ARC/ORC model got refined once again and is now finally complete: 1. Programmers now have control over the "item was moved from" state as `=wasMoved` is overridable. 2. There is a new `=dup` hook which is more efficient than the old combination of `=wasMoved(tmp); =copy(tmp, x)` operations. 3. Destructors now take a parameter of the attached object type `T` directly and don't have to take a `var T` parameter. With these important optimizations we improved the runtime of the compiler and important benchmarks by 0%! Wait ... what? Yes, unfortunately it turns out that for a modern optimizer like in GCC or LLVM there is no difference. But! This refined model is more efficient once separate compilation enters the picture. In other words, as we think of providing a stable ABI it is important not to lose any efficiency in the calling conventions. ## Tool changes - Nim now ships Nimble version 0.14 which added support for lock-files. Libraries are stored in `$nimbleDir/pkgs2` (it was `$nimbleDir/pkgs` before). Use `nimble develop --global` to create an old style link file in the special links directory documented at https://github.com/nim-lang/nimble#nimble-develop. - nimgrep now offers the option `--inContext` (and `--notInContext`), which allows to filter only matches with the context block containing a given pattern. - nimgrep: names of options containing "include/exclude" are deprecated, e.g. instead of `--includeFile` and `--excludeFile` we have `--filename` and `--notFilename` respectively. Also, the semantics are now consistent for such positive/negative filters. - Nim now ships with an alternative package manager called Atlas. More on this in upcoming versions. ## Porting guide ### Block and Break Using an unnamed break in a block is deprecated. This warning will become an error in future versions! Use a named block with a named break instead. In other words, turn: ```nim block: a() if cond: break b() ``` Into: ```nim block maybePerformB: a() if cond: break maybePerformB b() ``` ### Strict funcs The definition of `"strictFuncs"` was changed. The old definition was roughly: "A store to a ref/ptr deref is forbidden unless it's coming from a `var T` parameter". The new definition is: "A store to a ref/ptr deref is forbidden." This new definition is much easier to understand, the price is some expressitivity. The following code used to be accepted: ```nim {.experimental: "strictFuncs".} type Node = ref object s: string func create(s: string): Node = result = Node() result.s = s # store to result[] ``` Now it has to be rewritten to: ```nim {.experimental: "strictFuncs".} type Node = ref object s: string func create(s: string): Node = result = Node(s: s) ``` ### Standard library Several standard library modules have been moved to nimble packages, use `nimble` or `atlas` to install them: - `std/punycode` => `punycode` - `std/asyncftpclient` => `asyncftpclient` - `std/smtp` => `smtp` - `std/db_common` => `db_connector/db_common` - `std/db_sqlite` => `db_connector/db_sqlite` - `std/db_mysql` => `db_connector/db_mysql` - `std/db_postgres` => `db_connector/db_postgres` - `std/db_odbc` => `db_connector/db_odbc` - `std/md5` => `checksums/md5` - `std/sha1` => `checksums/sha1` - `std/sums` => `sums`
1 parent 3587b1a commit 6e0a813

File tree

4 files changed

+64
-62
lines changed

4 files changed

+64
-62
lines changed

lang/nim/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
# $NetBSD: Makefile,v 1.33 2023/05/14 21:13:53 nikita Exp $
1+
# $NetBSD: Makefile,v 1.34 2023/11/23 16:41:31 ryoon Exp $
22

3-
DISTNAME= nim-1.6.12
4-
PKGREVISION= 2
3+
DISTNAME= nim-2.0.0
54
CATEGORIES= lang
65
MASTER_SITES= http://nim-lang.org/download/
76
EXTRACT_SUFX= .tar.xz

lang/nim/PLIST

+58-45
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@comment $NetBSD: PLIST,v 1.17 2023/04/19 22:35:27 nikita Exp $
1+
@comment $NetBSD: PLIST,v 1.18 2023/11/23 16:41:31 ryoon Exp $
22
bin/nim
33
bin/nim-gdb
44
bin/nim-gdb.bash
@@ -9,10 +9,12 @@ bin/nimpretty
99
bin/nimsuggest
1010
bin/testament
1111
nim/bin/nim
12+
nim/compiler/aliasanalysis.nim
1213
nim/compiler/aliases.nim
1314
nim/compiler/ast.nim
1415
nim/compiler/astalgo.nim
1516
nim/compiler/astmsgs.nim
17+
nim/compiler/backendpragmas.nim
1618
nim/compiler/bitsets.nim
1719
nim/compiler/btrees.nim
1820
nim/compiler/ccgcalls.nim
@@ -31,6 +33,7 @@ nim/compiler/cgmeth.nim
3133
nim/compiler/closureiters.nim
3234
nim/compiler/cmdlinehelper.nim
3335
nim/compiler/commands.nim
36+
nim/compiler/compiler.nimble
3437
nim/compiler/concepts.nim
3538
nim/compiler/condsyms.nim
3639
nim/compiler/debuginfo.nim
@@ -93,9 +96,6 @@ nim/compiler/nim.nim
9396
nim/compiler/nimblecmd.nim
9497
nim/compiler/nimconf.nim
9598
nim/compiler/nimeval.nim
96-
nim/compiler/nimfix/nimfix.nim
97-
nim/compiler/nimfix/nimfix.nim.cfg
98-
nim/compiler/nimfix/prettybase.nim
9999
nim/compiler/nimlexbase.nim
100100
nim/compiler/nimpaths.nim
101101
nim/compiler/nimsets.nim
@@ -111,6 +111,8 @@ nim/compiler/passaux.nim
111111
nim/compiler/passes.nim
112112
nim/compiler/pathutils.nim
113113
nim/compiler/patterns.nim
114+
nim/compiler/pipelines.nim
115+
nim/compiler/pipelineutils.nim
114116
nim/compiler/platform.nim
115117
nim/compiler/plugins/active.nim
116118
nim/compiler/plugins/itersgen.nim
@@ -141,6 +143,7 @@ nim/compiler/semobjconstr.nim
141143
nim/compiler/semparallel.nim
142144
nim/compiler/sempass2.nim
143145
nim/compiler/semstmts.nim
146+
nim/compiler/semstrictfuncs.nim
144147
nim/compiler/semtempl.nim
145148
nim/compiler/semtypes.nim
146149
nim/compiler/semtypinst.nim
@@ -150,7 +153,6 @@ nim/compiler/sinkparameter_inference.nim
150153
nim/compiler/sizealignoffsetimpl.nim
151154
nim/compiler/sourcemap.nim
152155
nim/compiler/spawn.nim
153-
nim/compiler/strutils2.nim
154156
nim/compiler/suggest.nim
155157
nim/compiler/syntaxes.nim
156158
nim/compiler/tccgen.nim
@@ -181,37 +183,34 @@ nim/doc/basicopt.txt
181183
nim/doc/nimdoc.css
182184
nim/lib/arch/x86/amd64.S
183185
nim/lib/arch/x86/i386.S
184-
nim/lib/compilation.nim
185186
nim/lib/core/hotcodereloading.nim
186187
nim/lib/core/locks.nim
187188
nim/lib/core/macrocache.nim
188189
nim/lib/core/macros.nim
189190
nim/lib/core/rlocks.nim
190191
nim/lib/core/typeinfo.nim
191192
nim/lib/cycle.h
192-
nim/lib/deprecated/pure/LockFreeHash.nim
193-
nim/lib/deprecated/pure/events.nim
193+
nim/lib/deprecated/pure/future.nim
194+
nim/lib/deprecated/pure/mersenne.nim
194195
nim/lib/deprecated/pure/ospaths.nim
195-
nim/lib/deprecated/pure/parseopt2.nim
196-
nim/lib/deprecated/pure/securehash.nim
197-
nim/lib/deprecated/pure/sharedstrings.nim
196+
nim/lib/deprecated/pure/oswalkdir.nim
197+
nim/lib/deprecated/pure/sums.nim
198198
nim/lib/deps.txt
199199
nim/lib/experimental/diff.nim
200200
nim/lib/genode/alloc.nim
201+
nim/lib/genode/constructibles.nim
202+
nim/lib/genode/entrypoints.nim
201203
nim/lib/genode/env.nim
204+
nim/lib/genode/signals.nim
205+
nim/lib/genode_cpp/signals.h
202206
nim/lib/genode_cpp/syslocks.h
203207
nim/lib/genode_cpp/threads.h
204-
nim/lib/impure/db_mysql.nim
205-
nim/lib/impure/db_odbc.nim
206-
nim/lib/impure/db_postgres.nim
207-
nim/lib/impure/db_sqlite.nim
208208
nim/lib/impure/nre.nim
209209
nim/lib/impure/nre/private/util.nim
210210
nim/lib/impure/rdstdin.nim
211211
nim/lib/impure/re.nim
212212
nim/lib/js/asyncjs.nim
213213
nim/lib/js/dom.nim
214-
nim/lib/js/dom_extensions.nim
215214
nim/lib/js/jsconsole.nim
216215
nim/lib/js/jscore.nim
217216
nim/lib/js/jsffi.nim
@@ -221,11 +220,13 @@ nim/lib/nimhcr.nim
221220
nim/lib/nimhcr.nim.cfg
222221
nim/lib/nimrtl.nim
223222
nim/lib/nimrtl.nim.cfg
223+
nim/lib/packages/docutils/dochelpers.nim
224224
nim/lib/packages/docutils/docutils.nimble.old
225225
nim/lib/packages/docutils/highlite.nim
226226
nim/lib/packages/docutils/rst.nim
227227
nim/lib/packages/docutils/rstast.nim
228228
nim/lib/packages/docutils/rstgen.nim
229+
nim/lib/packages/docutils/rstidx.nim
229230
nim/lib/posix/epoll.nim
230231
nim/lib/posix/inotify.nim
231232
nim/lib/posix/kqueue.nim
@@ -248,7 +249,6 @@ nim/lib/pure/async.nim
248249
nim/lib/pure/asyncdispatch.nim
249250
nim/lib/pure/asyncdispatch.nim.cfg
250251
nim/lib/pure/asyncfile.nim
251-
nim/lib/pure/asyncftpclient.nim
252252
nim/lib/pure/asyncfutures.nim
253253
nim/lib/pure/asynchttpserver.nim
254254
nim/lib/pure/asyncmacro.nim
@@ -284,21 +284,16 @@ nim/lib/pure/cookies.nim
284284
nim/lib/pure/coro.nim
285285
nim/lib/pure/coro.nimcfg
286286
nim/lib/pure/cstrutils.nim
287-
nim/lib/pure/db_common.nim
288287
nim/lib/pure/distros.nim
289288
nim/lib/pure/dynlib.nim
290289
nim/lib/pure/encodings.nim
291290
nim/lib/pure/endians.nim
292291
nim/lib/pure/fenv.nim
293-
nim/lib/pure/future.nim
294292
nim/lib/pure/hashes.nim
295293
nim/lib/pure/htmlgen.nim
296294
nim/lib/pure/htmlparser.nim
297295
nim/lib/pure/httpclient.nim
298296
nim/lib/pure/httpcore.nim
299-
nim/lib/pure/includes/osenv.nim
300-
nim/lib/pure/includes/oserr.nim
301-
nim/lib/pure/includes/osseps.nim
302297
nim/lib/pure/includes/unicode_ranges.nim
303298
nim/lib/pure/ioselects/ioselectors_epoll.nim
304299
nim/lib/pure/ioselects/ioselectors_kqueue.nim
@@ -312,18 +307,15 @@ nim/lib/pure/marshal.nim
312307
nim/lib/pure/math.nim
313308
nim/lib/pure/md5.nim
314309
nim/lib/pure/memfiles.nim
315-
nim/lib/pure/mersenne.nim
316310
nim/lib/pure/mimetypes.nim
317311
nim/lib/pure/nativesockets.nim
318312
nim/lib/pure/net.nim
319313
nim/lib/pure/nimprof.nim
320314
nim/lib/pure/nimprof.nim.cfg
321-
nim/lib/pure/nimtracker.nim
322315
nim/lib/pure/oids.nim
323316
nim/lib/pure/options.nim
324317
nim/lib/pure/os.nim
325318
nim/lib/pure/osproc.nim
326-
nim/lib/pure/oswalkdir.nim
327319
nim/lib/pure/parsecfg.nim
328320
nim/lib/pure/parsecsv.nim
329321
nim/lib/pure/parsejson.nim
@@ -334,15 +326,12 @@ nim/lib/pure/parsexml.nim
334326
nim/lib/pure/pathnorm.nim
335327
nim/lib/pure/pegs.nim
336328
nim/lib/pure/prelude.nim
337-
nim/lib/pure/punycode.nim
338329
nim/lib/pure/random.nim
339330
nim/lib/pure/rationals.nim
340331
nim/lib/pure/reservedmem.nim
341332
nim/lib/pure/ropes.nim
342333
nim/lib/pure/segfaults.nim
343334
nim/lib/pure/selectors.nim
344-
nim/lib/pure/smtp.nim
345-
nim/lib/pure/smtp.nim.cfg
346335
nim/lib/pure/ssl_certs.nim
347336
nim/lib/pure/ssl_config.nim
348337
nim/lib/pure/stats.nim
@@ -366,13 +355,20 @@ nim/lib/pure/uri.nim
366355
nim/lib/pure/volatile.nim
367356
nim/lib/pure/xmlparser.nim
368357
nim/lib/pure/xmltree.nim
358+
nim/lib/std/appdirs.nim
359+
nim/lib/std/assertions.nim
360+
nim/lib/std/cmdline.nim
369361
nim/lib/std/compilesettings.nim
370362
nim/lib/std/decls.nim
363+
nim/lib/std/dirs.nim
371364
nim/lib/std/editdistance.nim
372365
nim/lib/std/effecttraits.nim
373366
nim/lib/std/enumerate.nim
374367
nim/lib/std/enumutils.nim
368+
nim/lib/std/envvars.nim
375369
nim/lib/std/exitprocs.nim
370+
nim/lib/std/files.nim
371+
nim/lib/std/formatfloat.nim
376372
nim/lib/std/genasts.nim
377373
nim/lib/std/importutils.nim
378374
nim/lib/std/isolation.nim
@@ -383,32 +379,52 @@ nim/lib/std/jsheaders.nim
383379
nim/lib/std/jsonutils.nim
384380
nim/lib/std/logic.nim
385381
nim/lib/std/monotimes.nim
382+
nim/lib/std/objectdollar.nim
383+
nim/lib/std/oserrors.nim
384+
nim/lib/std/outparams.nim
386385
nim/lib/std/packedsets.nim
386+
nim/lib/std/paths.nim
387387
nim/lib/std/private/asciitables.nim
388388
nim/lib/std/private/bitops_utils.nim
389-
nim/lib/std/private/dbutils.nim
390389
nim/lib/std/private/decode_helpers.nim
391390
nim/lib/std/private/digitsutils.nim
391+
nim/lib/std/private/dragonbox.nim
392392
nim/lib/std/private/gitutils.nim
393393
nim/lib/std/private/globs.nim
394394
nim/lib/std/private/jsutils.nim
395395
nim/lib/std/private/miscdollars.nim
396+
nim/lib/std/private/ntpath.nim
397+
nim/lib/std/private/osappdirs.nim
398+
nim/lib/std/private/oscommon.nim
399+
nim/lib/std/private/osdirs.nim
400+
nim/lib/std/private/osfiles.nim
401+
nim/lib/std/private/ospaths2.nim
402+
nim/lib/std/private/osseps.nim
403+
nim/lib/std/private/ossymlinks.nim
404+
nim/lib/std/private/schubfach.nim
396405
nim/lib/std/private/since.nim
397406
nim/lib/std/private/strimpl.nim
407+
nim/lib/std/private/syslocks.nim
408+
nim/lib/std/private/threadtypes.nim
398409
nim/lib/std/private/underscored_calls.nim
410+
nim/lib/std/private/win_getsysteminfo.nim
399411
nim/lib/std/private/win_setenv.nim
400412
nim/lib/std/setutils.nim
401413
nim/lib/std/sha1.nim
402414
nim/lib/std/socketstreams.nim
403415
nim/lib/std/stackframes.nim
404416
nim/lib/std/strbasics.nim
405-
nim/lib/std/sums.nim
417+
nim/lib/std/symlinks.nim
418+
nim/lib/std/syncio.nim
419+
nim/lib/std/sysatomics.nim
406420
nim/lib/std/sysrand.nim
407421
nim/lib/std/tasks.nim
408422
nim/lib/std/tempfiles.nim
409423
nim/lib/std/time_t.nim
424+
nim/lib/std/typedthreads.nim
410425
nim/lib/std/varints.nim
411426
nim/lib/std/vmutils.nim
427+
nim/lib/std/widestrs.nim
412428
nim/lib/std/with.nim
413429
nim/lib/std/wordwrap.nim
414430
nim/lib/std/wrapnils.nim
@@ -417,11 +433,8 @@ nim/lib/system.nim
417433
nim/lib/system/alloc.nim
418434
nim/lib/system/ansi_c.nim
419435
nim/lib/system/arc.nim
420-
nim/lib/system/arithm.nim
421436
nim/lib/system/arithmetics.nim
422-
nim/lib/system/assertions.nim
423437
nim/lib/system/assign.nim
424-
nim/lib/system/atomics.nim
425438
nim/lib/system/avltree.nim
426439
nim/lib/system/basic_types.nim
427440
nim/lib/system/bitmasks.nim
@@ -432,20 +445,20 @@ nim/lib/system/cgprocs.nim
432445
nim/lib/system/channels_builtin.nim
433446
nim/lib/system/chcks.nim
434447
nim/lib/system/comparisons.nim
448+
nim/lib/system/compilation.nim
435449
nim/lib/system/coro_detection.nim
436450
nim/lib/system/countbits_impl.nim
451+
nim/lib/system/ctypes.nim
437452
nim/lib/system/cyclebreaker.nim
438453
nim/lib/system/deepcopy.nim
439454
nim/lib/system/dollars.nim
440-
nim/lib/system/dragonbox.nim
441455
nim/lib/system/dyncalls.nim
442456
nim/lib/system/embedded.nim
443457
nim/lib/system/exceptions.nim
444458
nim/lib/system/excpt.nim
445459
nim/lib/system/fatal.nim
446460
nim/lib/system/formatfloat.nim
447461
nim/lib/system/gc.nim
448-
nim/lib/system/gc2.nim
449462
nim/lib/system/gc_common.nim
450463
nim/lib/system/gc_hooks.nim
451464
nim/lib/system/gc_interface.nim
@@ -454,8 +467,8 @@ nim/lib/system/gc_regions.nim
454467
nim/lib/system/hti.nim
455468
nim/lib/system/inclrtl.nim
456469
nim/lib/system/indexerrors.nim
470+
nim/lib/system/indices.nim
457471
nim/lib/system/integerops.nim
458-
nim/lib/system/io.nim
459472
nim/lib/system/iterators.nim
460473
nim/lib/system/iterators_1.nim
461474
nim/lib/system/jssys.nim
@@ -472,25 +485,23 @@ nim/lib/system/orc.nim
472485
nim/lib/system/osalloc.nim
473486
nim/lib/system/platforms.nim
474487
nim/lib/system/profiler.nim
488+
nim/lib/system/rawquits.nim
475489
nim/lib/system/repr.nim
476490
nim/lib/system/repr_impl.nim
477491
nim/lib/system/repr_v2.nim
478492
nim/lib/system/reprjs.nim
479-
nim/lib/system/schubfach.nim
480493
nim/lib/system/seqs_v2.nim
481494
nim/lib/system/seqs_v2_reimpl.nim
482495
nim/lib/system/setops.nim
483496
nim/lib/system/sets.nim
484497
nim/lib/system/stacktraces.nim
485498
nim/lib/system/strmantle.nim
486499
nim/lib/system/strs_v2.nim
487-
nim/lib/system/syslocks.nim
488-
nim/lib/system/sysspawn.nim
489500
nim/lib/system/sysstr.nim
501+
nim/lib/system/threadids.nim
502+
nim/lib/system/threadimpl.nim
490503
nim/lib/system/threadlocalstorage.nim
491-
nim/lib/system/threads.nim
492504
nim/lib/system/timers.nim
493-
nim/lib/system/widestrs.nim
494505
nim/lib/system_overview.rst
495506
nim/lib/windows/registry.nim
496507
nim/lib/windows/winlean.nim
@@ -499,12 +510,8 @@ nim/lib/wrappers/linenoise/README.markdown
499510
nim/lib/wrappers/linenoise/linenoise.c
500511
nim/lib/wrappers/linenoise/linenoise.h
501512
nim/lib/wrappers/linenoise/linenoise.nim
502-
nim/lib/wrappers/mysql.nim
503-
nim/lib/wrappers/odbcsql.nim
504513
nim/lib/wrappers/openssl.nim
505514
nim/lib/wrappers/pcre.nim
506-
nim/lib/wrappers/postgres.nim
507-
nim/lib/wrappers/sqlite3.nim
508515
nim/lib/wrappers/tinyc.nim
509516
nim/nim.nimble
510517
nim/nimsuggest/config.nims
@@ -522,6 +529,12 @@ nim/nimsuggest/tests/fixtures/minclude_import.nim
522529
nim/nimsuggest/tests/fixtures/minclude_include.nim
523530
nim/nimsuggest/tests/fixtures/minclude_types.nim
524531
nim/nimsuggest/tests/fixtures/mstrutils.nim
532+
nim/nimsuggest/tests/module_20265.nim
533+
nim/nimsuggest/tests/t20265_1.nim
534+
nim/nimsuggest/tests/t20265_2.nim
535+
nim/nimsuggest/tests/t20440.nim
536+
nim/nimsuggest/tests/t20440.nims
537+
nim/nimsuggest/tests/t21185.nim
525538
nim/nimsuggest/tests/taccent_highlight.nim
526539
nim/nimsuggest/tests/tcallstrlit_highlight.nim
527540
nim/nimsuggest/tests/tcase.nim

lang/nim/distinfo

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
$NetBSD: distinfo,v 1.26 2023/05/14 21:13:53 nikita Exp $
1+
$NetBSD: distinfo,v 1.27 2023/11/23 16:41:31 ryoon Exp $
22

3-
BLAKE2s (nim-1.6.12.tar.xz) = 2d296dfc9a61ca0105a700ea59a6ea4b83a8225e5cbe7908855bfc5bebc6b6a4
4-
SHA512 (nim-1.6.12.tar.xz) = 17c31024ee19dfa36f25bf8a5091992b24a4adb1a817246119a2fc552075999f698a92e66243ddd5ee69d966deead37535c9aac00ebece3854c930f905eeb030
5-
Size (nim-1.6.12.tar.xz) = 5180496 bytes
3+
BLAKE2s (nim-2.0.0.tar.xz) = adeacdfab12d0ca63cf6da15cb78d07eeaf9b817c1ab1f5a93d3630cbd894f2f
4+
SHA512 (nim-2.0.0.tar.xz) = 828aec9b8634c5a662e13bd0542b62f23056af2022b5459577795871debfe4de1889ed4175a805f034e202931f8e5abb9b4e87b4fca725f0113da9f97397e6bd
5+
Size (nim-2.0.0.tar.xz) = 7491724 bytes
66
SHA1 (patch-bin_nim-gdb) = 0d4e9ae4cc8687ca7821891b63808fa1d175069c
77
SHA1 (patch-tests_stdlib_tssl.nim) = 5ed65bba80afaab88dc8d43534e455f7b9af7e93

lang/nim/patches/patch-tests_stdlib_tssl.nim

-10
This file was deleted.

0 commit comments

Comments
 (0)