Merge "Deny rust warnings by default."
diff --git a/rust/compiler.go b/rust/compiler.go
index f45744b..6c603df 100644
--- a/rust/compiler.go
+++ b/rust/compiler.go
@@ -25,7 +25,8 @@
func NewBaseCompiler(dir, dir64 string) *baseCompiler {
return &baseCompiler{
Properties: BaseCompilerProperties{
- Edition: &config.DefaultEdition,
+ Edition: &config.DefaultEdition,
+ Deny_warnings: config.DefaultDenyWarnings,
},
dir: dir,
dir64: dir64,
@@ -33,6 +34,9 @@
}
type BaseCompilerProperties struct {
+ // whether to pass "-D warnings" to rustc. Defaults to true.
+ Deny_warnings *bool
+
// flags to pass to rustc
Flags []string `android:"path,arch_variant"`
@@ -109,6 +113,9 @@
func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flags {
+ if Bool(compiler.Properties.Deny_warnings) {
+ flags.RustFlags = append(flags.RustFlags, "-D warnings")
+ }
flags.RustFlags = append(flags.RustFlags, compiler.Properties.Flags...)
flags.RustFlags = append(flags.RustFlags, compiler.featuresToFlags(compiler.Properties.Features)...)
flags.RustFlags = append(flags.RustFlags, "--edition="+*compiler.Properties.Edition)
diff --git a/rust/config/global.go b/rust/config/global.go
index cec5a74..c66c3c1 100644
--- a/rust/config/global.go
+++ b/rust/config/global.go
@@ -17,6 +17,8 @@
import (
"strings"
+ "github.com/google/blueprint/proptools"
+
"android/soong/android"
_ "android/soong/cc/config"
)
@@ -33,6 +35,8 @@
"libtest",
}
+ DefaultDenyWarnings = proptools.BoolPtr(true)
+
deviceGlobalRustFlags = []string{}
deviceGlobalLinkFlags = []string{