Steve Klabnik
๐ค SpeakerAppearances Over Time
Podcast Appearances
I'm going to name another mainstream crate that everyone knows about, and it is a D12 crate, but I am going to give a particular shout-out in it, which is SYN, S-Y-N, the syntactic partial crate. Now, the shout-out I'm going to give in it is that, like, the more you can do things like every sin has thought of more things than you think of. Like, so for example, I've had a path. I'm like, Oh, okay.
I want, if the path is exactly of length one, and if it matches the string, then do a thing. There's a built in for that. If you ever find yourself dealing with a function or a structure that has a bunch of generic parameters, there's a function that splits it up in exactly the way that you want for doing a derived macro. So this is only to say spending a...
I want, if the path is exactly of length one, and if it matches the string, then do a thing. There's a built in for that. If you ever find yourself dealing with a function or a structure that has a bunch of generic parameters, there's a function that splits it up in exactly the way that you want for doing a derived macro. So this is only to say spending a...
quiet time in the tub or whatever, like reading the docs for Sin is time well spent. And there's like lots of stuff built in there that anticipates the things that you think you might need to build by yourself.
quiet time in the tub or whatever, like reading the docs for Sin is time well spent. And there's like lots of stuff built in there that anticipates the things that you think you might need to build by yourself.
Do you, do we say hash or, or, or pound? I think I say pound. Yeah.
Do you, do we say hash or, or, or pound? I think I say pound. Yeah.
I have a shout-out for a crate that's sitting in a sea of undifferentiated crates, more so. That is to say, if you're searching for, I want the dwarf parser, you're going to find it. I really like HTTP mock. There are a bunch of HTTP mocking crates out there. And in fact, I think in our OpenCron repo, we use all of them by accident. But HTTP mock is the one that I really enjoy the most.
I have a shout-out for a crate that's sitting in a sea of undifferentiated crates, more so. That is to say, if you're searching for, I want the dwarf parser, you're going to find it. I really like HTTP mock. There are a bunch of HTTP mocking crates out there. And in fact, I think in our OpenCron repo, we use all of them by accident. But HTTP mock is the one that I really enjoy the most.
And in particular, it gives you a little closure. with a structure called when, and then another structure called then. And then you do kind of manipulation on when to define the kind of predicates of when you want the response returned. And then the then is the actions taken as a result of the HTTP query. I really like it. I really like the way
And in particular, it gives you a little closure. with a structure called when, and then another structure called then. And then you do kind of manipulation on when to define the kind of predicates of when you want the response returned. And then the then is the actions taken as a result of the HTTP query. I really like it. I really like the way
It, you know, I think that there are some crates that kind of like vomit their guts out. And this is one where it really presents a nice user experience, a nice user interface. And there's a bunch of complexity underpinning it that allows for that nice interface. And I really enjoy that one. It's my favorite HTTP mocking crate, if that doesn't make me the world's biggest dork.
It, you know, I think that there are some crates that kind of like vomit their guts out. And this is one where it really presents a nice user experience, a nice user interface. And there's a bunch of complexity underpinning it that allows for that nice interface. And I really enjoy that one. It's my favorite HTTP mocking crate, if that doesn't make me the world's biggest dork.
Yeah, interesting. So what have you used this for? So we use it in the... So I wrote the progenitor CLI generator, and I wanted to have end-to-end validation of running CLI commands. The CLI is built in CLAP as well. So I wanted to do that, but not against a real... you know, oxide server. So we actually auto generate additional traits for HTTP mock.
Yeah, interesting. So what have you used this for? So we use it in the... So I wrote the progenitor CLI generator, and I wanted to have end-to-end validation of running CLI commands. The CLI is built in CLAP as well. So I wanted to do that, but not against a real... you know, oxide server. So we actually auto generate additional traits for HTTP mock.
So then you can make type checked, um, mocks against our API. So like the, the CLI is banging against this mock server to validate all the different, you know, CLI sub commands that we, that we emit or that we create.
So then you can make type checked, um, mocks against our API. So like the, the CLI is banging against this mock server to validate all the different, you know, CLI sub commands that we, that we emit or that we create.
Yeah, it's just a nice interface. I just really appreciate the way that it operates. There's some limitations. I think there are other mocking crates where you have maybe more flexibility or you just get a generic function where you can respond with whatever you want. I think the constraints associated with this allow you to build something that's a little more type-safe.
Yeah, it's just a nice interface. I just really appreciate the way that it operates. There's some limitations. I think there are other mocking crates where you have maybe more flexibility or you just get a generic function where you can respond with whatever you want. I think the constraints associated with this allow you to build something that's a little more type-safe.