Steve Klabnik
๐ค SpeakerAppearances Over Time
Podcast Appearances
really, like, debuggable, testable, understandable code, as opposed to, as you're saying, Brian, like, kind of this swirly code generation that is also interspersed with formatting.
I mean, that was the tweet, right? Like, I feel like David has done so much stuff in this kind of domain, too, that surely David has found this problem. In fact, I'm going to cast this open to David and to Rain, who's bumped into this. You know, one of the things that I struggle with Rain...
I mean, that was the tweet, right? Like, I feel like David has done so much stuff in this kind of domain, too, that surely David has found this problem. In fact, I'm going to cast this open to David and to Rain, who's bumped into this. You know, one of the things that I struggle with Rain...
is a problem I saw you working on in Dropshot, which is one of the things that Sin, another different totally create, does very nicely is like turning errors in the Rust macro context into code generated errors to help debug and stuff. And one of the things I saw you do in Dropshot was like, collect a pile of errors to then emit all at once.
is a problem I saw you working on in Dropshot, which is one of the things that Sin, another different totally create, does very nicely is like turning errors in the Rust macro context into code generated errors to help debug and stuff. And one of the things I saw you do in Dropshot was like, collect a pile of errors to then emit all at once.
And I'm sort of surprised that there wasn't something you reached for to say, as you encounter problems and errors along the way, accumulate this list so that you're not just failing on the first problem, but actually emitting a bunch of errors for the user to then handle all at once.
And I'm sort of surprised that there wasn't something you reached for to say, as you encounter problems and errors along the way, accumulate this list so that you're not just failing on the first problem, but actually emitting a bunch of errors for the user to then handle all at once.
No, never. Actually, you know what? Rain may have pointed me to this a while ago. But Rain, just to be clear, this is not in macro context. When you say it kind of draws inspiration from Rust C, it's not like it's for if you're processing some other kind of document or whatever and you want to draw on that kind of concept. Okay, cool.
No, never. Actually, you know what? Rain may have pointed me to this a while ago. But Rain, just to be clear, this is not in macro context. When you say it kind of draws inspiration from Rust C, it's not like it's for if you're processing some other kind of document or whatever and you want to draw on that kind of concept. Okay, cool.
This is where Detone tells us to reach under our chairs, and we've all got that crate sitting right there. Exactly, I know.
This is where Detone tells us to reach under our chairs, and we've all got that crate sitting right there. Exactly, I know.
No, I think spot on. Maybe like 50 or 100 or something. But yeah, path to error, we've definitely used. I mean, I'm sure you've seen those JSON errors that are like, yeah, no, I failed to parse. Byte 6015, is that helpful?
No, I think spot on. Maybe like 50 or 100 or something. But yeah, path to error, we've definitely used. I mean, I'm sure you've seen those JSON errors that are like, yeah, no, I failed to parse. Byte 6015, is that helpful?
That's right. In fact, so unhelpful because you're like, maybe I could figure out the 615th byte. Like, that wouldn't be the hardest thing in the world, would it?
That's right. In fact, so unhelpful because you're like, maybe I could figure out the 615th byte. Like, that wouldn't be the hardest thing in the world, would it?
Those are great. What else is on your list, Rainn?
Those are great. What else is on your list, Rainn?
Okay. So rain, while you think of the answer, I would just say, have you ever done this brain? I go to chat GPT and I think like, yeah, surely there is a crate for this. And I describe the crate that I want. And I,