Skip to content

Old version (1.x) of the slog crate can't compile #47781

Closed
@pietroalbini

Description

@pietroalbini

This was caught in crater thanks to shadowsocks (crater log), which uses an old release of slog (1.0). This works fine on stable, but fails on beta and nightly.

   Compiling slog v1.3.2
error[E0277]: the trait bound `*mut core::ops::Fn() + 'static: core::marker::Sync` is not satisfied in `core::fmt::Arguments<'static>`
   --> /home/pietro/.cargo/registry/src/github.com-1ecc6299db9ec823/slog-1.3.2/src/ser.rs:228:6
    |
228 | impl SyncSerialize for fmt::Arguments<'static> {}
    |      ^^^^^^^^^^^^^ `*mut core::ops::Fn() + 'static` cannot be shared between threads safely
    |
    = help: within `core::fmt::Arguments<'static>`, the trait `core::marker::Sync` is not implemented for `*mut core::ops::Fn() + 'static`
    = note: required because it appears within the type `core::marker::PhantomData<*mut core::ops::Fn() + 'static>`
    = note: required because it appears within the type `core::fmt::Void`
    = note: required because it appears within the type `&'static core::fmt::Void`
    = note: required because it appears within the type `core::fmt::ArgumentV1<'static>`
    = note: required because it appears within the type `[core::fmt::ArgumentV1<'static>]`
    = note: required because it appears within the type `&'static [core::fmt::ArgumentV1<'static>]`
    = note: required because it appears within the type `core::fmt::Arguments<'static>`

cc @dpc

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions