E07880: a function or function delegate is not required here

Category: E07xxx Full resolution · Reported in phase: FULL_RESOLUTION · Classification: FUNCTION_OR_DELEGATE_NOT_REQUIRED · All error codes

What went wrong

You've provided a function/delegate where one isn't needed.

Worked examples

Compilable examples demonstrating this error and the correct fix:

  • ek9 -q 813 (How do call and async work in EK9 stream pipelines?)

How to fix it

  1. Remove the function/delegate argument
  2. Provide the expected value type instead

Common causes

  • Extra function argument
  • Wrong context interpretation

See also

  • E07880: function not expected (this error)
  • E07860: function required

Examples

Every example is compiled by the EK9 compiler: the first fails exactly as captioned, the others fix it.

Fails with E07880: a function or function delegate is not required here

#!ek9
defines module error.e07880.bad

  defines function

    greeting()
      <- rtn as String: "hello"

    greetAll()
      stdout <- Stdout()

      //call calls the functions flowing through it; it takes none of its own
      cat [greeting] | call greeting > stdout

Fixed: Write 'call' on its own

#!ek9
defines module error.e07880.good

  defines function

    greeting()
      <- rtn as String: "hello"

    greetAll()
      stdout <- Stdout()
      cat [greeting] | call > stdout

Questions and answers

These Q&A entries show E07880 and its fix: