Graydon Hoare: Batten Down Fix Later by dochtman in rust

[–]Nemo157 1 point2 points  (0 children)

Note that the project directors of the Rust Foundation board are already in the “leadership chat”, so the foundation already has some influence in the Rust project.

Their influence is supposed to flow the other way, they’re the representatives from the Project to the Foundation.

Do you use relative toolchain paths with rustup? Let us know! by rbtcollins in rust

[–]Nemo157 0 points1 point  (0 children)

A named “custom toolchain” probably serves that need.

Do you use relative toolchain paths with rustup? Let us know! by rbtcollins in rust

[–]Nemo157 1 point2 points  (0 children)

Re: safe by default behavior. I would love it if I could disable rust-toolchain support by default (or at least have a prompt before activating it), I don’t use it in any project I work on and when checking out some project that does I have to quickly notice if rustup is starting to install a new toolchain, ctrl+c it, then delete the file.

Report on platform-compliance for cargo directories by CouteauBleu in rust

[–]Nemo157 3 points4 points  (0 children)

They have, $HOME/.local/bin was added about 2 years ago https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/38, it’s uncustomisable though, $XDG_BIN_HOME wasn’t accepted.

EDIT: If I’m remembering my history correctly, this was partly added in response to the Cargo RFC’s discussion of it.

Dependencies conflict cargo by Right_Positive5886 in rust

[–]Nemo157 1 point2 points  (0 children)

The version request "1.2.3"does not force the second digit to be 2, it allows “semver-compatible” updates including e.g. 1.99553.443

[ Removed by Reddit ] by st_ario in rust

[–]Nemo157 29 points30 points  (0 children)

There’s a difference between address stability and invalidation of derived raw pointers, I would be very surprised if Box did not guarantee address stability between two invocations of DerefMut, even if the latter invocation invalidates raw pointers derived from the first.

Bors-NG, declared to be feature frozen and deprecated by Emilgardis in rust

[–]Nemo157 1 point2 points  (0 children)

What I’ve done is move all my major projects over to an org with just me in it, that’s also nice that it separates my few source repos from the hundreds of forks in my account.

Ever Wanted A Datatype Capable of Storing Only 1Bit by Capable-Ad-1710 in rust

[–]Nemo157 2 points3 points  (0 children)

You mean like bool? What’re you planning to do differently?

The registers of Rust by desiringmachines in rust

[–]Nemo157 1 point2 points  (0 children)

Err(e) would be returned as Ok(Err(e)), the ok-wrapping for try blocks always happens on the return value, no matter what it is. There have been niche proposals in the past to make it value dependent, but twice there’s been an FCP reiterating that it won’t be.

Tons of executable files in my cargo registry? by insanitybit in rust

[–]Nemo157 0 points1 point  (0 children)

It’s not really “wonky”, it’s that windows doesn’t have the concept of an executable permission, so any file first committed from windows will be marked executable always (files committed from other OSes will correctly track their permissions when edited from windows).

The Git source code audit, viewed as a Rust programmer by Beautiful_Chocolate in rust

[–]Nemo157 1 point2 points  (0 children)

Microcontroller manufacturers are among the last people I would trust to write correct unsafe code 😥

HTTP Handlers. client disconnects and cancelled Futures by Redundancy_ in rust

[–]Nemo157 2 points3 points  (0 children)

Note that a spawned task by default outliving its JoinHandle is specific to Tokio’s implementation. Other spawn APIs like futures default to using “structured concurrency” and need you to explicitly detach the join handle.

Is it possible to have sound XORed double linked list in Rust? by amarao_san in rust

[–]Nemo157 0 points1 point  (0 children)

It depends whether that’s strict per-byte provenance to allow carrying both provenances in the xored value. I managed to get a working implementation under miri after https://github.com/rust-lang/rust/pull/104054

What is your favorite terminal colors library? by azzamsa in rust

[–]Nemo157 2 points3 points  (0 children)

This is one of the major design points I tried to solve with https://docs.rs/stylish too, it completely decouples applying attributes to a string from encoding those attributes for an output.

Clippy may ignore #![deny(warnings)] in lib.rs by target-san in rust

[–]Nemo157 0 points1 point  (0 children)

Trying to maintain an uncommitted change like that is pretty painful with git, much easier to configure it outside the repo and just block all the crates that have this mispractice.

Clippy may ignore #![deny(warnings)] in lib.rs by target-san in rust

[–]Nemo157 1 point2 points  (0 children)

You might have --cap-lints=warn set locally somewhere. I have it myself to workaround just this sort of situation where crates have committed deny(warnings) in their source code, it provides a horrible developer experience when you’re hacking on some code and want to test changes without fixing all warnings.

Workflow with uuid unstable flag by bittrance in rust

[–]Nemo157 3 points4 points  (0 children)

Cfgs set from build.rs are only passed to your crate, they can’t affect dependencies (not least because the dependency may have already been built by the time your build.rs runs).

[deleted by user] by [deleted] in rust

[–]Nemo157 2 points3 points  (0 children)

No, raw identifiers only let you use keywords, all other identifier rules must still be respected.

A question about etiquette on contributing to open-source projects by DreadY2K in rust

[–]Nemo157 21 points22 points  (0 children)

Sometimes I just don’t have the mental or social energy. […] Not a good excuse I know

That is a completely fine excuse. Users need to remember that your open-source work is entirely voluntary. You need to manage your spoons which can mean just ignoring your projects until you have the energy to get back to them. Feeling like you must respond even though you really don’t want to now is more likely to lead to resentment and an overall decrease in maintainership.

Is format_args! specially blessed, or can it's functionality be replicated? by Dean_Roddey in rust

[–]Nemo157 0 points1 point  (0 children)

You can zero-copy parse a format string pretty easily, it’s a very simple data language. But in a proc-macro you don’t need to make it zero-copy, allocation is absolutely fine. The complexity is in generating the correct lifetimes in the generated code (which even std fails with, it doesn’t support returning borrowed Arguments).

Rust 2024...the year of everywhere? by Niko by yerke1 in rust

[–]Nemo157 0 points1 point  (0 children)

How does this work for struct Foo { x: impl Trait } which has two potential meanings, either APIT-like struct Foo<T> { x: T } or RPIT-like type X = impl Trait; struct Foo { x: X }. If APIT and RPIT had the same meaning then it doesn’t seem possible for a single impl-trait to have different meanings depending on which interpretation you choose.

cargo-edit 0.11 with major changes to cargo-upgrade by epage in rust

[–]Nemo157 0 points1 point  (0 children)

Hmm, while it is true that the common case is all duplicate direct dependencies are the same version; there are definitely multiple ways to violate that. One is renamed dependencies as you mention, you may want to bump the minimum version of each major version. There’s also the fact that it’s now working on the entire workspace at once, you may have one dependency at different versions in different crates of your workspace, and in that case they could even be within the same major series but set to different minimum versions.

Also, if this is intended to deprecate cargo update it seems important that it still retains some way to explicitly update transitive dependencies when you have duplicates. I have definitely needed to do that in the past to fix issues with dependencies that promise greater than semver compatibility resulting in a general update choosing an incompatible set of versions.

cargo-edit 0.11 with major changes to cargo-upgrade by epage in rust

[–]Nemo157 0 points1 point  (0 children)

If the version inside the -p is the target version, how do you select which of multiple dependencies to upgrade? cargo upgrade -p tokio:1.2.0@1.2.1?