plotters-rs/plotters

[BUG] DrawingErrorKind is not exported from `plotters`, but it is used in return types on exported types

Closed this issue · 1 comments

ecton commented

Describe the bug

As of plotters 0.3.5, the plotters::backend::DrawingBackend trait provides functions that return DrawingErrorKind. This type is not exported from plotters.

To Reproduce
Try to implement DrawingBackend, realize that you can't without importing another crate (plotters-backend).

Version Information
0.3.5

If the maintainers agree this should be added, I'm happy to send in a quick PR for it. I just didn't want to send in a blind PR without knowing whether the maintainers agree with me.

Update: This also affects the types BackendColor and BackendCoord. Actually, as I'm looking into this more, there's a lot of types on the provided functions too. Is there a reason that DrawingBackend is exported if so many types that are needed to use it require adding the other crate? I'm perfectly fine with integration implementations needing to import another crate, I just initially was surprised that I couldn't find all the types on a publicly exported trait. That's what led to this report.

Thank you for the wonderful crate. Happy with whatever is decided to do with this report.

ecton commented

So, I've now gotten as far as copying a little bit of one of the examples to show off the integration, and as part of replacing BitMapBackend with a generic, I used this trait without the plotters_backend crate. This has connected all the dots for me and now I believe this crate's exports are exactly as they should be.

Sorry for the noise.