aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2017-08-18 09:35:28 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2017-08-18 09:46:22 +0200
commitdbf6bd6ea05f7d4836083747c6357c6fee907ab8 (patch)
tree524896ae150b1aba01853834bee0c863ac812694
parent4afb5aa9e173991548be3627c6df258368d95ff3 (diff)
parentd1e6f91f85ba81394297ba72271226ece7047303 (diff)
Merge #11071: Use static_assert(…, …) (C++11) instead of assert(…) where appropriate
d1e6f91 Prefer compile-time checking over run-time checking (practicalswift) Pull request description: Use `static_assert(…, …)` instead of `assert(…)` where appropriate. Tree-SHA512: 63b6e50916bcef2195a73f93476bd69657ed9a8eea0bc4382933f478a6df639632c23c076df401fea648142adcb308bb2e6be35cc3dabca30daf7649b790f436
-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;
}
};