summary refs log tree commit diff stats
path: root/HACKING.md
blob: 3d3b52e921509bef74a9ca8b8bf6e6c475a3908d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Developer notes
===============

This file documents some potentially-unfamiliar patterns contained within this
codebase.

`boolinator`
------------

This crate makes use of `boolinator` in places. Make sure you're familiar with
it.

`bool?` (or close enough)
-------------------------

Rust doesn't have `?` on `bool`. This crate uses an `&& { side_effects; true }`
pattern sometimes. The PEG-like parser uses a `bry!` macro (`try!` for bools).

`proptest`
----------

This crate makes extensive use of proptests, because they are awesome!