Skip to content

libcnb_newtype! doctest fails with Rust 1.62 #410

Closed
@edmorley

Description

@edmorley

I run Rust beta by default, which is currently at v1.62.

Running cargo test on my machine, libcnb main fails with:

...
failures:

---- src/newtypes.rs - newtypes::libcnb_newtype (line 24) stdout ----
error: cannot find macro `buildpack_id` in this scope
  --> src/newtypes.rs:45:13
   |
23 | let bp_id = buildpack_id!("foo");
   |             ^^^^^^^^^^^^
   |
   = note: consider importing this macro:
           libcnb_data::buildpack_id

error: cannot find macro `libcnb_newtype` in this scope
 --> src/newtypes.rs:25:1
  |
3 | libcnb_newtype!(
  | ^^^^^^^^^^^^^^

error[E0412]: cannot find type `BuildpackId` in this scope
  --> src/newtypes.rs:42:27
   |
20 | let bp_id = "bar".parse::<BuildpackId>().unwrap();
   |                           ^^^^^^^^^^^ not found in this scope
   |
help: consider importing this struct
   |
2  | use libcnb_data::buildpack::BuildpackId;
   |

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0412`.
Couldn't compile the test.

failures:
    src/newtypes.rs - newtypes::libcnb_newtype (line 24)

This appears to be due to the fact that until Rust 1.62, doctests that contain non-exported macro_rules! macros were not tested:
rust-lang/rust#96630

GUS-W-11312457.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions