Solve the hotel reservations problem the way I would like it, in Rust. Try to be as idiomatic as possible, and consider the answer the main user value to provide. Thus that and only that MUST be tested, anything else is 'extra', like actually testing for a few things the user can run into.
Run make answers
if your rust
installation is at least at v1.26.
If you have no rust
but docker
, run make answers-in-docker
.
In any case, you can run all make
targets using docker via make interactive-developer-environment-in-docker
.
Please be warned that initial compilation takes a while.
- shows correct answers
- fully streaming with minimal state
- strict overflow checking for all computations
- support for profiling
- support for benchmarking
- support for linting
- interactive developer environment in docker
- regex are explicitly not used for parsing, which would remove a few lines of code at the expense of a huge dependency.
- There are plenty of unused fields which are implemented only for completeness. Also I believe they are optimized away to the point where the they are not actually parsed.
The Rust implementation comes in at 213 lines, with a binary sized at 780kb (stripped). It runs the benchmark in 54ms.