plotters icon indicating copy to clipboard operation
plotters copied to clipboard

Release v0.3.2 raises MSRV without raising minor version

Open psychon opened this issue 3 years ago • 1 comments

Basically: This is #140 again.

According to git history, commit https://github.com/plotters-rs/plotters/commit/993d9a0f893b1227ea4379967533ecf64de38f14 raised the MSRV and was released in v0.3.2.

v0.3.1 still had edition="2018" according to https://github.com/plotters-rs/plotters/blob/v0.3.1/Cargo.toml#L5

CC https://github.com/psychon/x11rb/issues/739

psychon avatar Jul 25 '22 15:07 psychon

This is also an issue for rustls: https://github.com/rustls/rustls/pull/1082.

djc avatar Aug 01 '22 08:08 djc

Hi there, thanks for point this out. I've made a new release that change the edition requirement back to 2018, and yanked the broken v0.3.2.

Please let me know if this fix the issue.

Thanks again, Hao

38 avatar Aug 19 '22 07:08 38

I just restarted the build where this issue originally occurred via the GitHub UI. The result is quite inconclusive. It didn't even get to trying to built plotters and then already ran into the same problem with serde_derive-1.0.143. That's tracked in https://github.com/serde-rs/serde/issues/2255.

So... Sorry, I cannot really answer the question. Perhaps some of the other people that linked to this issue can do better?

psychon avatar Aug 19 '22 14:08 psychon

I just restarted the build where this issue originally occurred via the GitHub UI. The result is quite inconclusive. It didn't even get to trying to built plotters and then already ran into the same problem with serde_derive-1.0.143. That's tracked in serde-rs/serde#2255.

So... Sorry, I cannot really answer the question. Perhaps some of the other people that linked to this issue can do better?

Oops, I guess there are multiple crate have ran into this problem. But still not sure - but anyway you have pointed out the problem: we cannot bump the version requirement unless we are making breaking change.

I think some people may argue like 1.46 is too old to support - and AFAIK, you merely succeeded in building Rust packages with compiler older than 1.56. I think too many crate maintainers gave up supporting 1.46 currently. I kinda understand why, as this is a 2 years old release now.

But still, I don't want plotters to be a breaker for downstream packages although there may be other dependencies having the same issue.

But as long as the change is quite straightforward, I would like to assume this is fixed unless there's anybody complaint about this in the future.

Thanks!

38 avatar Aug 20 '22 01:08 38

As per https://github.com/serde-rs/serde/issues/2255#issuecomment-1221461416, a new serde release happened. I restarted the failing build again. Again, it did not even try to build plotters, but instead fails for async-task-4.3.0: https://github.com/psychon/x11rb/runs/7936529563?check_suite_focus=true

psychon avatar Aug 21 '22 05:08 psychon

@38

Trying a new build of the http crate using v0.3.3 of the plotters crate still runs into a build error. Testing with Rust 1.49.0, the MSRV for http I get the following compilation error:

error[E0658]: use of unstable library feature 'unsigned_abs'
   --> ...\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.3\src\chart\builder.rs:256:51
    |
256 |         self.label_area_size[pos as usize] = size.unsigned_abs();
    |                                                   ^^^^^^^^^^^^
    |
    = note: see issue #74913 <https://github.com/rust-lang/rust/issues/74913> for more information

   Compiling tinytemplate v1.2.1
error[E0658]: use of unstable library feature 'unsigned_abs'
   --> ...\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.3\src\style\font\font_desc.rs:157:15
    |
157 |         Ok((w.unsigned_abs(), h.unsigned_abs()))
    |               ^^^^^^^^^^^^
    |
    = note: see issue #74913 <https://github.com/rust-lang/rust/issues/74913> for more information

error[E0658]: use of unstable library feature 'unsigned_abs'
   --> ...\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.3\src\style\font\font_desc.rs:157:33
    |
157 |         Ok((w.unsigned_abs(), h.unsigned_abs()))
    |                                 ^^^^^^^^^^^^
    |
    = note: see issue #74913 <https://github.com/rust-lang/rust/issues/74913> for more information

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `plotters`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

The unsigned_abs feature was stabilized in Rust 1.51.0.

This compilation error did not exist in plotters v0.3.1

ridwanabdillahi avatar Aug 22 '22 16:08 ridwanabdillahi