Create directory if not exists, and return `Dir`
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- rust
- Lĩnh vực
- operating-systems, security
Hướng nghiên cứu
Bắt đầu bằng cách xem xét các API hiện có Dir::create_dir, Dir::open_dir và các API tạo thư mục liên quan. Kiểm tra cách dự án xử lý OpenOptions, các thư mục hiện có và những vấn đề TOCTOU có thể xảy ra. Kết quả cần là một API đã được xem xét, có thể tạo hoặc mở thư mục, hỗ trợ các tùy chọn được yêu cầu và trả về Dir cùng với các bài kiểm thử phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is there a simple way to create a directory if it does not yet exist and to return the Dir?
Something along the lines of:
async fn create_dir(parent: &Dir, path: &str) -> anyhow::Result<Dir> {
match parent.create_dir(path) {
Ok(_) => {}
Err(e) => match e.kind() {
std::io::ErrorKind::AlreadyExists => {}
_ => {
Err(e)?;
}
},
}
Ok(parent.open_dir(path).await?) // could maybe be a TOCTOU?
}
I couldn't find a create_dir_with that would allow specifying e.g. OpenOptions, and all the create_dir functions don't return the Dir itself.
If not, would the project be open to contributions on this?
- Ngôn ngữ chính
- Rust
- Star
- 821
- Fork
- 59
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
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 bytecodealliance/cap-std
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
bytecodealliance/cap-std#427 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
bytecodealliance/cap-std#416 · 2 bình luận ·
-
Archiving cap-std Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
bytecodealliance/cap-std#426 · 2 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
bytecodealliance/cap-std#423 · 5 bình luận ·
-
Replace cap-async-std Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
bytecodealliance/cap-std#408 · 4 bình luận · 2 reaction ·
Tất cả issue của bytecodealliance/cap-std
Issue tương tự
-
bug github_actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
registrystack/registry-stack#1393 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
rocky-data/rocky#2181 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Đang mởbot:ai-assisted component:indexer QA-roadmap status:untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
midnightntwrk/midnight-indexer#1557 ·