Skip to content

Commit 27f47c6

Browse files
committed
fix: avoid alias copy on return
1 parent b25a038 commit 27f47c6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

include/plugify/binding.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ namespace plugify {
2525
[[nodiscard]] const std::string& GetMethod() const noexcept;
2626
[[nodiscard]] bool IsBindSelf() const noexcept;
2727
[[nodiscard]] const std::inplace_vector<std::optional<Alias>, Signature::kMaxFuncArgs>& GetParamAliases() const noexcept;
28-
[[nodiscard]] std::optional<Alias> GetRetAlias() const noexcept;
28+
[[nodiscard]] const std::optional<Alias>& GetRetAlias() const noexcept;
2929

3030
// Setters (pass by value and move)
3131
void SetName(std::string name);
3232
void SetMethod(std::string method);
3333
void SetBindSelf(bool bindSelf);
3434
void SetParamAliases(std::inplace_vector<std::optional<Alias>, Signature::kMaxFuncArgs> paramAliases);
35-
void SetRetAlias(Alias retAlias);
35+
void SetRetAlias(std::optional<Alias> retAlias);
3636

3737
[[nodiscard]] bool operator==(const Binding& other) const noexcept;
3838
[[nodiscard]] auto operator<=>(const Binding& other) const noexcept;

src/core/binding.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const std::inplace_vector<std::optional<Alias>, Signature::kMaxFuncArgs>& Bindin
4343
return _impl->paramAliases ? *_impl->paramAliases : emptyAliases;
4444
}
4545

46-
std::optional<Alias> Binding::GetRetAlias() const noexcept {
46+
const std::optional<Alias>& Binding::GetRetAlias() const noexcept {
4747
return _impl->retAlias;
4848
}
4949

@@ -63,7 +63,7 @@ void Binding::SetParamAliases(std::inplace_vector<std::optional<Alias>, Signatur
6363
_impl->paramAliases = std::move(paramAliases);
6464
}
6565

66-
void Binding::SetRetAlias(Alias retAlias) {
66+
void Binding::SetRetAlias(std::optional<Alias> retAlias) {
6767
_impl->retAlias = std::move(retAlias);
6868
}
6969

0 commit comments

Comments
 (0)