summaryrefslogtreecommitdiff
path: root/src/errors/NotARecord.txt
blob: e0eebc8ccc94d4f1b8ad387d58806caba02d40f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Explanation: You can only access fields on records, like this:


    ┌─────────────────────────────────┐
    │ { foo = True, bar = "ABC" }.foo │  This is valid ...
    └─────────────────────────────────┘


    ┌───────────────────────────────────────────┐
    │ λ(r : { foo : Bool, bar : Text }) → r.foo │  ... and so is this
    └───────────────────────────────────────────┘


... but you cannot access fields on non-record expressions

For example, the following expression is $_NOT valid:


    ┌───────┐
    │ 1.foo │
    └───────┘
      ⇧
      Invalid: Not a record


You tried to access a field named:

↳ $txt0

... on the following expression which is not a record:

↳ $txt1

... but is actually an expression of type:

↳ $txt2

Some common reasons why you might get this error:

● You accidentally try to access a field of a union instead of a record, like
  this:


    ┌─────────────────┐
    │ < foo : a >.foo │
    └─────────────────┘
      ⇧
      This is a union, not a record