blueloveTH 2 yıl önce
ebeveyn
işleme
17cdeffbf5
2 değiştirilmiş dosya ile 2 ekleme ve 2 silme
  1. 1 1
      include/pocketpy/expr.h
  2. 1 1
      src/expr.cpp

+ 1 - 1
include/pocketpy/expr.h

@@ -56,7 +56,7 @@ struct CodeEmitContext{
     int for_loop_depth = 0;
 
     std::map<void*, int> _co_consts_nonstring_dedup_map;
-    std::map<std::string_view, int> _co_consts_string_dedup_map;
+    std::map<std::string, int> _co_consts_string_dedup_map;
 
     int get_loop() const;
     CodeBlock* enter_block(CodeBlockType type);

+ 1 - 1
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;