Change features default behavior in Env (RIPD-1460):

Enable all supported amendments in Env by default. Rename `features()`
to `with_features()` and add `all_features_except()` to support feature
subsets in Env. Refactor internal feature handling based on a bitset.
This commit is contained in:
Mike Ellery
2017-05-01 16:03:44 -07:00
committed by seelabs
parent 3dfb4a13f1
commit 56946e8128
36 changed files with 749 additions and 367 deletions

View File

@@ -534,7 +534,13 @@ void Config::loadFromString (std::string const& fileContents)
{
auto const part = section("features");
for(auto const& s : part.values())
features.insert(feature(s));
{
if (auto const f = getRegisteredFeature(s))
features.insert(*f);
else
Throw<std::runtime_error>(
"Unknown feature: " + s + " in config file.");
}
}
}