• Robert Griesemer's avatar
    spec: clarify section on package initialization · a4366984
    Robert Griesemer authored
    - split description of package initialization and
      program execution
    - better grouping of concerns in section on package
      initialization
    - more explicit definition of what constitues a
      dependency
    - removed language about constant dependencies -
      they are computed at compile-time and not
      initialized at run-time
    - clarified that independent variables are initialized
      in declaration order (rather than reference order)
    
    Note that the last clarification is what distinguishes
    gc and gccgo at the moment: gc uses reference order
    (i.e., order in which variables are referenced in
    initialization expressions), while gccgo uses declaration
    order for independent variables.
    
    Not a language change. But adopting this CL will
    clarify what constitutes a dependency.
    
    Fixes #6703.
    
    LGTM=adonovan, r, iant, rsc
    R=r, rsc, iant, ken, adonovan
    CC=golang-codereviews
    https://golang.org/cl/99020043
    a4366984
go_spec.html 186 KB