Open
Description
Lpython is not recognizing global variables:
from lpython import i32, f64, i64, dataclass, ccall, union, Union, packed, u32, u16, u64, CPtr, sizeof, c_p_pointer, \
Pointer
import numpy as np
@dataclass
class db_data:
num_records: u32 = u32(0)
g_db_data: db_data = db_data()
def foo() -> None:
global g_db_data
g_db_data.num_records = 2
print('hi', g_db_data.num_records)
foo()
Error massage:
semantic error: Variable: 'g_db_data' is not declared
--> /Users/ronnuriel/Desktop/testlpython.py:14:5
|
14 | g_db_data.num_records = 2
| ^^^^^^^^^^^^^^^^^^^^^^^^^
The following works:
from lpython import i32, f64, i64, dataclass, ccall, union, Union, packed, u32, u16, u64, CPtr, sizeof, c_p_pointer, \
Pointer
import numpy as np
@dataclass
class db_data:
num_records: u32 = u32(0)
g_db_data: db_data = db_data()
def foo() -> None:
global g_db_data
# g_db_data.num_records = 2
print('hi', g_db_data.num_records)
foo()