When `main` is compiled your global variable is not yet declared. This works:
    
    
    template test(k: untyped) =
        when compiles(k):
            echo "it compiled"
            k = "New England"
        else:
            echo "not compiled"
            var k = "New England"
    
    var pagekey = "England"
    
    proc main() =
        test(pagekey)
    
    main()
    echo pagekey
    
    
    
    
    Run

Reply via email to