This commit is contained in:
Araq
2020-04-21 23:27:19 +02:00
parent 1b6c4ed2ba
commit dd24004fab
2 changed files with 5 additions and 5 deletions

View File

@@ -32,7 +32,7 @@
and `ioselector_epoll` will no longer be leaked to child processes.
## Language changes
- In newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
- In newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
```nim
type
MyObj = object
@@ -62,8 +62,8 @@
```
- getImpl() on enum type symbols now returns field syms instead of idents. This helps
with writing typed macros. Old behavior for backwards compatiblity can be restored
with command line switch `--oldast`.
with writing typed macros. Old behavior for backwards compatiblity can be restored
with command line switch `--useVersion:1.0`.
## Compiler changes

View File

@@ -131,7 +131,7 @@ proc semEnum(c: PContext, n: PNode, prev: PType): PType =
e.typ = result
e.position = int(counter)
let symNode = newSymNode(e)
if optOldAst notin c.config.options and identToReplace != nil:
if optNimV1Emulation notin c.config.options and identToReplace != nil:
identToReplace[] = symNode
if e.position == 0: hasNull = true
if result.sym != nil and sfExported in result.sym.flags:
@@ -1590,7 +1590,7 @@ proc applyTypeSectionPragmas(c: PContext; pragmas, operand: PNode): PNode =
discard "User-defined pragma"
else:
let sym = searchInScopes(c, ident)
if sym != nil and sfCustomPragma in sym.flags:
if sym != nil and sfCustomPragma in sym.flags:
discard "Custom user pragma"
else:
# we transform ``(arg1, arg2: T) {.m, rest.}`` into ``m((arg1, arg2: T) {.rest.})`` and