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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions