Create interface drops attributes in front of type declarations
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #9096 của @cknitt — đã merge
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 58/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- ocaml
- Lĩnh vực
- developer-experience
Hướng nghiên cứu
Start at the editor's "Create interface file" command and trace how it copies type declarations into the generated .resi. Check how source locations handle attributes before type, then compare the generated signature with the implementation for the @tag example. Done means the generated interface preserves representation attributes such as @tag and passes the signature check.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Create interface (the editor's "Create interface file" command) drops attributes written in front of a type declaration:
@tag("kind") type tagged = A(int)
gives
type tagged = A(int)
The type declaration is copied from the source starting at its location, which begins at type, after the attributes in front of it, so they are replaced by spaces. For @tag (and likewise @unboxed and other representation attributes) the generated .resi then no longer matches the implementation, because the signature check compares the variant's tag name.
This happens without any functor involved, also on master. Found while reviewing #9077, part of #9074.
- Ngôn ngữ chính
- OCaml
- Star
- 7.5k
- Fork
- 484
- Merge trung bình
- 20 giờ 19 phút
- Pull request đã merge (30 ngày)
- 242
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc 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.
Issue khác của rescript-lang/rescript
-
Record coercion can construct a private record from outside its moduleCó thể đã có người làm @cknitt đã nhận hôm nay. Đang mở
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 52/100
rescript-lang/rescript#9124 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
rescript-lang/rescript#9123 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 55/100
rescript-lang/rescript#9122 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
rescript-lang/rescript#9109 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Formatter: five cases where comments and doc comments are placed wronglyCó thể đã có người làm @cknitt đã nhận 1 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
rescript-lang/rescript#9107 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của rescript-lang/rescript
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 3 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Missing icon for .cpp2 filesĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 66/100
madskristensen/FileIcons#385 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
db-ux-design-system/core-web#8655 ·
Maintainer thường phản hồi trong vòng 1 ngày