chore: shorten `orelse @panic` to `.?`

This commit is contained in:
Rekai Nyangadzayi Musuka 2022-10-21 05:12:59 -03:00
parent 5725bbbe35
commit e709c2030c
1 changed files with 3 additions and 6 deletions

View File

@ -44,8 +44,7 @@ pub fn init(allocator: Allocator, rom_path: []const u8, save_path: ?[]const u8)
pub fn setupGpio(self: *Self) void { pub fn setupGpio(self: *Self) void {
switch (self.gpio.device.kind) { switch (self.gpio.device.kind) {
.Rtc => { .Rtc => {
const ptr = self.gpio.device.ptr orelse @panic("RTC ptr is missing despite GPIO Device Kind"); const clock = @ptrCast(*Clock, @alignCast(@alignOf(*Clock), self.gpio.device.ptr.?));
const clock = @ptrCast(*Clock, @alignCast(@alignOf(*Clock), ptr));
Clock.init(clock, &self.gpio); Clock.init(clock, &self.gpio);
}, },
.None => {}, .None => {},
@ -265,8 +264,7 @@ const Gpio = struct {
fn step(self: *Device, value: u4) void { fn step(self: *Device, value: u4) void {
switch (self.kind) { switch (self.kind) {
.Rtc => { .Rtc => {
const ptr = self.ptr orelse @panic("Device.ptr should != null when Device.kind == .Rtc"); const clock = @ptrCast(*Clock, @alignCast(@alignOf(*Clock), self.ptr.?));
const clock = @ptrCast(*Clock, @alignCast(@alignOf(*Clock), ptr));
clock.step(Clock.GpioData{ .raw = value }); clock.step(Clock.GpioData{ .raw = value });
}, },
@ -304,8 +302,7 @@ const Gpio = struct {
fn deinit(self: This, allocator: Allocator) void { fn deinit(self: This, allocator: Allocator) void {
switch (self.device.kind) { switch (self.device.kind) {
.Rtc => { .Rtc => {
const ptr = self.device.ptr orelse @panic("Device.ptr should != null when Device.kind == .Rtc"); allocator.destroy(@ptrCast(*Clock, @alignCast(@alignOf(*Clock), self.device.ptr.?)));
allocator.destroy(@ptrCast(*Clock, @alignCast(@alignOf(*Clock), ptr)));
}, },
.None => {}, .None => {},
} }