aconfig: use bail! and ensure! where applicable
The Android Rust style guide recommends anyhow's bail! and ensure!
macros where possible. Update the code accordingly.
Bug: 279485059
Test: atest aconfig.test
Change-Id: I7db7cc2d8ec15e1d3450657ad000e879adb19e08
diff --git a/tools/aconfig/src/cache.rs b/tools/aconfig/src/cache.rs
index 3ecadc9..7b6edc5 100644
--- a/tools/aconfig/src/cache.rs
+++ b/tools/aconfig/src/cache.rs
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-use anyhow::{anyhow, bail, ensure, Result};
+use anyhow::{bail, ensure, Result};
use serde::{Deserialize, Serialize};
use std::io::{Read, Write};
@@ -69,13 +69,12 @@
source: Source,
declaration: FlagDeclaration,
) -> Result<()> {
- if self.items.iter().any(|item| item.name == declaration.name) {
- return Err(anyhow!(
- "failed to declare flag {} from {}: flag already declared",
- declaration.name,
- source,
- ));
- }
+ ensure!(
+ self.items.iter().all(|item| item.name != declaration.name),
+ "failed to declare flag {} from {}: flag already declared",
+ declaration.name,
+ source
+ );
self.items.push(Item {
namespace: self.namespace.clone(),
name: declaration.name.clone(),