E06261: a package must have a 'description'

Category: E06xxx Type hierarchy checks · Reported in phase: SYMBOL_DEFINITION · Classification: PACKAGE_DESCRIPTION_MISSING · All error codes

What went wrong

A 'defines package' block has no 'description'. Every package must say what it is for: the description is part of the package's metadata, shown wherever the package is listed or published. The compiler, the language server and every tool report it (the message starts "In '<module>' package:").

A 'description' that is there but not a String literal is E06260, not this.

How to fix it

Add a 'description' to the package block, as a String literal: 'description <- "What this package is for"'.

The [EXAMPLE] section below shows a package with no description, and the same package with one.

Common causes

  • A package block written to declare dependencies or files, without metadata
  • The description commented out or deleted
  • A misspelt property name ('descripton' - that one is E06260, and the description is still missing)

See also

Examples

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

Fails with E06261: a package must have a 'description'

#!ek9
defines module error.e06261.bad

  defines package
    version <- 1.0.0-0

Fixed: Give the package a description

#!ek9
defines module error.e06261.good

  defines package
    version <- 1.0.0-0
    description <- "A library"