LuaLS / LuaLS/lua-language-server
---@class with function return question
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Lua
- Star
- 4.4k
- Fork
- 442
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
so I have this (as a mockup):
do
---@class a
local a = {}
---@generic T
---@param self a
---@param new T
---@return T
a.extend = function(self, new)
--...
return new
end
end
and it's supposed to be inheritance for prototypes, right, but I'm trying to make the LS think that it returns the second parameter new and it does that and the LS thinks that, so far so good. So this
local b = a:extend{
n = 1
}
will make it like this:
but the problem is, that if I use ---@class b here, then it will ignore what the function returns and I get this:
am I missing something or is it just not possible? Though, if I separate it into two statements like this,
---@class b
local b = {
n = 1
}
b = a:extend(b)
then I get what I want:
but it's not ideal, since it's two statements now and I can't use the fun{} syntactic sugar this way, which would be the whole reason, right. Is there a way to make it work? Also I'm unsure about how to properly word the title here
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Không có tệp mã nguồn hoặc bài kiểm thử nào được nêu tên. Hãy tái hiện hai đoạn mã Lua một dòng và hai đoạn mã Lua hai câu lệnh, sau đó theo dõi quá trình suy luận kiểu của LuaLS đối với các khai báo cục bộ, chú thích lớp, generic và giá trị trả về của hàm. Được xem là hoàn tất khi hành vi được hỗ trợ đã được triển khai và bao phủ bằng một bài kiểm thử hồi quy, hoặc khi giới hạn này được ghi rõ trong tài liệu.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- lua
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100