Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

createInterface indents a copied type by its source column

Đang mở Phù hợp với người mới
#9,135 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
ocaml
Lĩnh vực
compilers

Hướng nghiên cứu

Bắt đầu tại analysis/src/create_interface.ml, đặc biệt là Source_file_extractor.extract và trường hợp Sig_type của process_signature, nơi issue nêu văn bản được sao chép và cách xử lý thụt lề. Tái hiện vấn đề bằng ví dụ Make được cung cấp và kiểm tra xem một module trên một dòng như module M = {type t = int} có gặp vấn đề tương tự không. Công việc hoàn tất khi các interface được tạo thụt lề các khai báo kiểu được sao chép tại vị trí đầu ra; payload không nêu tên tệp kiểm thử.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

createInterface copies a type declaration from the source with the column it has there as its indentation, instead of the indentation of the place it is printed at.

module Make = (X: {type t}) => {
  type u = X.t
}

generates

module Make: (
  X: {
                   type t
  },
) =>
{
  type u = X.t
}

type t is at column 19 in the source. Source_file_extractor.extract (analysis/src/create_interface.ml) prefixes the first line of the copied text with col_start spaces, and the Sig_type case of process_signature adds that text without its indent. A type in a module written on one line, such as module M = {type t = int}, is likely affected the same way.

Ngôn ngữ chính
OCaml
Star
7.5k
Fork
484
Merge trung bình
21 giờ 9 phút
Pull request đã merge (30 ngày)
255

Chuẩn bị môi trường

Mở trong Codespaces

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.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của rescript-lang/rescript

Tất cả issue của rescript-lang/rescript

Issue tương tự

Thêm issue về Compilers

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.