Skip to content

Commit 30e95e6

Browse files
committed
feat(error): improved error messages for dicts
1 parent 3163bed commit 30e95e6

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- feat(stdlib): `os.args` returns the arguments passed to the program
88
- feat(error): impproved error messages for missing members
99
- feat(stdlib): introduced `apps`
10+
- feat(error): improved error messages for dicts
1011

1112
## v0.0.18
1213

runtime/prelude-dict.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ func (rv PreludeDict) Lookup(member string) (Evaluatable, *RuntimeError) {
7676
if err != nil {
7777
return nil, err
7878
}
79-
if key, ok := key.(PreludeString); ok {
80-
if value, ok := rv.dict[key]; ok {
79+
if stringKey, ok := key.(PreludeString); ok {
80+
if value, ok := rv.dict[stringKey]; ok {
8181
return rv.context.environment.MakeSome(value)
8282
} else {
8383
return rv.context.environment.MakeNone()
@@ -96,9 +96,9 @@ func (rv PreludeDict) Lookup(member string) (Evaluatable, *RuntimeError) {
9696
return nil, err
9797
}
9898

99-
if key, ok := key.(PreludeString); ok {
99+
if stringKey, ok := key.(PreludeString); ok {
100100
copy := rv.copy()
101-
copy.dict[key] = args[1]
101+
copy.dict[stringKey] = args[1]
102102
return copy, nil
103103
} else {
104104
return nil, NewRuntimeErrorf("dict key must be a string, got %s", key)
@@ -114,9 +114,9 @@ func (rv PreludeDict) Lookup(member string) (Evaluatable, *RuntimeError) {
114114
return nil, err
115115
}
116116

117-
if key, ok := key.(PreludeString); ok {
117+
if stringKey, ok := key.(PreludeString); ok {
118118
copy := rv.copy()
119-
delete(copy.dict, key)
119+
delete(copy.dict, stringKey)
120120
return copy, nil
121121
} else {
122122
return nil, NewRuntimeErrorf("dict key must be a string, got %s", key)

0 commit comments

Comments
 (0)