Skip to content

TP0210

Error: unknown field or method

  • <T> has no field '<x>'
  • <T> has no method '<x>'
  • <E> has no variant '<x>'

From the golden case tests/cases/m29/tp0210_patterns.tpn:

tp0210_patterns.tpn
# A capitalized name in an enum position must be a variant, so a typo isn't a binding (SPEC §5.1).
enum Health:
Ok
Down
enum Maybe[T]:
Some(value: T)
Nothing
def check(h: Health, m: Maybe[Health]):
match h:
Okk:
pass
_:
pass
match m:
Some(Dwn):
pass
Some(lower):
pass
Nothing:
pass

The compiler reports:

tp0210_patterns.tpn:12:9: error TP0210: Health has no variant 'Okk'
tp0210_patterns.tpn:17:14: error TP0210: Health has no variant 'Dwn'

The specification lists every code.