Make generics sharing the default for non-optimized builds.

This commit is contained in:
Michael Woerister
2018-03-06 11:56:01 +01:00
parent 4f6d05dc48
commit 8d95c86974
+13 -3
View File
@@ -14,7 +14,7 @@
use dep_graph::{DepNode, DepConstructor};
use errors::DiagnosticBuilder;
use session::Session;
use session::config::{BorrowckMode, OutputFilenames};
use session::config::{BorrowckMode, OutputFilenames, OptLevel};
use middle;
use hir::{TraitCandidate, HirId, ItemLocalId};
use hir::def::{Def, Export};
@@ -1503,8 +1503,18 @@ pub fn emit_end_regions(self) -> bool {
#[inline]
pub fn share_generics(self) -> bool {
match self.sess.opts.debugging_opts.share_generics {
Some(true) => true,
Some(false) | None => false,
Some(setting) => setting,
None => {
self.sess.opts.incremental.is_some() ||
match self.sess.opts.optimize {
OptLevel::No |
OptLevel::Less |
OptLevel::Size |
OptLevel::SizeMin => true,
OptLevel::Default |
OptLevel::Aggressive => false,
}
}
}
}
}