The code
`pub fn stripComments(self: *Lexer) !void {
var filtered = std.ArrayList(u8).init(self.allocator);
defer filtered.deinit();
for (self.program) |byte| {
switch (byte) {
'+' | '-' | '<' | '>' | '[' | ']' | ',' | '.' => {
try filtered.append(byte);
std.debug.print("byte: {c}\n", .{byte});
},
else => {
std.debug.print("bad byte: {c}\n", .{byte});
},
}
}
const program = try filtered.toOwnedSlice(); // Reemplaza el slice original con el nuevo.
std.debug.print("program {s}\n", .{program});
self.program = program;
}
`
self.program is []u8 with value "++++++++++[>+++++++>++++++++++>+++++++++++>+++>+<<<<<-]>++.>>+.---.<---.>>++.<+.++++++++.-------.<+++.>+.>+.>."
The output
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: +
bad byte: [
...
...
program
this says that in the switch all the bytes are bad bytes, which is the opposite, is this a bug in the compiler or I'm just skipping a mistake I made