Source file src/internal/abi/rangefuncconsts.go

     1  // Copyright 2024 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package abi
     6  
     7  type RF_State int
     8  
     9  // These constants are shared between the compiler, which uses them for state functions
    10  // and panic indicators, and the runtime, which turns them into more meaningful strings
    11  // For best code generation, RF_DONE and RF_READY should be 0 and 1.
    12  const (
    13  	RF_DONE          = RF_State(iota) // body of loop has exited in a non-panic way
    14  	RF_READY                          // body of loop has not exited yet, is not running  -- this is not a panic index
    15  	RF_PANIC                          // body of loop is either currently running, or has panicked
    16  	RF_EXHAUSTED                      // iterator function return, i.e., sequence is "exhausted"
    17  	RF_MISSING_PANIC = 4              // body of loop panicked but iterator function defer-recovered it away
    18  )
    19  

View as plain text