fixes #20740; fixes pre-existing field visibility issues and removes efSkipFieldVisibilityCheck (#20741)

fixes #20740 pre-existing field visibility and refactoring
This commit is contained in:
ringabout 2022-11-03 15:46:16 +08:00 • committed by GitHub
commit c4e5dab419
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 28 additions and 11 deletions

View file

@ -3,7 +3,7 @@ discard """
targets: "c cpp js"
"""
import std/[times, tables]
import std/[times, tables, macros]
type
Guess = object
@ -457,5 +457,25 @@ template main {.dirty.} =
var d = default(Bar)
doAssert d.t == 0
block: # bug #20740
block:
proc foo(x: static DateTime = Datetime()) =
discard
foo()
block:
macro foo(x: static DateTime) =
discard x
macro foo2: untyped =
var x = DateTime()
result = quote do:
foo(`x`)
foo2()
static: main()
main()