Thật không may, tài liệu của Rust liên quan đến where
là rất thiếu. Từ khóa chỉ xuất hiện trong một hoặc hai ví dụ không có liên quan trong tham chiếu.Cú pháp và ngữ nghĩa của từ khóa `where` là gì?
Sự khác biệt ngữ nghĩa nào
where
thực hiện trong mã sau? Có sự khác biệt nào không? Biểu mẫu nào được ưu tiên hơn?fn double_a<T>(a:T) -> T where T:std::num::Int { a+a } fn double_b<T: std::num::Int>(a:T) -> T { a+a }
Trong việc thực hiện các đặc điểm CharEq, có vẻ như
where
đang được sử dụng như một số loại "chọn" để thực hiện Trait cho bất cứ điều gì phù hợp với một số loại đóng cửa. Tôi có đúng không?
Có cách nào để có được bức ảnh đẹp hơn, đầy đủ hơn về where
không? (đầy đủ đặc điểm kỹ thuật về cách sử dụng và cú pháp)
cũng là lý do cả hai giới hạn đặc điểm và nơi điều khoản tồn tại là nikomatsakis "đã quyết định chống lại điều này cả hai để tránh phá vỡ rất nhiều mã hiện có và vì cú pháp hiện tại thuận tiện nhiều trong thời gian. " Phần thứ hai xung đột với "thường được ưa thích", bạn có bất kỳ nguồn nào trên kiểu tùy chọn/mã hóa đó không? –
Nguồn ... Không, tôi không. Tôi chủ yếu cho rằng nó nhìn thấy những mệnh đề được sử dụng khá nhiều ở mọi nơi tôi nhìn. – Levans
Tôi nhận thấy điều tương tự, cảm ơn :) –