bazelbuild / bazelbuild/rules_rust
Maybe allow rust_proc_macro rules to write files to OUT_DIR
- Dominant language
- Starlark
- Stars
- 843
- Forks
- 651
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 15
Description
I don't know if this is a good idea but `cargo` doesn't stop a proc-macro author from writing to `OUT_DIR`, however, bazel does error if a file is written to OUT_DIR. I don't think it's a good idea to let proc-macro authors write to `OUT_DIR` but it's already the case that some crates do so.
The original request comes from this bug: https://github.com/HKalbasi/zngur/issues/100. We transitively use `sailfish` which does some internal caching by writing compiled outputs to `OUT_DIR`.
This is the error
```
error: proc-macro derive panicked
--> external/rules_rust++crate+crates_std__zngur-generator-0.8.0/src/template.rs:45:10
|
45 | #[derive(Template)]
| ^^^^^^^^
|
= help: message: called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
error: proc-macro derive panicked
--> external/rules_rust++crate+crates_std__zngur-generator-0.8.0/src/template.rs:97:10
|
97 | #[derive(Template)]
| ^^^^^^^^
|
= help: message: called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
...
```
Contributor guide
Assessment
This issue has not been assessed yet.