diff --git a/include/pocketpy/expr.h b/include/pocketpy/expr.h index f3b883d8..7211c0c8 100644 --- a/include/pocketpy/expr.h +++ b/include/pocketpy/expr.h @@ -56,7 +56,7 @@ struct CodeEmitContext{ int for_loop_depth = 0; std::map _co_consts_nonstring_dedup_map; - std::map _co_consts_string_dedup_map; + std::map _co_consts_string_dedup_map; int get_loop() const; CodeBlock* enter_block(CodeBlockType type); diff --git a/src/expr.cpp b/src/expr.cpp index eae7961b..358c8f97 100644 --- a/src/expr.cpp +++ b/src/expr.cpp @@ -89,7 +89,7 @@ namespace pkpy{ int CodeEmitContext::add_const(PyObject* v){ if(is_non_tagged_type(v, vm->tp_str)){ // string deduplication - std::string_view key = PK_OBJ_GET(Str, v).sv(); + std::string key = PK_OBJ_GET(Str, v).str(); auto it = _co_consts_string_dedup_map.find(key); if(it != _co_consts_string_dedup_map.end()){ return it->second;