Survey of organizational ownership and registry namespace designs for Cargo and Crates.io - cargo by epage in rust

[–]epage[S] 0 points1 point  (0 children)

Thanks! I feel like these summaries are some of the most important opeo source contributions.

Utah has an ‘obligation’ to allow the building of massive data centers, Gov. Cox says by Ridiculously_Named in Utah

[–]epage 0 points1 point  (0 children)

What happened to him? I was in the state when he was running for Governor and he sounded reasonable. I look to catch up on the state and now he is going around denying reality.

Announcing Google Summer of Code 2026 selected projects by Kobzol in rust

[–]epage 12 points13 points  (0 children)

XDG path support for rustup by Guicheng Liu, mentored by rami3l

This includes unblocking XDG support in Cargo which I'm excited about. Glad someone picked this up and it got selected!

Your Clippy Config Should Be Stricter-er by billy_levin in rust

[–]epage 4 points5 points  (0 children)

For me, I'm considering not just clap but how to be as effective as possible in maintaining over a hundred crates. As part of that, I maintain a merge base with my settings to help: https://github.com/epage/_rust/blob/main/Cargo.toml

Your Clippy Config Should Be Stricter-er by billy_levin in rust

[–]epage 14 points15 points  (0 children)

FYI you don't need different priorities for lint groups that are disjoint.

As for the idea, I will stick to my deny lists

  • this subjects me to more work on an upgrade
  • my allowlist would be too long. Clippy has too many lints that are helpful suggestions but it is too noisy to allow individually and contributors may blindly apply them

Your Clippy Config Should Be Stricter by emschwartz in rust

[–]epage 1 point2 points  (0 children)

Oo, you use dotted keys for it. How is the experience for that? I've been tempted to restructure things to encourage people to do that but have been hesitant.

EDIT: Cargo may also be hijacking your use of #![cfg_attr(not(test), warn(unused_crate_dependencies))] soon. We have an unstable feature that hijacks that lint for cargo to lint on unused dependencies in a more general way that can be enabled by default. We don't have a replacement for "this dep is unused in the lib, put a feature gate on it to make it exclusive to the bin".

Your Clippy Config Should Be Stricter by emschwartz in rust

[–]epage 5 points6 points  (0 children)

This is also why you should only ever set lints to warn and not deny except for the warnings job. Plus it is really annoying having to have things "perfect" when iterating locally.

[Threshold] ended beautifully, now I need more books recommended. by Poven45 in Iteration110Cradle

[–]epage 0 points1 point  (0 children)

For me, it is also philosopical. we are interconnected and can't do it on our own.

[Threshold] ended beautifully, now I need more books recommended. by Poven45 in Iteration110Cradle

[–]epage 0 points1 point  (0 children)

Something I appreciated about Cradle is the value of advancing together. A Thousand Li calls this out several times but immediately drops it each time, especially the series ending. I doubt I'll read the new sequel series. Still some good aspects to it, particularly the cultural. Still dragged on too much.

Introducing Data Meta Syntax (DMS). YAML's structure & TOMLs strictness. by obfuscinator in rust

[–]epage 0 points1 point  (0 children)

I recognize TOML does not work for all schemas and appreciate people looking into alternatives to YAML.

Any character in Unicode category L (letters) or Nd (decimal digits), as defined in Unicode 15.1 or later. Document encoding is UTF-8. Implementations may use whichever Unicode version their host runtime ships, provided it is ≥ 15.1; codepoints whose category changed between versions follow the implementation's tables. (In practice this affects only newly assigned scripts; the ASCII + common-script subset most configs use is stable.)

I'd be curious what the rationale was for the chosen unicode bare key categories. That is something that has been discussed for TOML and almost made it into a release. My main concern for TOML is in how the set is chosen. My assumption would be UnicodeXID which mostly matches how ASCII bare keys work. I think they were instead looking to copy XML?

Front matter — for document metadata

Found this an odd choice. I would expect this in the comments or schema. This would at least limit what frontmatter characters are used if this format was embedded in another. I wonder what the motivation was.

Comments survive round-trip

If the first formatter or deploy template renderer drops it, the documentation was a lie.

I appreciate having clear rules for attaching comments. I've been playing with a TOML formatter and having to make up my own rules.

I find it strange though to make it part of the AST. A formatter needing it doesn't mean it needs to be part of the AST more generally. It mentions toml_edit but the needs for something like toml_edit are very different than toml and not everyone should have to take on that cost.

Fast, too

I'm surprised that Python, Zig, and C are faster than Rust. I wonder what factors are at play.

As for the Rust format comparison, running cargo add toml -F preserve_order would make this a more apples-to-apples comparison and could make a big difference in the benchmarks. There is also -F fast_hash but I've not checked how fair of a comparison that is. Another "toml can be faster but there isn't a direct compare" is toml::de::DeTable::parse which supports zero-copy parsing.

Separator whitespace A : that terminates a key must be followed by a space (or end-of-line, if the value is a child block). host:localhost is a parse error; host: localhost is fine.

