Skip to content

Commit

Permalink
nim: Update to 2.0.0
Browse files Browse the repository at this point in the history
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`
  • Loading branch information
ryoon committed Nov 23, 2023
1 parent 3587b1a commit 6e0a813
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 62 deletions.
5 changes: 2 additions & 3 deletions lang/nim/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.33 2023/05/14 21:13:53 nikita Exp $
# $NetBSD: Makefile,v 1.34 2023/11/23 16:41:31 ryoon Exp $

DISTNAME= nim-1.6.12
PKGREVISION= 2
DISTNAME= nim-2.0.0
CATEGORIES= lang
MASTER_SITES= http://nim-lang.org/download/
EXTRACT_SUFX= .tar.xz
Expand Down
103 changes: 58 additions & 45 deletions lang/nim/PLIST
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.17 2023/04/19 22:35:27 nikita Exp $
@comment $NetBSD: PLIST,v 1.18 2023/11/23 16:41:31 ryoon Exp $
bin/nim
bin/nim-gdb
bin/nim-gdb.bash
Expand All @@ -9,10 +9,12 @@ bin/nimpretty
bin/nimsuggest
bin/testament
nim/bin/nim
nim/compiler/aliasanalysis.nim
nim/compiler/aliases.nim
nim/compiler/ast.nim
nim/compiler/astalgo.nim
nim/compiler/astmsgs.nim
nim/compiler/backendpragmas.nim
nim/compiler/bitsets.nim
nim/compiler/btrees.nim
nim/compiler/ccgcalls.nim
Expand All @@ -31,6 +33,7 @@ nim/compiler/cgmeth.nim
nim/compiler/closureiters.nim
nim/compiler/cmdlinehelper.nim
nim/compiler/commands.nim
nim/compiler/compiler.nimble
nim/compiler/concepts.nim
nim/compiler/condsyms.nim
nim/compiler/debuginfo.nim
Expand Down Expand Up @@ -93,9 +96,6 @@ nim/compiler/nim.nim
nim/compiler/nimblecmd.nim
nim/compiler/nimconf.nim
nim/compiler/nimeval.nim
nim/compiler/nimfix/nimfix.nim
nim/compiler/nimfix/nimfix.nim.cfg
nim/compiler/nimfix/prettybase.nim
nim/compiler/nimlexbase.nim
nim/compiler/nimpaths.nim
nim/compiler/nimsets.nim
Expand All @@ -111,6 +111,8 @@ nim/compiler/passaux.nim
nim/compiler/passes.nim
nim/compiler/pathutils.nim
nim/compiler/patterns.nim
nim/compiler/pipelines.nim
nim/compiler/pipelineutils.nim
nim/compiler/platform.nim
nim/compiler/plugins/active.nim
nim/compiler/plugins/itersgen.nim
Expand Down Expand Up @@ -141,6 +143,7 @@ nim/compiler/semobjconstr.nim
nim/compiler/semparallel.nim
nim/compiler/sempass2.nim
nim/compiler/semstmts.nim
nim/compiler/semstrictfuncs.nim
nim/compiler/semtempl.nim
nim/compiler/semtypes.nim
nim/compiler/semtypinst.nim
Expand All @@ -150,7 +153,6 @@ nim/compiler/sinkparameter_inference.nim
nim/compiler/sizealignoffsetimpl.nim
nim/compiler/sourcemap.nim
nim/compiler/spawn.nim
nim/compiler/strutils2.nim
nim/compiler/suggest.nim
nim/compiler/syntaxes.nim
nim/compiler/tccgen.nim
Expand Down Expand Up @@ -181,37 +183,34 @@ nim/doc/basicopt.txt
nim/doc/nimdoc.css
nim/lib/arch/x86/amd64.S
nim/lib/arch/x86/i386.S
nim/lib/compilation.nim
nim/lib/core/hotcodereloading.nim
nim/lib/core/locks.nim
nim/lib/core/macrocache.nim
nim/lib/core/macros.nim
nim/lib/core/rlocks.nim
nim/lib/core/typeinfo.nim
nim/lib/cycle.h
nim/lib/deprecated/pure/LockFreeHash.nim
nim/lib/deprecated/pure/events.nim
nim/lib/deprecated/pure/future.nim
nim/lib/deprecated/pure/mersenne.nim
nim/lib/deprecated/pure/ospaths.nim
nim/lib/deprecated/pure/parseopt2.nim
nim/lib/deprecated/pure/securehash.nim
nim/lib/deprecated/pure/sharedstrings.nim
nim/lib/deprecated/pure/oswalkdir.nim
nim/lib/deprecated/pure/sums.nim
nim/lib/deps.txt
nim/lib/experimental/diff.nim
nim/lib/genode/alloc.nim
nim/lib/genode/constructibles.nim
nim/lib/genode/entrypoints.nim
nim/lib/genode/env.nim
nim/lib/genode/signals.nim
nim/lib/genode_cpp/signals.h
nim/lib/genode_cpp/syslocks.h
nim/lib/genode_cpp/threads.h
nim/lib/impure/db_mysql.nim
nim/lib/impure/db_odbc.nim
nim/lib/impure/db_postgres.nim
nim/lib/impure/db_sqlite.nim
nim/lib/impure/nre.nim
nim/lib/impure/nre/private/util.nim
nim/lib/impure/rdstdin.nim
nim/lib/impure/re.nim
nim/lib/js/asyncjs.nim
nim/lib/js/dom.nim
nim/lib/js/dom_extensions.nim
nim/lib/js/jsconsole.nim
nim/lib/js/jscore.nim
nim/lib/js/jsffi.nim
Expand All @@ -221,11 +220,13 @@ nim/lib/nimhcr.nim
nim/lib/nimhcr.nim.cfg
nim/lib/nimrtl.nim
nim/lib/nimrtl.nim.cfg
nim/lib/packages/docutils/dochelpers.nim
nim/lib/packages/docutils/docutils.nimble.old
nim/lib/packages/docutils/highlite.nim
nim/lib/packages/docutils/rst.nim
nim/lib/packages/docutils/rstast.nim
nim/lib/packages/docutils/rstgen.nim
nim/lib/packages/docutils/rstidx.nim
nim/lib/posix/epoll.nim
nim/lib/posix/inotify.nim
nim/lib/posix/kqueue.nim
Expand All @@ -248,7 +249,6 @@ nim/lib/pure/async.nim
nim/lib/pure/asyncdispatch.nim
nim/lib/pure/asyncdispatch.nim.cfg
nim/lib/pure/asyncfile.nim
nim/lib/pure/asyncftpclient.nim
nim/lib/pure/asyncfutures.nim
nim/lib/pure/asynchttpserver.nim
nim/lib/pure/asyncmacro.nim
Expand Down Expand Up @@ -284,21 +284,16 @@ nim/lib/pure/cookies.nim
nim/lib/pure/coro.nim
nim/lib/pure/coro.nimcfg
nim/lib/pure/cstrutils.nim
nim/lib/pure/db_common.nim
nim/lib/pure/distros.nim
nim/lib/pure/dynlib.nim
nim/lib/pure/encodings.nim
nim/lib/pure/endians.nim
nim/lib/pure/fenv.nim
nim/lib/pure/future.nim
nim/lib/pure/hashes.nim
nim/lib/pure/htmlgen.nim
nim/lib/pure/htmlparser.nim
nim/lib/pure/httpclient.nim
nim/lib/pure/httpcore.nim
nim/lib/pure/includes/osenv.nim
nim/lib/pure/includes/oserr.nim
nim/lib/pure/includes/osseps.nim
nim/lib/pure/includes/unicode_ranges.nim
nim/lib/pure/ioselects/ioselectors_epoll.nim
nim/lib/pure/ioselects/ioselectors_kqueue.nim
Expand All @@ -312,18 +307,15 @@ nim/lib/pure/marshal.nim
nim/lib/pure/math.nim
nim/lib/pure/md5.nim
nim/lib/pure/memfiles.nim
nim/lib/pure/mersenne.nim
nim/lib/pure/mimetypes.nim
nim/lib/pure/nativesockets.nim
nim/lib/pure/net.nim
nim/lib/pure/nimprof.nim
nim/lib/pure/nimprof.nim.cfg
nim/lib/pure/nimtracker.nim
nim/lib/pure/oids.nim
nim/lib/pure/options.nim
nim/lib/pure/os.nim
nim/lib/pure/osproc.nim
nim/lib/pure/oswalkdir.nim
nim/lib/pure/parsecfg.nim
nim/lib/pure/parsecsv.nim
nim/lib/pure/parsejson.nim
Expand All @@ -334,15 +326,12 @@ nim/lib/pure/parsexml.nim
nim/lib/pure/pathnorm.nim
nim/lib/pure/pegs.nim
nim/lib/pure/prelude.nim
nim/lib/pure/punycode.nim
nim/lib/pure/random.nim
nim/lib/pure/rationals.nim
nim/lib/pure/reservedmem.nim
nim/lib/pure/ropes.nim
nim/lib/pure/segfaults.nim
nim/lib/pure/selectors.nim
nim/lib/pure/smtp.nim
nim/lib/pure/smtp.nim.cfg
nim/lib/pure/ssl_certs.nim
nim/lib/pure/ssl_config.nim
nim/lib/pure/stats.nim
Expand All @@ -366,13 +355,20 @@ nim/lib/pure/uri.nim
nim/lib/pure/volatile.nim
nim/lib/pure/xmlparser.nim
nim/lib/pure/xmltree.nim
nim/lib/std/appdirs.nim
nim/lib/std/assertions.nim
nim/lib/std/cmdline.nim
nim/lib/std/compilesettings.nim
nim/lib/std/decls.nim
nim/lib/std/dirs.nim
nim/lib/std/editdistance.nim
nim/lib/std/effecttraits.nim
nim/lib/std/enumerate.nim
nim/lib/std/enumutils.nim
nim/lib/std/envvars.nim
nim/lib/std/exitprocs.nim
nim/lib/std/files.nim
nim/lib/std/formatfloat.nim
nim/lib/std/genasts.nim
nim/lib/std/importutils.nim
nim/lib/std/isolation.nim
Expand All @@ -383,32 +379,52 @@ nim/lib/std/jsheaders.nim
nim/lib/std/jsonutils.nim
nim/lib/std/logic.nim
nim/lib/std/monotimes.nim
nim/lib/std/objectdollar.nim
nim/lib/std/oserrors.nim
nim/lib/std/outparams.nim
nim/lib/std/packedsets.nim
nim/lib/std/paths.nim
nim/lib/std/private/asciitables.nim
nim/lib/std/private/bitops_utils.nim
nim/lib/std/private/dbutils.nim
nim/lib/std/private/decode_helpers.nim
nim/lib/std/private/digitsutils.nim
nim/lib/std/private/dragonbox.nim
nim/lib/std/private/gitutils.nim
nim/lib/std/private/globs.nim
nim/lib/std/private/jsutils.nim
nim/lib/std/private/miscdollars.nim
nim/lib/std/private/ntpath.nim
nim/lib/std/private/osappdirs.nim
nim/lib/std/private/oscommon.nim
nim/lib/std/private/osdirs.nim
nim/lib/std/private/osfiles.nim
nim/lib/std/private/ospaths2.nim
nim/lib/std/private/osseps.nim
nim/lib/std/private/ossymlinks.nim
nim/lib/std/private/schubfach.nim
nim/lib/std/private/since.nim
nim/lib/std/private/strimpl.nim
nim/lib/std/private/syslocks.nim
nim/lib/std/private/threadtypes.nim
nim/lib/std/private/underscored_calls.nim
nim/lib/std/private/win_getsysteminfo.nim
nim/lib/std/private/win_setenv.nim
nim/lib/std/setutils.nim
nim/lib/std/sha1.nim
nim/lib/std/socketstreams.nim
nim/lib/std/stackframes.nim
nim/lib/std/strbasics.nim
nim/lib/std/sums.nim
nim/lib/std/symlinks.nim
nim/lib/std/syncio.nim
nim/lib/std/sysatomics.nim
nim/lib/std/sysrand.nim
nim/lib/std/tasks.nim
nim/lib/std/tempfiles.nim
nim/lib/std/time_t.nim
nim/lib/std/typedthreads.nim
nim/lib/std/varints.nim
nim/lib/std/vmutils.nim
nim/lib/std/widestrs.nim
nim/lib/std/with.nim
nim/lib/std/wordwrap.nim
nim/lib/std/wrapnils.nim
Expand All @@ -417,11 +433,8 @@ nim/lib/system.nim
nim/lib/system/alloc.nim
nim/lib/system/ansi_c.nim
nim/lib/system/arc.nim
nim/lib/system/arithm.nim
nim/lib/system/arithmetics.nim
nim/lib/system/assertions.nim
nim/lib/system/assign.nim
nim/lib/system/atomics.nim
nim/lib/system/avltree.nim
nim/lib/system/basic_types.nim
nim/lib/system/bitmasks.nim
Expand All @@ -432,20 +445,20 @@ nim/lib/system/cgprocs.nim
nim/lib/system/channels_builtin.nim
nim/lib/system/chcks.nim
nim/lib/system/comparisons.nim
nim/lib/system/compilation.nim
nim/lib/system/coro_detection.nim
nim/lib/system/countbits_impl.nim
nim/lib/system/ctypes.nim
nim/lib/system/cyclebreaker.nim
nim/lib/system/deepcopy.nim
nim/lib/system/dollars.nim
nim/lib/system/dragonbox.nim
nim/lib/system/dyncalls.nim
nim/lib/system/embedded.nim
nim/lib/system/exceptions.nim
nim/lib/system/excpt.nim
nim/lib/system/fatal.nim
nim/lib/system/formatfloat.nim
nim/lib/system/gc.nim
nim/lib/system/gc2.nim
nim/lib/system/gc_common.nim
nim/lib/system/gc_hooks.nim
nim/lib/system/gc_interface.nim
Expand All @@ -454,8 +467,8 @@ nim/lib/system/gc_regions.nim
nim/lib/system/hti.nim
nim/lib/system/inclrtl.nim
nim/lib/system/indexerrors.nim
nim/lib/system/indices.nim
nim/lib/system/integerops.nim
nim/lib/system/io.nim
nim/lib/system/iterators.nim
nim/lib/system/iterators_1.nim
nim/lib/system/jssys.nim
Expand All @@ -472,25 +485,23 @@ nim/lib/system/orc.nim
nim/lib/system/osalloc.nim
nim/lib/system/platforms.nim
nim/lib/system/profiler.nim
nim/lib/system/rawquits.nim
nim/lib/system/repr.nim
nim/lib/system/repr_impl.nim
nim/lib/system/repr_v2.nim
nim/lib/system/reprjs.nim
nim/lib/system/schubfach.nim
nim/lib/system/seqs_v2.nim
nim/lib/system/seqs_v2_reimpl.nim
nim/lib/system/setops.nim
nim/lib/system/sets.nim
nim/lib/system/stacktraces.nim
nim/lib/system/strmantle.nim
nim/lib/system/strs_v2.nim
nim/lib/system/syslocks.nim
nim/lib/system/sysspawn.nim
nim/lib/system/sysstr.nim
nim/lib/system/threadids.nim
nim/lib/system/threadimpl.nim
nim/lib/system/threadlocalstorage.nim
nim/lib/system/threads.nim
nim/lib/system/timers.nim
nim/lib/system/widestrs.nim
nim/lib/system_overview.rst
nim/lib/windows/registry.nim
nim/lib/windows/winlean.nim
Expand All @@ -499,12 +510,8 @@ nim/lib/wrappers/linenoise/README.markdown
nim/lib/wrappers/linenoise/linenoise.c
nim/lib/wrappers/linenoise/linenoise.h
nim/lib/wrappers/linenoise/linenoise.nim
nim/lib/wrappers/mysql.nim
nim/lib/wrappers/odbcsql.nim
nim/lib/wrappers/openssl.nim
nim/lib/wrappers/pcre.nim
nim/lib/wrappers/postgres.nim
nim/lib/wrappers/sqlite3.nim
nim/lib/wrappers/tinyc.nim
nim/nim.nimble
nim/nimsuggest/config.nims
Expand All @@ -522,6 +529,12 @@ nim/nimsuggest/tests/fixtures/minclude_import.nim
nim/nimsuggest/tests/fixtures/minclude_include.nim
nim/nimsuggest/tests/fixtures/minclude_types.nim
nim/nimsuggest/tests/fixtures/mstrutils.nim
nim/nimsuggest/tests/module_20265.nim
nim/nimsuggest/tests/t20265_1.nim
nim/nimsuggest/tests/t20265_2.nim
nim/nimsuggest/tests/t20440.nim
nim/nimsuggest/tests/t20440.nims
nim/nimsuggest/tests/t21185.nim
nim/nimsuggest/tests/taccent_highlight.nim
nim/nimsuggest/tests/tcallstrlit_highlight.nim
nim/nimsuggest/tests/tcase.nim
Expand Down
8 changes: 4 additions & 4 deletions lang/nim/distinfo
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$NetBSD: distinfo,v 1.26 2023/05/14 21:13:53 nikita Exp $
$NetBSD: distinfo,v 1.27 2023/11/23 16:41:31 ryoon Exp $

BLAKE2s (nim-1.6.12.tar.xz) = 2d296dfc9a61ca0105a700ea59a6ea4b83a8225e5cbe7908855bfc5bebc6b6a4
SHA512 (nim-1.6.12.tar.xz) = 17c31024ee19dfa36f25bf8a5091992b24a4adb1a817246119a2fc552075999f698a92e66243ddd5ee69d966deead37535c9aac00ebece3854c930f905eeb030
Size (nim-1.6.12.tar.xz) = 5180496 bytes
BLAKE2s (nim-2.0.0.tar.xz) = adeacdfab12d0ca63cf6da15cb78d07eeaf9b817c1ab1f5a93d3630cbd894f2f
SHA512 (nim-2.0.0.tar.xz) = 828aec9b8634c5a662e13bd0542b62f23056af2022b5459577795871debfe4de1889ed4175a805f034e202931f8e5abb9b4e87b4fca725f0113da9f97397e6bd
Size (nim-2.0.0.tar.xz) = 7491724 bytes
SHA1 (patch-bin_nim-gdb) = 0d4e9ae4cc8687ca7821891b63808fa1d175069c
SHA1 (patch-tests_stdlib_tssl.nim) = 5ed65bba80afaab88dc8d43534e455f7b9af7e93
10 changes: 0 additions & 10 deletions lang/nim/patches/patch-tests_stdlib_tssl.nim

This file was deleted.

0 comments on commit 6e0a813

Please sign in to comment.