diff --git a/lib/std/json.zig b/lib/std/json.zig index c1a0b4200955..030b940276b2 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -886,6 +886,7 @@ pub const TokenStream = struct { pub fn next(self: *TokenStream) Error!?Token { if (self.token) |token| { + // TODO: Audit this pattern once #2915 is closed const copy = token; self.token = null; return copy; diff --git a/lib/std/zig/tokenizer.zig b/lib/std/zig/tokenizer.zig index eda152710007..d95fb47d41ac 100644 --- a/lib/std/zig/tokenizer.zig +++ b/lib/std/zig/tokenizer.zig @@ -411,8 +411,10 @@ pub const Tokenizer = struct { pub fn next(self: *Tokenizer) Token { if (self.pending_invalid_token) |token| { + // TODO: Audit this pattern once #2915 is closed + const copy = token; self.pending_invalid_token = null; - return token; + return copy; } const start_index = self.index; var state = State.Start; @@ -1265,8 +1267,10 @@ pub const Tokenizer = struct { if (result.id == Token.Id.Eof) { if (self.pending_invalid_token) |token| { + // TODO: Audit this pattern once #2915 is closed + const copy = token; self.pending_invalid_token = null; - return token; + return copy; } }