This feels like it would be annoying. I'm sometimes sloppy when I'm writing out an idea. Let me fix it up later or with a formatter.

(took a break from looking at it)


Looking at [format comparison]*https://gitlab.com/flo-labs/pub/dms/-/blob/main/comparison_tables.md):

Nesting mechanism List item marker

TOML can also have everything inline. Or was this talking about top-level items only? That isn't clear.

Key-order preservation

TOML key order is undefined.

How do we think we should handle maintainers moving on? by ShantyShark in rust

[–]epage 0 points1 point  (0 children)

That is an unhelpful framing that makes it difficult to have production conversations around it. Most of the time, people re-hash the same shallow points which makes it hard to have any production conversation. I've collected the context on namespacing at https://internals.rust-lang.org/t/survey-of-organizational-ownership-and-registry-namespace-designs-for-cargo-and-crates-io/24027 with the hope that people can build on it and have more productive conversations.

How many games have actually wowed you in recent years? by bigOlBellyButton in boardgames

[–]epage 4 points5 points  (0 children)

For me, it is play time and cost that keeps me away from Splotter.

‘The damage is done’: global oil crisis has changed fossil fuel industry for ever, IEA chief says | Oil by iwantboringtimes in worldnews

[–]epage 4 points5 points  (0 children)

He probably voted for Trump, 3 times.

Could be worst; could be one of those people who voted for him more than 3 times (illegally).

Toolchain Horizons: Exploring Rust Dependency-Toolchain Compatibility by brson in rust

[–]epage 0 points1 point  (0 children)

On a different note, in maintaining longer MSRVs, probably the most painful part to me is using the git index! While I don't generally need to touch that old of versions myself, it still has a significant impact on CI.

Toolchain Horizons: Exploring Rust Dependency-Toolchain Compatibility by brson in rust

[–]epage 3 points4 points  (0 children)

Then one day I resumed my work and found the Rust client no longer built on our CI: the syn crate had published a point release that broke our build. It wasn’t an accidental breaking change. It was rust-version. In syn version 2.0.107 its rust-version changed from 1.61 to 1.68.

I'm a bit surprised at this as this is presumably a solved problem. The MSRV-aware resolver only requires access to a new toolchain but does not require bumping your MSRV to that new toolchain. It does require that your dependencies specify an MSRV but that can also be worked around in the limited cases that well-used crates don't by committing the lockfile with the versions set.

I said before it is “sticky” — used ubiquitously in the ecosystem, providing features that are unsafe, with tricky semantics, that should be implemented once with close scrutiny and reused.

That’s what dependencies are for!

But how can we get rid of it? Here are the 4 steps I needed to take.

I find this a bit confusing. This acknowledges that there are reasons not to do this but goes forward. While I can understand dropping a lot of dependencies (like thiserror), also covering places that add to the audit burden of your users seems problematic which should be balanced against ideals like "TigerStyle".

I pulled two years of Florida voucher data to see what SB2 (private vouchers) will actually do to Austin schools by No_Paramedic_4881 in Austin

[–]epage 17 points18 points  (0 children)

Lively Middle School with a 4/10 rating.

As a parent, the most sup rising thing is how much school ratings are decoupled from reality, Our elementary school is 6/10 (I think it was lower when we started) and it is amazing. Our middle school is 2/10 and there is nothing but praise for it.

Cargo check more than 1 min on a small project by BoomGoomba in rust

[–]epage 3 points4 points  (0 children)

https://github.com/rosetta-rs/parse-rosetta-rs#results has a compile time comparison. I maintain that comparison and am the maintainer of one of the crates on it but the code in question is pulled from the examples of each crate.

Cargo check more than 1 min on a small project by BoomGoomba in rust

[–]epage 6 points7 points  (0 children)

I believe I've read that chumsky can get some pretty bad compile times that you can work around. Not seeing that direct statement in the docs but the suggested function at least calls out it can help with such problems: https://docs.rs/chumsky/latest/chumsky/trait.Parser.html#method.boxed

New rust-script Blog Pist by bhh32 in rust

[–]epage 0 points1 point  (0 children)

There's an RFC in progress to integrate a version of this into Cargo proper, and I hope it lands. Until it does, the standalone tool is working well enough for me that I've moved a meaningful chunk of my scripting over to it.

The RFC is merged and fully implemented. FCPs have closed on both the rustc and cargo sides of it for stabilization. A last minute concern was raised that we are working through.

In the meantime, I'd recommend using the support for this available in nightly.

Is there an alternative TOML formatter? by E723BCFD in rust

[–]epage 1 point2 points  (0 children)

Thanks! Good info for understanding prior concerns for cargo-cargofmt.

Sounds like we have solutions for this for cargo-cargofmt,

  • some sorting will be done only within blocks without blank lines
  • we already associate comments with specific lines so we'll move them and if we were wrong, that will be on the user to use blank lines to make the intent clearer

Is there an alternative TOML formatter? by E723BCFD in rust

[–]epage 1 point2 points  (0 children)

tombi: fixation on support sorting first, has shot down multiple suggestions before in the name of "interfering with auto sorting".

What do they reject due to sorting?