iced doesn’t support accessibility at all https://github.com/iced-rs/iced/issues/552
slint has some support, but it’s a lot weaker than gtk https://github.com/slint-ui/slint/issues?q=is%3Aissue+is%3Aopen+label%3Aa%3Aaccessibility
p.s. I’m also curious if you have any actual evidence that these two are more reliable than gtk. It’s reasonable to think they might be, but I’d like something more than “they’re written in Rust and have fewer features.”
p.p.s. How many Firefox Linux users even use the Mozilla crash reporter? I know on Fedora, if I crash Firefox, I get the Fedora crash reporter, not Mozilla’s. (edit: apparently they stopped doing that years ago; “Another good example comes from Fedora: they had been using their own crash reporting system (ABRT) to catch Firefox crashes in their Firefox builds, but given the improvements on our side they started sending Firefox crashes our way instead.”)
The warning is in the wrong place, but it’s real.
The actual problem is on line 5, where you have a type alias that doesn’t use the lifetime parameter. The warning ought to be there, but rustc expands type aliases in place, so it doesn’t check there.
The compiler should be able to fix it by not expanding type aliases directly in place. https://github.com/rust-lang/rust/issues/112792
An interesting point on the TOML configuration file format. You don’t have to abandon the nested structure to get the readable, repeated style. There two TOML sections are the same thing:
[workspace]
git_release.enable = true
git_release.draft = false
[workspace.git_release]
enable = true
draft = false
Tail latency and memory usage?
It’s hard for me to come up with any other big advantages that Rust has and C# couldn’t easily lift.
It’s nice to see how this blog post not only lists features, but also lists what the limitations of the approach are, and how to turn it off if it’s not suitable for your program. No magic bullet, after all, but good enough for most use cases.
I know they call it a requirement, but it has the phrase “as little as possible.” If that were taken as broadly as it could be, it would not be written in Rust or C++, since, after all, there might be a standard library problem that takes Firefox and the crash reporter both down.
The stated requirement is “don’t use Firefox’s code.” GTK is not Firefox’s code, and the code paths exercised by Firefox are going to be different than the ones exercised by this crash reporter. Besides, a lot of people use GNOME, XFCE, or LXDE: if GTK as a whole is borked, then you wouldn’t even be able to start Firefox under these environments, much less crash it.
Also, they list other requirements, not just that one (it’s not a requirement if it uses words like “minimal,” because there’s no definite test to see if you’ve met the requirement or not; these are all desirables).
They downplay it in this list, but I’m pretty sure a11y is the biggest non-negotiable requirement, so Iced is out of the picture.
Slint, on the other hand, is not a small library at all, and it only has full functionality if it pulls in Qt. There might not be a clear-cut, definite criteria for “minimize the use of external code,” but pulling in Qt definitely doesn’t count.