Skip to content

Maybe allow rust_proc_macro rules to write files to OUT_DIR #3884

@adsnaider

Description

@adsnaider

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: HKalbasi/zngur#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" }

...

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageThe ticket needs maintainer attention.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions