git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix dict_t missing key exceptions
a1c986aAndy Arvanitis
runtime/string_literal_dict.h+4
@@ -55,6 +55,10 @@ class string_literal_dict_t : public std::vector<std::pair<const char *, T>> {
55 return null();
55 return null();
56 }
56 }
57
57
58+ auto at(const char key[]) const -> const T& {
59+ return (*this)[key];
60+ }
61+
58 auto operator[](const char key[]) -> T& {
62 auto operator[](const char key[]) -> T& {
59 const auto end = this->end();
63 const auto end = this->end();
60 for (auto it = this->begin(); it != end; it++) {
64 for (auto it = this->begin(); it != end; it++) {
src/CodeGen/Cpp/Printer.hs+2−2
@@ -444,8 +444,8 @@ interfaceSource mn exports foreigns =
444 identToCpp foreign' <>
444 identToCpp foreign' <>
445 "() -> " <> varDecl <> " { " <>
445 "() -> " <> varDecl <> " { " <>
446 dispatchOnceBegin <>
446 dispatchOnceBegin <>
447− foreignDict <> "()[" <>
447+ foreignDict <> "().at(" <>
448− (stringLiteral . mkString $ runIdent foreign') <> "]; " <>
448+ (stringLiteral . mkString $ runIdent foreign') <> "); " <>
449 dispatchOnceEnd <>
449 dispatchOnceEnd <>
450 " };\n") <$> foreigns) <>
450 " };\n") <$> foreigns) <>
451 "\n" <>
451 "\n" <>