Skip to content

Commit a3640bf

Browse files
Make generics sharing the default for non-optimized builds.
1 parent 61cec55 commit a3640bf

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/librustc/ty/context.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use dep_graph::DepGraph;
1414
use dep_graph::{DepNode, DepConstructor};
1515
use errors::DiagnosticBuilder;
1616
use session::Session;
17-
use session::config::{BorrowckMode, OutputFilenames};
17+
use session::config::{BorrowckMode, OutputFilenames, OptLevel};
1818
use middle;
1919
use hir::{TraitCandidate, HirId, ItemLocalId};
2020
use hir::def::{Def, Export};
@@ -1477,8 +1477,18 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
14771477
#[inline]
14781478
pub fn share_generics(self) -> bool {
14791479
match self.sess.opts.debugging_opts.share_generics {
1480-
Some(true) => true,
1481-
Some(false) | None => false,
1480+
Some(setting) => setting,
1481+
None => {
1482+
self.sess.opts.incremental.is_some() ||
1483+
match self.sess.opts.optimize {
1484+
OptLevel::No |
1485+
OptLevel::Less |
1486+
OptLevel::Size |
1487+
OptLevel::SizeMin => true,
1488+
OptLevel::Default |
1489+
OptLevel::Aggressive => false,
1490+
}
1491+
}
14821492
}
14831493
}
14841494
}

0 commit comments

Comments
 (0)