You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Your code snippet runs fine in global but not in main for enums. I believe it should run in both. Sorry if I have the wrong end of the stick. Bit of a zig noob. Running zig stable 12.
If I rem out the function in the enum it works fine. Perhaps enums with functions can only be in namespaced global if referencing themselves?
Thanks
Code is as follows
cat main.zig
const std = @import("std"); // get the standard lib
//zig version
//0.12.0
// nb latest stable release zig-linux-x86_64-0.12.0
//// this works fine in global
//const Suit = enum {
// clubs,
// spades,
// diamonds,
// hearts,
// pub fn isClubs(self: Suit) bool {
// return self == Suit.clubs;
// }
//};
//
//
//
pub fn main() void
{
std.debug.print("Do I compile? (sanity check)\n",.{});
Hi
Your code snippet runs fine in global but not in main for enums. I believe it should run in both. Sorry if I have the wrong end of the stick. Bit of a zig noob. Running zig stable 12.
If I rem out the function in the enum it works fine. Perhaps enums with functions can only be in namespaced global if referencing themselves?
Thanks
Code is as follows
cat main.zig
const std = @import("std"); // get the standard lib
//zig version
//0.12.0
// nb latest stable release zig-linux-x86_64-0.12.0
//// this works fine in global
//const Suit = enum {
// clubs,
// spades,
// diamonds,
// hearts,
// pub fn isClubs(self: Suit) bool {
// return self == Suit.clubs;
// }
//};
//
//
//
pub fn main() void
{
std.debug.print("Do I compile? (sanity check)\n",.{});
//https://zig.guide/language-basics/enums
/////////////
//code
/////////////
//const Suit = enum {
// clubs,
// spades,
// diamonds,
// hearts,
// pub fn isClubs(self: Suit) bool {
// return self == Suit.clubs;
// }
//};
//
//
/////////////
// Result
/////////////
//zig run main.zig
//main.zig:21:26: error: use of undeclared identifier 'Suit'
// pub fn isClubs(self: Suit) bool {
// ^~~~
//main.zig:16:7: error: unused local constant
//const Suit = enum {
// ^~~~
//
//
// Zig in Depth: enum and union Dude the Builder
// copied directly from https://www.youtube.com/watch?v=Q_ltZnZlLZA&list=PLtB7CL7EG7pCw7Xy1SQC53Gl8pI7aDg9t&index=8
/////////////
//code
/////////////
//
//const Color = enum {
// red,
// green,
// blue,
// // Can have methods
// fn isRewd(self: Color) bool {
// return self == .red;
// }
//};
//
/////////////
// Result
/////////////
//
//zig run main.zig
//main.zig:37:18: error: use of undeclared identifier 'Color'
// fn isRewd(self: Color) bool {
// ^~~~~
//main.zig:32:7: error: unused local constant
//const Color = enum {
// ^~~~~
} // end main
The text was updated successfully, but these errors were encountered: