I have a HashMap variable, it works fine to build before:
let iter = _registry.keys();
but after setup vessel, got this error during building:
type error [M0072], field keys does not exist in type
{
delete : TokenIndex/2 → ();
entries : () → Iter/1<(TokenIndex/2, AccountIdentifier/4)>;
get : TokenIndex/2 → ?AccountIdentifier/4;
put : (TokenIndex/2, AccountIdentifier/4) → ();
remove : TokenIndex/2 → ?AccountIdentifier/4;
replace : (TokenIndex/2, AccountIdentifier/4) → ?AccountIdentifier/4;
size : () → Nat
}
any idea?
I haven’t been tracking the changes but from your error message it looks like keys
was removed from HashMap
.
You could get the keys by first getting the entries
and then calling HashMap.map
where the mapping function returns the first element (the key).
ggreif
February 3, 2022, 10:03am
3
No, it is still there: motoko-base/src/HashMap.mo at master · dfinity/motoko-base · GitHub
@bytesun Please verify that you are using a reset (and complete) version of the base
library. Can you check whether vessel
accesses the correct motoko-base
?
1 Like
changed to the latest version in package-set.dhall
let upstream = https://github.com/dfinity/vessel-package-set/releases/download/mo-0.6.1-20210610/package-set.dhall sha256:5d3cc1e3be83d178f0e2210998f8266e536ebd241f415df8e87feb53effe6254
and got this error:
Stderr:
.vessel/base/a6301031d21449d38eb64a72e3e9dd0ad8447a86/src/Principal.mo:19.51-19.55: type error [M0072], field principalOfBlob does not exist in type
module {
ggreif
February 3, 2022, 7:56pm
6
That is an “ancient” release. I suggest updating your dfx
first and the hunt down a matching package set for vessel
.
1 Like