Skip to content

Error message column indicator points to the incorrect part of the line when using @as when @intCast was necessary #14803

@kcbanner

Description

@kcbanner

Zig Version

0.11.0-dev.1838+3a73216b1

Steps to Reproduce and Observed Behavior

Compile this code (which is incorrectly using @as when it should be @intCast):

pub fn main() !void {
    var arr: [3]u16 = undefined;
    for (arr, 0..) |_, ix| {
        arr[ix] = @as(u16, ix);
    }
}

That yields this error:

src\main.zig:4:13: error: expected type 'u16', found 'usize'
        arr[ix] = @as(u16, ix);
            ^~

Expected Behavior

The ^~ should be pointing to the ix.

For reference, without the @as:

pub fn main() !void {
    var arr: [3]u16 = undefined;
    for (arr, 0..) |_, ix| {
        arr[ix] = ix;
    }
}

The error indicator points to ix:

src\main.zig:4:19: error: expected type 'u16', found 'usize'
        arr[ix] = ix;
                  ^~

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behavior

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions