Zig Version
0.15.0-dev.151+6e8493daa
Steps to Reproduce and Observed Behavior
When Directly using reader the compiler gives
test.zig:15:33: error: expected type '*os.uefi.protocol.file.File', found '*const os.uefi.protocol.file.File' const reader = test_file.reader(); ~~~~~~~~~^~~~~~~ soda.zig:15:33: note: cast discards const qualifier /path/lib/std/os/uefi/protocol/file.zig:35:25: note: parameter type declared here pub fn reader(self: *File) Reader {
varfile: *constuefi.protocol.File=undefined;
pubfnmain() noreturn {
varloaded_image: *uefi.protocol.LoadedImage=undefined;
varsimple_fs: *uefi.protocol.SimpleFileSystem=undefined;
varroot_fs: *constuefi.protocol.File=undefined;
vartest_file: *constuefi.protocol.File=undefined;
if (uefi.system_table.boot_services) |boot_services| {
_=boot_services.handleProtocol(uefi.handle, &uefi.protocol.LoadedImage.guid, @ptrCast(&loaded_image));
_=boot_services.handleProtocol(loaded_image.device_handle.?, &uefi.protocol.SimpleFileSystem.guid, @ptrCast(&simple_fs));
_=simple_fs.openVolume(&root_fs);
constfile_name= &[_:0] u16{'t', 'e','s', 't', '.', 't', 'x', 't'}; // test.txt_=root_fs.open(&test_file, file_name, uefi.protocol.File.efi_file_mode_read, uefi.protocol.File.efi_file_read_only);
varfile: *constuefi.protocol.File=undefined;
pubfnmain() noreturn {
varloaded_image: *uefi.protocol.LoadedImage=undefined;
varsimple_fs: *uefi.protocol.SimpleFileSystem=undefined;
varroot_fs: *constuefi.protocol.File=undefined;
vartest_file: *constuefi.protocol.File=undefined;
if (uefi.system_table.boot_services) |boot_services| {
_=boot_services.handleProtocol(uefi.handle, &uefi.protocol.LoadedImage.guid, @ptrCast(&loaded_image));
_=boot_services.handleProtocol(loaded_image.device_handle.?, &uefi.protocol.SimpleFileSystem.guid, @ptrCast(&simple_fs));
_=simple_fs.openVolume(&root_fs);
constfile_name= &[_:0] u16{'t', 'e','s', 't', '.', 't', 'x', 't'}; // test.txt_=root_fs.open(&test_file, file_name, uefi.protocol.File.efi_file_mode_read, uefi.protocol.File.efi_file_read_only);
constreader=test_file.reader();
// const reader = @constCast(test_file).reader(); // but this works_=reader;
}
while (true) {}
}
constuefi=std.os.uefi;
conststd=@import("std");Expected Behavior
Should work with
constreader=test_file.reader();
Zig Version
0.15.0-dev.151+6e8493daa
Steps to Reproduce and Observed Behavior
When Directly using reader the compiler gives
Expected Behavior
Should work with