Skip to content

Commit

Permalink
Merge branch 'devel' into araq-fixes-22510
Browse files Browse the repository at this point in the history
  • Loading branch information
Araq committed Jun 5, 2024
2 parents f355208 + 87e56ca commit 21a819c
Show file tree
Hide file tree
Showing 239 changed files with 6,695 additions and 3,734 deletions.
11 changes: 9 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
(a, b) = (1, 2, 3, 4)
```
will no longer compile.
- `internalNew` is removed from system, use `new` instead.

- `bindMethod` in `std/jsffi` is deprecated, don't use it with closures.

## Standard library additions and changes

Expand All @@ -30,6 +33,10 @@ slots when enlarging a sequence.
- Added `hasDefaultValue` to `std/typetraits` to check if a type has a valid default value.
- Added Viewport API for the JavaScript targets in the `dom` module.
- Added `toSinglyLinkedRing` and `toDoublyLinkedRing` to `std/lists` to convert from `openArray`s.
- ORC: To be enabled via `nimOrcStats` there is a new API called `GC_orcStats` that can be used to query how many
objects the cyclic collector did free. If the number is zero that is a strong indicator that you can use `--mm:arc`
instead of `--mm:orc`.
- A `$` template is provided for `Path` in `std/paths`.

[//]: # "Deprecations:"

Expand All @@ -40,7 +47,7 @@ slots when enlarging a sequence.

## Language changes

- `noInit` can be used in types and fields to disable member initializers in the C++ backend.
- `noInit` can be used in types and fields to disable member initializers in the C++ backend.
- C++ custom constructors initializers see https://nim-lang.org/docs/manual_experimental.htm#constructor-initializer
- `member` can be used to attach a procedure to a C++ type.
- C++ `constructor` now reuses `result` instead creating `this`.
Expand All @@ -62,7 +69,7 @@ slots when enlarging a sequence.
symbols in generic routine bodies to be replaced by symbols injected locally
by templates/macros at instantiation time. `bind` may be used to keep the
captured symbols over the injected ones regardless of enabling the option.

Since this change may affect runtime behavior, the experimental switch
`genericsOpenSym` needs to be enabled, and a warning is given in the case
where an injected symbol would replace a captured symbol not bound by `bind`
Expand Down
2 changes: 1 addition & 1 deletion changelogs/changelog_2_0_0_details.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
- `shallowCopy` and `shallow` are removed for ARC/ORC. Use `move` when possible or combine assignment and
`sink` for optimization purposes.

- The experimental `nimPreviewDotLikeOps` switch is going to be removed or deprecated because it didn't fullfill its promises.
- The experimental `nimPreviewDotLikeOps` switch is going to be removed or deprecated because it didn't fulfill its promises.

- The `{.this.}` pragma, deprecated since 0.19, has been removed.
- `nil` literals can no longer be directly assigned to variables or fields of `distinct` pointer types. They must be converted instead.
Expand Down
Loading

0 comments on commit 21a819c

Please sign in to comment.