aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpracticalswift <practicalswift@users.noreply.github.com>2017-08-16 21:22:56 +0200
committerpracticalswift <practicalswift@users.noreply.github.com>2017-08-17 00:42:32 +0200
commitd1e6f91f85ba81394297ba72271226ece7047303 (patch)
tree216f74b95682ab69fe499940a81b2bdbf2b16a27
parent22e301a3d56dc9e6878380ee92c7d19ca43119d2 (diff)
Prefer compile-time checking over run-time checking
-rw-r--r--doc/developer-notes.md1
-rw-r--r--src/arith_uint256.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index 461d7e1dc6..77260bbdfd 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -37,6 +37,7 @@ code.
- **Miscellaneous**
- `++i` is preferred over `i++`.
+ - `static_assert` is preferred over `assert` where possible. Generally; compile-time checking is preferred over run-time checking.
Block style example:
```c++
diff --git a/src/arith_uint256.h b/src/arith_uint256.h
index 6223e4afeb..5fd4fe96cf 100644
--- a/src/arith_uint256.h
+++ b/src/arith_uint256.h
@@ -250,7 +250,7 @@ public:
uint64_t GetLow64() const
{
- assert(WIDTH >= 2);
+ static_assert(WIDTH >= 2, "Assertion WIDTH >= 2 failed (WIDTH = BITS / 32). BITS is a template parameter.");
return pn[0] | (uint64_t)pn[1] << 32;
}
};