Skip to content

Commit e709273

Browse files
src: update to Zig version 0.12.0-dev.1746+19af8aac8 (#5)
* `std.meta.trait` was removed in https://www.github.com/ziglang/zig/commit/d5e21a4f1a2920ef7bbe3c54feab1a3b5119bf77 . * New `var never mutated` error in ziglang/zig@6b1a823 . Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
1 parent 4744da2 commit e709273

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<img align="right" width="160" height="160" src="https://user-images.githubusercontent.com/34946442/152222895-9c8adb22-a22d-4bce-a513-3486ca28bdd5.png"> zig**fsm** is a [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine) library for Zig.
22

3-
This library tracks [Zig master](https://github.com/ziglang/zig) and is tested with the `stage2` compiler. Last test was on Zig version `0.11.0-dev.4003+c6aa29b6f`
3+
This library tracks [Zig master](https://github.com/ziglang/zig). Last test was on Zig version `0.12.0-dev.1746+19af8aac8`.
44

55
## Table of contents
66
* [Features](#features)

build.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pub fn build(b: *std.build.Builder) void {
55
const mode = b.standardOptimizeOption(.{});
66

77
const fsm_mod = b.addModule("fsm", .{
8-
.source_file = .{.path = "src/main.zig"},
8+
.source_file = .{ .path = "src/main.zig" },
99
});
1010

1111
const lib = b.addStaticLibrary(.{

src/main.zig

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ pub fn StateMachineFromTable(comptime StateType: type, comptime EventType: ?type
118118
if (comptime EventType != null) instance.internal.events = EventPackedIntArray.initAllTo(0);
119119

120120
for (transitions) |t| {
121-
var offset = (@intFromEnum(t.from) * state_type_count) + @intFromEnum(t.to);
121+
const offset = (@intFromEnum(t.from) * state_type_count) + @intFromEnum(t.to);
122122
instance.internal.state_map.setValue(offset, true);
123123

124124
if (comptime EventType != null) {
@@ -208,7 +208,7 @@ pub fn StateMachineFromTable(comptime StateType: type, comptime EventType: ?type
208208
pub fn addEvent(self: *Self, event: EventTypeArg, from: StateType, to: StateType) !void {
209209
if (comptime EventType != null) {
210210
if (self.canTransitionFromTo(from, to)) {
211-
var slot = computeEventSlot(event, from);
211+
const slot = computeEventSlot(event, from);
212212
if (self.internal.events.get(slot) != 0) return StateError.AlreadyDefined;
213213
self.internal.events.set(slot, @as(CellType, @intCast(@intFromEnum(to))) + 1);
214214
} else return StateError.Invalid;
@@ -219,9 +219,9 @@ pub fn StateMachineFromTable(comptime StateType: type, comptime EventType: ?type
219219
/// Returns `StateError.Invalid` if the event is not defined for the current state
220220
pub fn do(self: *Self, event: EventTypeArg) !Transition(StateType, EventType) {
221221
if (comptime EventType != null) {
222-
var from_state = self.internal.current_state;
223-
var slot = computeEventSlot(event, self.internal.current_state);
224-
var to_state = self.internal.events.get(slot);
222+
const from_state = self.internal.current_state;
223+
const slot = computeEventSlot(event, self.internal.current_state);
224+
const to_state = self.internal.events.get(slot);
225225
if (to_state != 0) {
226226
try self.transitionToInternal(event, @as(StateType, @enumFromInt(to_state - 1)));
227227
return .{ .event = event, .from = from_state, .to = @as(StateType, @enumFromInt(to_state - 1)) };
@@ -377,7 +377,7 @@ pub fn StateMachineFromTable(comptime StateType: type, comptime EventType: ?type
377377

378378
if (EventType) |T| {
379379
if (options.show_events) {
380-
var events_start_offset = @as(usize, @intCast(@intFromEnum(from))) * event_type_count;
380+
const events_start_offset = @as(usize, @intCast(@intFromEnum(from))) * event_type_count;
381381
var transition_name_buf: [4096]u8 = undefined;
382382
var transition_name = std.io.fixedBufferStream(&transition_name_buf);
383383
for (0..event_type_count) |event_index| {
@@ -554,7 +554,7 @@ pub fn FsmFromText(comptime input: []const u8) type {
554554
} else if (std.mem.eql(u8, part, "end:")) {
555555
_ = fsm.do(.endcolon) catch unreachable;
556556
} else {
557-
var current_identifier = part;
557+
const current_identifier = part;
558558
_ = fsm.do(.identifier) catch unreachable;
559559
const to = fsm.currentState();
560560

@@ -633,8 +633,8 @@ pub const Interface = struct {
633633
pub fn make(comptime InterfaceType: type, comptime Implementer: type) InterfaceType {
634634
var instance: InterfaceType = undefined;
635635
inline for (std.meta.fields(InterfaceType)) |f| {
636-
if (comptime std.meta.trait.hasFn(f.name[0..f.name.len])(Implementer)) {
637-
@field(instance, f.name) = @field(Implementer, f.name[0..f.name.len]);
636+
if (comptime std.meta.hasFn(Implementer, f.name)) {
637+
@field(instance, f.name) = @field(Implementer, f.name);
638638
}
639639
}
640640
return instance;
@@ -804,7 +804,7 @@ test "csv parser" {
804804
var stream = std.io.fixedBufferStream(self.csv);
805805
const reader = stream.reader();
806806
while (true) : (self.cur_index += 1) {
807-
var input = reader.readByte() catch {
807+
const input = reader.readByte() catch {
808808
// An example of how to handle parsing errors
809809
_ = self.fsm.do(.eof) catch {
810810
try std.io.getStdErr().writer().print("Unexpected end of stream\n", .{});
@@ -932,7 +932,7 @@ test "csv parser, without handler callback" {
932932
var stream = std.io.fixedBufferStream(self.csv);
933933
const reader = stream.reader();
934934
while (true) : (self.cur_index += 1) {
935-
var input = reader.readByte() catch {
935+
const input = reader.readByte() catch {
936936
// An example of how to handle parsing errors
937937
_ = self.fsm.do(.eof) catch {
938938
try std.io.getStdErr().writer().print("Unexpected end of stream\n", .{});

0 commit comments

Comments
 (0)