PLC-lang/rusty

using `__VOID` as a type in user code should be an error

開放

#1,348 建立於 2024年10月24日

 (1 則留言) (0 個反應) (0 位負責人)Rust (71 個分叉)auto 404
good first issuemedium-priority

倉庫指標

星標
 (351 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

We currently do not have a validation in place to safeguard against initializing a variable with __VOID. Since the void type does not exist outside of return-types in LLVM, the variable's type is then changed to i32 during codegen. I think it would make sense to disallow using the type in user code in general, especially seeing as it is prefixed with __.

FUNCTION_BLOCK foo
VAR
    x : __VOID;
END_VAR
END_FUNCTION_BLOCK

...

%foo = type { i32 }

貢獻者指南