summary refs log tree commit diff stats
path: root/tests/varres/tvarres1.nim
blob: 8498057684a3d1901a67ac80ed859fd46ae65cd3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
discard """
  file: "tvarres1.nim"
  line: 12
  errormsg: "address of 'bla' may not escape its stack frame"
"""

var
  g = 5

proc p(): var int =
  var bla: int
  result = bla

p() = 45

echo g
>
16
17
18
19
           
                                                          
                    





                                     
 
                                  
 
                    
 
                                         
                         

                
                                    
discard """
  errormsg: "can raise an unlisted exception: ref IOError"
  file: "system.nim"
"""

type
  TObj = object {.pure, inheritable.}
  TObjB = object of TObj
    a, b, c: string

  IO2Error = ref object of IOError

proc forw: int {. .}

proc lier(): int {.raises: [IO2Error].} =
  writeLine stdout, "arg"

proc forw: int =
  raise newException(IOError, "arg")