Auto merge of #52433 - kennytm:rollup, r=kennytm
Rollup of 9 pull requests Successful merges: - #52286 (Deny bare trait objects in src/librustc_errors) - #52306 (Reduce the number of clone()s needed in obligation_forest) - #52338 (update miri) - #52385 (Pass edition flags to compiler from rustdoc as expected) - #52392 (AsRef doc wording tweaks) - #52430 (update nomicon) - #52434 (Enable incremental independent of stage) - #52435 (Calculate the exact capacity for 2 HashMaps) - #52446 (Block beta if clippy breaks.) r? @ghost
This commit is contained in:
commit
4bff385fda
@ -243,6 +243,18 @@ dependencies = [
|
|||||||
"serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cargo_metadata"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.69 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_derive 1.0.69 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde_json 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cargotest2"
|
name = "cargotest2"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
@ -629,6 +641,14 @@ dependencies = [
|
|||||||
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "error-chain"
|
||||||
|
version = "0.12.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "error_index_generator"
|
name = "error_index_generator"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
@ -1216,12 +1236,13 @@ name = "miri"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"cargo_metadata 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cargo_metadata 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"colored 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"compiletest_rs 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"compiletest_rs 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3031,6 +3052,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
"checksum bufstream 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32"
|
"checksum bufstream 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32"
|
||||||
"checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9"
|
"checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9"
|
||||||
"checksum cargo_metadata 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1efca0b863ca03ed4c109fb1c55e0bc4bbeb221d3e103d86251046b06a526bd0"
|
"checksum cargo_metadata 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1efca0b863ca03ed4c109fb1c55e0bc4bbeb221d3e103d86251046b06a526bd0"
|
||||||
|
"checksum cargo_metadata 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d6809b327f87369e6f3651efd2c5a96c49847a3ed2559477ecba79014751ee1"
|
||||||
"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d"
|
"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d"
|
||||||
"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e"
|
"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e"
|
||||||
"checksum chalk-engine 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a146c19172c7eea48ea55a7123ac95da786639bc665097f1e14034ee5f1d8699"
|
"checksum chalk-engine 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a146c19172c7eea48ea55a7123ac95da786639bc665097f1e14034ee5f1d8699"
|
||||||
@ -3062,6 +3084,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
"checksum env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0e6e40ebb0e66918a37b38c7acab4e10d299e0463fe2af5d29b9cc86710cfd2a"
|
"checksum env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0e6e40ebb0e66918a37b38c7acab4e10d299e0463fe2af5d29b9cc86710cfd2a"
|
||||||
"checksum environment 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f4b14e20978669064c33b4c1e0fb4083412e40fe56cbea2eae80fd7591503ee"
|
"checksum environment 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f4b14e20978669064c33b4c1e0fb4083412e40fe56cbea2eae80fd7591503ee"
|
||||||
"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"
|
"checksum error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3"
|
||||||
|
"checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02"
|
||||||
"checksum failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82"
|
"checksum failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82"
|
||||||
"checksum failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b"
|
"checksum failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b"
|
||||||
"checksum filetime 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "da4b9849e77b13195302c174324b5ba73eec9b236b24c221a61000daefb95c5f"
|
"checksum filetime 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "da4b9849e77b13195302c174324b5ba73eec9b236b24c221a61000daefb95c5f"
|
||||||
|
@ -903,10 +903,7 @@ impl<'a> Builder<'a> {
|
|||||||
.env("RUSTC_SNAPSHOT_LIBDIR", self.rustc_libdir(compiler));
|
.env("RUSTC_SNAPSHOT_LIBDIR", self.rustc_libdir(compiler));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ignore incremental modes except for stage0, since we're
|
if self.config.incremental {
|
||||||
// not guaranteeing correctness across builds if the compiler
|
|
||||||
// is changing under your feet.`
|
|
||||||
if self.config.incremental && compiler.stage == 0 {
|
|
||||||
cargo.env("CARGO_INCREMENTAL", "1");
|
cargo.env("CARGO_INCREMENTAL", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ pub fn build(build: &mut Build) {
|
|||||||
build_krate("", build, &mut resolves, "src/libtest");
|
build_krate("", build, &mut resolves, "src/libtest");
|
||||||
build_krate(&build.rustc_features(), build, &mut resolves, "src/rustc");
|
build_krate(&build.rustc_features(), build, &mut resolves, "src/rustc");
|
||||||
|
|
||||||
let mut id2name = HashMap::new();
|
let mut id2name = HashMap::with_capacity(build.crates.len());
|
||||||
for (name, krate) in build.crates.iter() {
|
for (name, krate) in build.crates.iter() {
|
||||||
id2name.insert(krate.id.clone(), name.clone());
|
id2name.insert(krate.id.clone(), name.clone());
|
||||||
}
|
}
|
||||||
|
@ -81,8 +81,8 @@ status_check() {
|
|||||||
check_dispatch $1 beta rust-by-example src/doc/rust-by-example
|
check_dispatch $1 beta rust-by-example src/doc/rust-by-example
|
||||||
check_dispatch $1 beta rls src/tools/rls
|
check_dispatch $1 beta rls src/tools/rls
|
||||||
check_dispatch $1 beta rustfmt src/tools/rustfmt
|
check_dispatch $1 beta rustfmt src/tools/rustfmt
|
||||||
|
check_dispatch $1 beta clippy-driver src/tools/clippy
|
||||||
# these tools are not required for beta to successfully branch
|
# these tools are not required for beta to successfully branch
|
||||||
check_dispatch $1 nightly clippy-driver src/tools/clippy
|
|
||||||
check_dispatch $1 nightly miri src/tools/miri
|
check_dispatch $1 nightly miri src/tools/miri
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,12 +106,14 @@ $COMMIT\t$(cat "$TOOLSTATE_FILE")
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$RUST_RELEASE_CHANNEL" = nightly -a -n "${TOOLSTATE_REPO_ACCESS_TOKEN+is_set}" ]; then
|
if [ "$RUST_RELEASE_CHANNEL" = nightly ]; then
|
||||||
. "$(dirname $0)/repo.sh"
|
if [ -n "${TOOLSTATE_REPO_ACCESS_TOKEN+is_set}" ]; then
|
||||||
MESSAGE_FILE=$(mktemp -t msg.XXXXXX)
|
. "$(dirname $0)/repo.sh"
|
||||||
echo "($OS CI update)" > "$MESSAGE_FILE"
|
MESSAGE_FILE=$(mktemp -t msg.XXXXXX)
|
||||||
commit_toolstate_change "$MESSAGE_FILE" change_toolstate
|
echo "($OS CI update)" > "$MESSAGE_FILE"
|
||||||
rm -f "$MESSAGE_FILE"
|
commit_toolstate_change "$MESSAGE_FILE" change_toolstate
|
||||||
|
rm -f "$MESSAGE_FILE"
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 13e3745ca399118df05e8261e12e3ada6e616b48
|
Subproject commit 66ef7373409d1979c2839db8886ac2ec9b6a58cd
|
@ -63,9 +63,9 @@
|
|||||||
///
|
///
|
||||||
/// The key difference between the two traits is the intention:
|
/// The key difference between the two traits is the intention:
|
||||||
///
|
///
|
||||||
/// - Use `AsRef` when goal is to simply convert into a reference
|
/// - Use `AsRef` when the goal is to simply convert into a reference
|
||||||
/// - Use `Borrow` when goal is related to writing code that is agnostic to the
|
/// - Use `Borrow` when the goal is related to writing code that is agnostic to
|
||||||
/// type of borrow and if is reference or value
|
/// the type of borrow and whether it is a reference or value
|
||||||
///
|
///
|
||||||
/// See [the book][book] for a more detailed comparison.
|
/// See [the book][book] for a more detailed comparison.
|
||||||
///
|
///
|
||||||
|
@ -496,9 +496,14 @@ impl<O: ForestObligation> ObligationForest<O> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
NodeState::Done => {
|
NodeState::Done => {
|
||||||
self.waiting_cache.remove(self.nodes[i].obligation.as_predicate());
|
// Avoid cloning the key (predicate) in case it exists in the waiting cache
|
||||||
// FIXME(HashMap): why can't I get my key back?
|
if let Some((predicate, _)) = self.waiting_cache
|
||||||
self.done_cache.insert(self.nodes[i].obligation.as_predicate().clone());
|
.remove_entry(self.nodes[i].obligation.as_predicate())
|
||||||
|
{
|
||||||
|
self.done_cache.insert(predicate);
|
||||||
|
} else {
|
||||||
|
self.done_cache.insert(self.nodes[i].obligation.as_predicate().clone());
|
||||||
|
}
|
||||||
node_rewrites[i] = nodes_len;
|
node_rewrites[i] = nodes_len;
|
||||||
dead_nodes += 1;
|
dead_nodes += 1;
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,8 @@ pub fn write_counts(count_file: &mut File, counts: &mut HashMap<String,QueryMetr
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn write_traces(html_file: &mut File, counts_file: &mut File, traces: &Vec<Rec>) {
|
pub fn write_traces(html_file: &mut File, counts_file: &mut File, traces: &Vec<Rec>) {
|
||||||
let mut counts : HashMap<String,QueryMetric> = HashMap::new();
|
let capacity = traces.iter().fold(0, |acc, t| acc + 1 + t.extent.len());
|
||||||
|
let mut counts : HashMap<String, QueryMetric> = HashMap::with_capacity(capacity);
|
||||||
compute_counts_rec(&mut counts, traces);
|
compute_counts_rec(&mut counts, traces);
|
||||||
write_counts(counts_file, &mut counts);
|
write_counts(counts_file, &mut counts);
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ impl Diagnostic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn note_expected_found(&mut self,
|
pub fn note_expected_found(&mut self,
|
||||||
label: &fmt::Display,
|
label: &dyn fmt::Display,
|
||||||
expected: DiagnosticStyledString,
|
expected: DiagnosticStyledString,
|
||||||
found: DiagnosticStyledString)
|
found: DiagnosticStyledString)
|
||||||
-> &mut Self
|
-> &mut Self
|
||||||
@ -130,11 +130,11 @@ impl Diagnostic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn note_expected_found_extra(&mut self,
|
pub fn note_expected_found_extra(&mut self,
|
||||||
label: &fmt::Display,
|
label: &dyn fmt::Display,
|
||||||
expected: DiagnosticStyledString,
|
expected: DiagnosticStyledString,
|
||||||
found: DiagnosticStyledString,
|
found: DiagnosticStyledString,
|
||||||
expected_extra: &fmt::Display,
|
expected_extra: &dyn fmt::Display,
|
||||||
found_extra: &fmt::Display)
|
found_extra: &dyn fmt::Display)
|
||||||
-> &mut Self
|
-> &mut Self
|
||||||
{
|
{
|
||||||
let mut msg: Vec<_> = vec![(format!("expected {} `", label), Style::NoStyle)];
|
let mut msg: Vec<_> = vec![(format!("expected {} `", label), Style::NoStyle)];
|
||||||
|
@ -148,17 +148,17 @@ impl<'a> DiagnosticBuilder<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
forward!(pub fn note_expected_found(&mut self,
|
forward!(pub fn note_expected_found(&mut self,
|
||||||
label: &fmt::Display,
|
label: &dyn fmt::Display,
|
||||||
expected: DiagnosticStyledString,
|
expected: DiagnosticStyledString,
|
||||||
found: DiagnosticStyledString)
|
found: DiagnosticStyledString)
|
||||||
-> &mut Self);
|
-> &mut Self);
|
||||||
|
|
||||||
forward!(pub fn note_expected_found_extra(&mut self,
|
forward!(pub fn note_expected_found_extra(&mut self,
|
||||||
label: &fmt::Display,
|
label: &dyn fmt::Display,
|
||||||
expected: DiagnosticStyledString,
|
expected: DiagnosticStyledString,
|
||||||
found: DiagnosticStyledString,
|
found: DiagnosticStyledString,
|
||||||
expected_extra: &fmt::Display,
|
expected_extra: &dyn fmt::Display,
|
||||||
found_extra: &fmt::Display)
|
found_extra: &dyn fmt::Display)
|
||||||
-> &mut Self);
|
-> &mut Self);
|
||||||
|
|
||||||
forward!(pub fn note(&mut self, msg: &str) -> &mut Self);
|
forward!(pub fn note(&mut self, msg: &str) -> &mut Self);
|
||||||
|
@ -148,7 +148,7 @@ impl EmitterWriter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new(dst: Box<Write + Send>,
|
pub fn new(dst: Box<dyn Write + Send>,
|
||||||
code_map: Option<Lrc<CodeMapperDyn>>,
|
code_map: Option<Lrc<CodeMapperDyn>>,
|
||||||
short_message: bool,
|
short_message: bool,
|
||||||
teach: bool)
|
teach: bool)
|
||||||
@ -1469,13 +1469,13 @@ fn emit_to_destination(rendered_buffer: &Vec<Vec<StyledString>>,
|
|||||||
pub enum Destination {
|
pub enum Destination {
|
||||||
Terminal(StandardStream),
|
Terminal(StandardStream),
|
||||||
Buffered(BufferWriter),
|
Buffered(BufferWriter),
|
||||||
Raw(Box<Write + Send>),
|
Raw(Box<dyn Write + Send>),
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum WritableDst<'a> {
|
pub enum WritableDst<'a> {
|
||||||
Terminal(&'a mut StandardStream),
|
Terminal(&'a mut StandardStream),
|
||||||
Buffered(&'a mut BufferWriter, Buffer),
|
Buffered(&'a mut BufferWriter, Buffer),
|
||||||
Raw(&'a mut Box<Write + Send>),
|
Raw(&'a mut Box<dyn Write + Send>),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Destination {
|
impl Destination {
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
#![deny(bare_trait_objects)]
|
||||||
|
|
||||||
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
|
||||||
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
|
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
|
||||||
html_root_url = "https://doc.rust-lang.org/nightly/")]
|
html_root_url = "https://doc.rust-lang.org/nightly/")]
|
||||||
@ -110,7 +112,7 @@ pub struct SubstitutionPart {
|
|||||||
pub snippet: String,
|
pub snippet: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub type CodeMapperDyn = CodeMapper + sync::Send + sync::Sync;
|
pub type CodeMapperDyn = dyn CodeMapper + sync::Send + sync::Sync;
|
||||||
|
|
||||||
pub trait CodeMapper {
|
pub trait CodeMapper {
|
||||||
fn lookup_char_pos(&self, pos: BytePos) -> Loc;
|
fn lookup_char_pos(&self, pos: BytePos) -> Loc;
|
||||||
@ -270,7 +272,7 @@ pub struct Handler {
|
|||||||
pub flags: HandlerFlags,
|
pub flags: HandlerFlags,
|
||||||
|
|
||||||
err_count: AtomicUsize,
|
err_count: AtomicUsize,
|
||||||
emitter: Lock<Box<Emitter + sync::Send>>,
|
emitter: Lock<Box<dyn Emitter + sync::Send>>,
|
||||||
continue_after_error: LockCell<bool>,
|
continue_after_error: LockCell<bool>,
|
||||||
delayed_span_bug: Lock<Option<Diagnostic>>,
|
delayed_span_bug: Lock<Option<Diagnostic>>,
|
||||||
|
|
||||||
@ -326,7 +328,7 @@ impl Handler {
|
|||||||
|
|
||||||
pub fn with_emitter(can_emit_warnings: bool,
|
pub fn with_emitter(can_emit_warnings: bool,
|
||||||
treat_err_as_bug: bool,
|
treat_err_as_bug: bool,
|
||||||
e: Box<Emitter + sync::Send>)
|
e: Box<dyn Emitter + sync::Send>)
|
||||||
-> Handler {
|
-> Handler {
|
||||||
Handler::with_emitter_and_flags(
|
Handler::with_emitter_and_flags(
|
||||||
e,
|
e,
|
||||||
@ -337,7 +339,8 @@ impl Handler {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn with_emitter_and_flags(e: Box<Emitter + sync::Send>, flags: HandlerFlags) -> Handler {
|
pub fn with_emitter_and_flags(e: Box<dyn Emitter + sync::Send>, flags: HandlerFlags) -> Handler
|
||||||
|
{
|
||||||
Handler {
|
Handler {
|
||||||
flags,
|
flags,
|
||||||
err_count: AtomicUsize::new(0),
|
err_count: AtomicUsize::new(0),
|
||||||
|
@ -23,7 +23,7 @@ use std::any::Any;
|
|||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
#[allow(bad_style)]
|
#[allow(bad_style)]
|
||||||
pub fn acquire_global_lock(name: &str) -> Box<Any> {
|
pub fn acquire_global_lock(name: &str) -> Box<dyn Any> {
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
||||||
@ -110,6 +110,6 @@ pub fn acquire_global_lock(name: &str) -> Box<Any> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
pub fn acquire_global_lock(_name: &str) -> Box<Any> {
|
pub fn acquire_global_lock(_name: &str) -> Box<dyn Any> {
|
||||||
Box::new(())
|
Box::new(())
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ use syntax::codemap::CodeMap;
|
|||||||
use syntax::edition::Edition;
|
use syntax::edition::Edition;
|
||||||
use syntax::feature_gate::UnstableFeatures;
|
use syntax::feature_gate::UnstableFeatures;
|
||||||
use syntax::with_globals;
|
use syntax::with_globals;
|
||||||
use syntax_pos::{BytePos, DUMMY_SP, Pos, Span, FileName};
|
use syntax_pos::{BytePos, DUMMY_SP, Pos, Span, FileName, hygiene};
|
||||||
use errors;
|
use errors;
|
||||||
use errors::emitter::ColorConfig;
|
use errors::emitter::ColorConfig;
|
||||||
|
|
||||||
@ -561,6 +561,7 @@ impl Collector {
|
|||||||
rustc_driver::in_rustc_thread(move || with_globals(move || {
|
rustc_driver::in_rustc_thread(move || with_globals(move || {
|
||||||
io::set_panic(panic);
|
io::set_panic(panic);
|
||||||
io::set_print(print);
|
io::set_print(print);
|
||||||
|
hygiene::set_default_edition(edition);
|
||||||
run_test(&test,
|
run_test(&test,
|
||||||
&cratename,
|
&cratename,
|
||||||
&filename,
|
&filename,
|
||||||
|
24
src/test/rustdoc/edition-flag.rs
Normal file
24
src/test/rustdoc/edition-flag.rs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// compile-flags:--test -Z unstable-options
|
||||||
|
// edition:2018
|
||||||
|
|
||||||
|
#![feature(async_await)]
|
||||||
|
|
||||||
|
/// ```rust
|
||||||
|
/// #![feature(async_await)]
|
||||||
|
/// fn main() {
|
||||||
|
/// let _ = async { };
|
||||||
|
/// }
|
||||||
|
/// ```
|
||||||
|
fn main() {
|
||||||
|
let _ = async { };
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
Subproject commit 5b7bb32b0e46d195b80c4da09b560ac7fc92015d
|
Subproject commit 911aedf736992e907d11cb494167f41f28d02368
|
Loading…
Reference in New Issue
Block a user