Panics _can_ sometimes conceptually share the same implementation as exceptions, but given that their usage is not the same, and the fact that the ecosystem doesn't use panics as exceptions, it's a bit of stretch saying they're "functionally" the same.
A bit like saying trains and chairs are functionally the same since they both can have wheels; when there's the crucial difference that chairs don't go choo-choo.
You put #[non_exhaustive] on a enum in Rust to force users matching on it to handle an "else"/"default" case, so that you can add more variants to this enum in the future without breaking their code.
It doesn't mean that the enum itself is non exhaustive: at any point in time when enum is defined, it defines all of its variants and any other value is still UB.
Not to sound too aggressive, I'm not sure why ada programmers keep being surprised at the hype.
Safety (of all kinds) is not the only selling point of Rust and Zig,
and the fact that Ada also have safety measures doesn't mean that it's instantly an option for me.
For example, I keep seeing people hype about Zig/Rust, for all kinds of reasons;
and the way that they present their arguments is very compelling.
While I've heard of Ada before, AFAICT the only context in which it is brought up is to downplay hype over Rust/Zig;
never as a standalone.
Sounds like a PR problem, mostly.
EDIT: Not to say that there aren't other problems, just saying that this point alone isn't some magic bullet.
I don't like Rust because it gives me memory safety, tons of languages do that.
I love Rust because the tradeoffs it gives me worth the switch, and the overall tooling and ecosystem are very well made.