prettytable-rs icon indicating copy to clipboard operation
prettytable-rs copied to clipboard

Update CSV dependency and remove is_terminal

Open loewenheim opened this issue 2 years ago • 5 comments

The is_terminal documentation says

As of Rust 1.70, most users should use the IsTerminal trait in the Rust standard library instead of this crate.

loewenheim avatar Oct 16 '23 13:10 loewenheim

@phsym, could you please take a look at this PR? It seems to be minimalistic and it has a significant improvement of removing the (now-) redundant dependency.

JarvisCraft avatar Nov 21 '23 16:11 JarvisCraft

@loewenheim, it seems like you should also update the lock field in the child fuzz directory.

JarvisCraft avatar Nov 21 '23 16:11 JarvisCraft

This would raise MSRV too much.

pinkforest avatar Nov 21 '23 19:11 pinkforest

Ah this had two changes and I didn't mean to close this - Also I guess we can bump MSRV in a year but not now.

Can we make this only csv crate bump PR ? Did csv bump also bump MSRV ? Have to check.

pinkforest avatar Nov 21 '23 20:11 pinkforest

csv has its MSRV explicitly set to 1.61.

As for the is-terminal removal (which is my personal focus), the std feature has been stabilized in 1.70. If supporting pre-1.70 versions is a requirement for now, it may be an option to make the implementation feature-toggleable (I would prefer opt-in so that std is the default, and fallback implementation should be explicitly enabled): this way it would be possible to support older targets, while not forcing is-terminal and it's dependency tree on fresh targets. Tell me of you prefer this approach, in which case I will open a separate PR for this.

Actually, my personal view here is that such low MSRV is not actually needed here, considering that the crate seems to be primarily used with binary crates, but since it's your policy, it's just my user-based opinion on this :)

JarvisCraft avatar Nov 21 '23 20:11 JarvisCraft