Skip to content

Build error with lastest zig #1610

@jimying

Description

@jimying

Zig Version

0.12.0-dev.1663+6b1a823b2

Zig Language Server Version

e89b712

Steps to Reproduce

Due to the zig new feature: ziglang/zig#18017 (zig commit: 6b1a823b2),
which strictly check var, and throw "error: local variable is never mutated"

Use lastest zig (build from zig source) to build zls, build error as follow.

build error log for zls_gen:

src/config_gen/config_gen.zig:270:9: error: local variable is never mutated
    var writer = buffered_writer.writer();
        ^~~~~~
src/config_gen/config_gen.zig:270:9: note: consider using 'const'
src/config_gen/config_gen.zig:556:25: error: local variable is never mutated
                    var content_token = tokenizer.next();
                        ^~~~~~~~~~~~~
src/config_gen/config_gen.zig:556:25: note: consider using 'const'
src/config_gen/config_gen.zig:887:13: error: local variable is never mutated
        var arguments = try extractArgumentsFromSignature(allocator, signature[builtin.name.len + 1 ..]);
            ^~~~~~~~~
src/config_gen/config_gen.zig:887:13: note: consider using 'const'
src/config_gen/config_gen.zig:849:9: error: local variable is never mutated
    var builtins = try collectBuiltinData(allocator, version, langref_source);
        ^~~~~~~~
src/config_gen/config_gen.zig:849:9: note: consider using 'const'
src/config_gen/config_gen.zig:973:9: error: local variable is never mutated
    var gpa = general_purpose_allocator.allocator();
        ^~~
src/config_gen/config_gen.zig:973:9: note: consider using 'const'

I try fix zls_gen errors, throw more errors:

/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:35:9: error: local variable is never mutated
    var path_or_null = try getPath(allocator, folder);
        ^~~~~~~~~~~~
/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:35:9: note: consider using 'const'
/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:180:21: error: local variable is never mutated
                var subdir = line[start..end];
                    ^~~~~~
/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:180:21: note: consider using 'const'
/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:341:13: error: local variable is never mutated
        var path_or_null = try getPath(std.testing.allocator, @field(KnownFolder, fld.name));
            ^~~~~~~~~~~~
/env/.home/d/.cache/zig/p/1220bb12c9bfe291eed1afe6a2070c7c39918ab1979f24a281bba39dfb23f5bcd544/known-folders.zig:341:13: note: consider using 'const'
src/offsets.zig:116:13: error: local variable is never mutated
        var token_start = tokens_start[upper_index];
            ^~~~~~~~~~~
src/offsets.zig:116:13: note: consider using 'const'
src/Server.zig:1609:9: error: local variable is never mutated
    var result = try arena.alloc(std.meta.Child(std.meta.Child(Result)), actions.items.len);
        ^~~~~~
src/Server.zig:1609:9: note: consider using 'const'
/env/.home/d/.cache/zig/p/1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5/binned_allocator.zig:496:9: error: local variable is never mutated
    var slice = try allocator.alloc(u8, 8192 + 50);
        ^~~~~
/env/.home/d/.cache/zig/p/1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5/binned_allocator.zig:496:9: note: consider using 'const'
src/DocumentScope.zig:681:25: error: local variable is never mutated
                    var gop_res = try context.doc_scope.enum_completions.getOrPut(allocator, .{
                        ^~~~~~~
src/DocumentScope.zig:681:25: note: consider using 'const'
src/analysis.zig:199:17: error: local variable is never mutated
            var end_token = ast.lastToken(tree, param.type_expr);
                ^~~~~~~~~
src/analysis.zig:199:17: note: consider using 'const'
src/analysis.zig:1496:21: error: local variable is never mutated
                var lhs = (try analyser.resolveTypeOfNodeInternal(.{
                    ^~~
src/analysis.zig:1496:21: note: consider using 'const'
src/analysis.zig:2402:25: error: local variable is never mutated
                    var import_str = offsets.locToSlice(tokenizer.buffer, .{
                        ^~~~~~~~~~
src/analysis.zig:2402:25: note: consider using 'const'
src/analysis.zig:2399:25: error: local variable is never mutated
                    var import_str_tok = tokenizer.next(); // should be the .string_literal
                        ^~~~~~~~~~~~~~
src/analysis.zig:2399:25: note: consider using 'const'
src/analysis.zig:2745:9: error: local variable is never mutated
    var held_line = try allocator.dupeZ(u8, offsets.locToSlice(text, line_loc));
        ^~~~~~~~~
src/analysis.zig:2745:9: note: consider using 'const'
src/analysis.zig:2566:9: error: local variable is never mutated
    var line = offsets.locToSlice(text, line_loc);
        ^~~~
src/analysis.zig:2566:9: note: consider using 'const'

Expected Behavior

build successful

Actual Behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions