What changes to WIT are "compatible" and which are not?

Đang mở
#335 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
50/100
Loại issue
Tài liệu
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
wasm
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu bằng cách xem xét các kịch bản tương thích WIT được liệt kê trong issue và hướng dẫn Protobuf “Updating a Message Type” được liên kết. Ghi lại liệu từng thay đổi trong sáu thay đổi có tương thích theo các hướng old-host/new-guest và new-host/old-guest hay không, bao gồm các điều kiện và giới hạn liên quan.

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

Mô tả

Suppose I have a WIT definition, and some old WebAssembly components built/defined using the old definition, and then I want to make a change to my interface without requiring the component to be modified or rebuilt. Or perhaps I want to do the same in the reverse direction—make a change to my WASM component that remains backward-compatible with a host using an older WIT.

What changes to the WIT could be considered "compatible", if any, and which are not?

In essence, I'm looking for guidance similar to what Protobuf offers in their Updating a Message Type documentation.

A few example questions/scenarios I can think of: are the following compatible in one or both directions (old host/new guest vs. new guest/old host)?

  1. Removing an argument to a function
  2. Adding a new optional argument to a function
  3. Adding a new optional field to a struct
  4. Removing a field from a struct
  5. Adding a new case to a variant
  6. Removing a case from a variant
Ngôn ngữ chính
Rust
Star
137
Fork
88
Merge trung bình
10 giờ 38 phút
Pull request đã merge (30 ngày)
2

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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 bytecodealliance/component-docs

Tất cả issue của bytecodealliance/component-docs

Issue tương tự

Thêm issue về Rust

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.