diff --git a/include/pocketpy/str.h b/include/pocketpy/str.h index b29dc96d..5afa7e8e 100644 --- a/include/pocketpy/str.h +++ b/include/pocketpy/str.h @@ -36,10 +36,10 @@ struct Str{ bool empty() const { return size == 0; } size_t hash() const{ return std::hash()(sv()); } - Str& operator=(const Str& other); - Str operator+(const Str& other) const; - friend Str operator+(const char* p, const Str& str); - Str operator+(const char* p) const; + Str& operator=(const Str&); + Str operator+(const Str&) const; + Str operator+(const char*) const; + friend Str operator+(const char*, const Str&); bool operator==(const std::string_view other) const; bool operator!=(const std::string_view other) const; @@ -112,11 +112,11 @@ struct StrName { } bool operator<(const StrName& other) const noexcept { - return this->index < other.index; + return sv() < other.sv(); } bool operator>(const StrName& other) const noexcept { - return this->index > other.index; + return sv() > other.sv(); } static bool is_valid(int index); diff --git a/src/vm.cpp b/src/vm.cpp index 5b54b103..0c49a0b2 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -276,7 +276,7 @@ namespace pkpy{ if(i != 0) ss << "."; ss << cpnts[i]; } - return Str(ss.str()); + return ss.str(); }; if(path[0] == '.'){ diff --git a/tests/99_builtin_func.py b/tests/99_builtin_func.py index ba0ea3c8..fdda3383 100644 --- a/tests/99_builtin_func.py +++ b/tests/99_builtin_func.py @@ -630,3 +630,6 @@ def f(a, b): return sum([b, c]) assert f(1, 2) == 3 + +dir_int = dir(int) +assert dir_int[:4] == ['__add__', '__and__', '__base__', '__eq__'] \ No newline at end of file