rfd icon indicating copy to clipboard operation
rfd copied to clipboard

the trait bound `FileDialog: AsyncFilePickerDialogImpl` is not satisfied

Open cxgreat2014 opened this issue 3 years ago • 3 comments

error[E0277]: the trait bound FileDialog: AsyncFilePickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:205:52 | 205 | AsyncFilePickerDialogImpl::pick_file_async(self.file_dialog) | ------------------------------------------ ^^^^^^^^^^^^^^^^ the trait AsyncFilePickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: AsyncFilePickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:210:53 | 210 | AsyncFilePickerDialogImpl::pick_files_async(self.file_dialog) | ------------------------------------------- ^^^^^^^^^^^^^^^^ the trait AsyncFilePickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: AsyncFolderPickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:218:56 | 218 | AsyncFolderPickerDialogImpl::pick_folder_async(self.file_dialog) | ---------------------------------------------- ^^^^^^^^^^^^^^^^ the trait AsyncFolderPickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: AsyncFileSaveDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:241:50 | 241 | AsyncFileSaveDialogImpl::save_file_async(self.file_dialog) | ---------------------------------------- ^^^^^^^^^^^^^^^^ the trait AsyncFileSaveDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: FilePickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:98:41 | 98 | FilePickerDialogImpl::pick_file(self) | ------------------------------- ^^^^ the trait FilePickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: FilePickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:103:42 | 103 | FilePickerDialogImpl::pick_files(self) | -------------------------------- ^^^^ the trait FilePickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: FolderPickerDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:108:45 | 108 | FolderPickerDialogImpl::pick_folder(self) | ----------------------------------- ^^^^ the trait FolderPickerDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

error[E0277]: the trait bound FileDialog: FileSaveDialogImpl is not satisfied --> /data/data/com.termux/files/home/.cargo/registry/src/github.com-1ecc6299db9ec823/rfd-0.7.0/src/file_dialog.rs:127:39 | 127 | FileSaveDialogImpl::save_file(self) | ----------------------------- ^^^^ the trait FileSaveDialogImpl is not implemented for FileDialog | | | required by a bound introduced by this call

For more information about this error, try rustc --explain E0277. error: could not compile rfd due to 8 previous errors warning: build failed, waiting for other jobs to finish... error: failed to compile cargo-ui v0.3.1, intermediate artifacts can be found at /data/data/com.termux/files/usr/tmp/cargo-installEOnLnG

Caused by: build failed

cxgreat2014 avatar May 07 '22 19:05 cxgreat2014

  1. use an android device
  2. download termux
  3. pkg install rust openssl
  4. cargo install cargo-ui
  5. build failed

cxgreat2014 avatar May 07 '22 19:05 cxgreat2014

I'm not sure what should be expected behavior in this case, should we panic at runtime instead? Failing at compile time is a clear indication to the dev that RFD will not work on that compilation target. But the compile error should be improved, it should fail on RFD call not on the whole crate, so users can just add cfg to the line that calls RFD. Or maybe I'm wrong, and we should indeed panic at runtime.

PolyMeilex avatar May 07 '22 19:05 PolyMeilex

Failing at compile time is a clear indication to the dev that RFD will not work on that compilation target.

+1

And maybe we can find some way to try to add android support?

cxgreat2014 avatar May 08 '22 04:05 cxgreat2014