Skip to content

Commit 8d95c86

Browse files
Make generics sharing the default for non-optimized builds.
1 parent 4f6d05d commit 8d95c86

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};
@@ -1503,8 +1503,18 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
15031503
#[inline]
15041504
pub fn share_generics(self) -> bool {
15051505
match self.sess.opts.debugging_opts.share_generics {
1506-
Some(true) => true,
1507-
Some(false) | None => false,
1506+
Some(setting) => setting,
1507+
None => {
1508+
self.sess.opts.incremental.is_some() ||
1509+
match self.sess.opts.optimize {
1510+
OptLevel::No |
1511+
OptLevel::Less |
1512+
OptLevel::Size |
1513+
OptLevel::SizeMin => true,
1514+
OptLevel::Default |
1515+
OptLevel::Aggressive => false,
1516+
}
1517+
}
15081518
}
15091519
}
15101520
}

0 commit comments

Comments
 (0)