LateFunctionBinding indicates that the function has a binding which is not known at compile time. This is useful for functions which have side-effects or are not deterministically computable.
()
| 900 | // LateFunctionBinding indicates that the function has a binding which is not known at compile time. |
| 901 | // This is useful for functions which have side-effects or are not deterministically computable. |
| 902 | func LateFunctionBinding() OverloadOpt { |
| 903 | return func(o *OverloadDecl) (*OverloadDecl, error) { |
| 904 | if o.HasBinding() { |
| 905 | return nil, fmt.Errorf("overload already has a binding: %s", o.ID()) |
| 906 | } |
| 907 | o.hasLateBinding = true |
| 908 | return o, nil |
| 909 | } |
| 910 | } |
| 911 | |
| 912 | // OverloadIsNonStrict enables the function to be called with error and unknown argument values. |
| 913 | // |