new option to note where purity is req'd
This commit is contained in:
parent
668285b9c8
commit
9b094c0baf
2 changed files with 11 additions and 1 deletions
|
@ -37,6 +37,7 @@ const trace: uint = 128u;
|
||||||
const no_rt: uint = 256u;
|
const no_rt: uint = 256u;
|
||||||
const coherence: uint = 512u;
|
const coherence: uint = 512u;
|
||||||
const borrowck_stats: uint = 1024u;
|
const borrowck_stats: uint = 1024u;
|
||||||
|
const borrowck_note_pure: uint = 2048;
|
||||||
|
|
||||||
fn debugging_opts_map() -> ~[(str, str, uint)] {
|
fn debugging_opts_map() -> ~[(str, str, uint)] {
|
||||||
~[("ppregions", "prettyprint regions with \
|
~[("ppregions", "prettyprint regions with \
|
||||||
|
@ -51,7 +52,9 @@ fn debugging_opts_map() -> ~[(str, str, uint)] {
|
||||||
("trace", "emit trace logs", trace),
|
("trace", "emit trace logs", trace),
|
||||||
("no-rt", "do not link to the runtime", no_rt),
|
("no-rt", "do not link to the runtime", no_rt),
|
||||||
("coherence", "perform coherence checking", coherence),
|
("coherence", "perform coherence checking", coherence),
|
||||||
("borrowck-stats", "gather borrowck statistics", borrowck_stats)
|
("borrowck-stats", "gather borrowck statistics", borrowck_stats),
|
||||||
|
("borrowck-note-pure", "note where purity is req'd",
|
||||||
|
borrowck_note_pure)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,6 +171,7 @@ impl session for session {
|
||||||
fn trace() -> bool { self.debugging_opt(trace) }
|
fn trace() -> bool { self.debugging_opt(trace) }
|
||||||
fn coherence() -> bool { self.debugging_opt(coherence) }
|
fn coherence() -> bool { self.debugging_opt(coherence) }
|
||||||
fn borrowck_stats() -> bool { self.debugging_opt(borrowck_stats) }
|
fn borrowck_stats() -> bool { self.debugging_opt(borrowck_stats) }
|
||||||
|
fn borrowck_note_pure() -> bool { self.debugging_opt(borrowck_note_pure) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Some reasonable defaults
|
/// Some reasonable defaults
|
||||||
|
|
|
@ -246,6 +246,12 @@ impl methods for gather_loan_ctxt {
|
||||||
some(scope_id) {
|
some(scope_id) {
|
||||||
self.req_maps.pure_map.insert(scope_id, e);
|
self.req_maps.pure_map.insert(scope_id, e);
|
||||||
self.bccx.req_pure_paths += 1;
|
self.bccx.req_pure_paths += 1;
|
||||||
|
|
||||||
|
if self.tcx().sess.borrowck_note_pure() {
|
||||||
|
self.bccx.span_note(
|
||||||
|
cmt.span,
|
||||||
|
#fmt["purity required"]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
none {
|
none {
|
||||||
// otherwise, fine, I give up.
|
// otherwise, fine, I give up.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue