bazelbuild / bazelbuild/rules_rust

Maybe allow rust_proc_macro rules to write files to OUT_DIR

Open
#3,884 4 comments 0 reactions 0 assignees View on GitHub
awaiting-response needs-design
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.