Auto merge of #123171 - matthiaskrgr:rollup-7id2r8o, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #123063 (Function ABI is irrelevant for reachability) - #123096 (Don't check match scrutinee of postfix match for unused parens) - #123146 (Use compiletest directives instead of manually checking TARGET / tools) - #123160 (remove `def_id_to_node_id` in ast lowering) - #123162 (Correctly get complete intra-doc link data) - #123164 (Bump Unicode printables to version 15.1, align to unicode_data) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
ba527200cc
@ -865,7 +865,9 @@ trait UnusedDelimLint {
|
|||||||
(iter, UnusedDelimsCtx::ForIterExpr, true, None, Some(body.span.lo()), true)
|
(iter, UnusedDelimsCtx::ForIterExpr, true, None, Some(body.span.lo()), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
Match(ref head, ..) if Self::LINT_EXPR_IN_PATTERN_MATCHING_CTX => {
|
Match(ref head, _, ast::MatchKind::Prefix)
|
||||||
|
if Self::LINT_EXPR_IN_PATTERN_MATCHING_CTX =>
|
||||||
|
{
|
||||||
let left = e.span.lo() + rustc_span::BytePos(5);
|
let left = e.span.lo() + rustc_span::BytePos(5);
|
||||||
(head, UnusedDelimsCtx::MatchScrutineeExpr, true, Some(left), None, true)
|
(head, UnusedDelimsCtx::MatchScrutineeExpr, true, Some(left), None, true)
|
||||||
}
|
}
|
||||||
|
@ -215,7 +215,6 @@ pub struct ResolverAstLowering {
|
|||||||
pub next_node_id: ast::NodeId,
|
pub next_node_id: ast::NodeId,
|
||||||
|
|
||||||
pub node_id_to_def_id: NodeMap<LocalDefId>,
|
pub node_id_to_def_id: NodeMap<LocalDefId>,
|
||||||
pub def_id_to_node_id: IndexVec<LocalDefId, ast::NodeId>,
|
|
||||||
|
|
||||||
pub trait_map: NodeMap<Vec<hir::TraitCandidate>>,
|
pub trait_map: NodeMap<Vec<hir::TraitCandidate>>,
|
||||||
/// List functions and methods for which lifetime elision was successful.
|
/// List functions and methods for which lifetime elision was successful.
|
||||||
|
@ -24,7 +24,6 @@ use rustc_middle::query::Providers;
|
|||||||
use rustc_middle::ty::{self, ExistentialTraitRef, TyCtxt};
|
use rustc_middle::ty::{self, ExistentialTraitRef, TyCtxt};
|
||||||
use rustc_privacy::DefIdVisitor;
|
use rustc_privacy::DefIdVisitor;
|
||||||
use rustc_session::config::CrateType;
|
use rustc_session::config::CrateType;
|
||||||
use rustc_target::spec::abi::Abi;
|
|
||||||
|
|
||||||
/// Determines whether this item is recursive for reachability. See `is_recursively_reachable_local`
|
/// Determines whether this item is recursive for reachability. See `is_recursively_reachable_local`
|
||||||
/// below for details.
|
/// below for details.
|
||||||
@ -164,16 +163,6 @@ impl<'tcx> ReachableContext<'tcx> {
|
|||||||
if !self.any_library {
|
if !self.any_library {
|
||||||
// If we are building an executable, only explicitly extern
|
// If we are building an executable, only explicitly extern
|
||||||
// types need to be exported.
|
// types need to be exported.
|
||||||
let reachable =
|
|
||||||
if let Node::Item(hir::Item { kind: hir::ItemKind::Fn(sig, ..), .. })
|
|
||||||
| Node::ImplItem(hir::ImplItem {
|
|
||||||
kind: hir::ImplItemKind::Fn(sig, ..), ..
|
|
||||||
}) = *node
|
|
||||||
{
|
|
||||||
sig.header.abi != Abi::Rust
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
};
|
|
||||||
let codegen_attrs = if self.tcx.def_kind(search_item).has_codegen_attrs() {
|
let codegen_attrs = if self.tcx.def_kind(search_item).has_codegen_attrs() {
|
||||||
self.tcx.codegen_fn_attrs(search_item)
|
self.tcx.codegen_fn_attrs(search_item)
|
||||||
} else {
|
} else {
|
||||||
@ -182,7 +171,7 @@ impl<'tcx> ReachableContext<'tcx> {
|
|||||||
let is_extern = codegen_attrs.contains_extern_indicator();
|
let is_extern = codegen_attrs.contains_extern_indicator();
|
||||||
let std_internal =
|
let std_internal =
|
||||||
codegen_attrs.flags.contains(CodegenFnAttrFlags::RUSTC_STD_INTERNAL_SYMBOL);
|
codegen_attrs.flags.contains(CodegenFnAttrFlags::RUSTC_STD_INTERNAL_SYMBOL);
|
||||||
if reachable || is_extern || std_internal {
|
if is_extern || std_internal {
|
||||||
self.reachable_symbols.insert(search_item);
|
self.reachable_symbols.insert(search_item);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1618,7 +1618,6 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
|
|||||||
.into_items()
|
.into_items()
|
||||||
.map(|(k, f)| (k, f.key()))
|
.map(|(k, f)| (k, f.key()))
|
||||||
.collect(),
|
.collect(),
|
||||||
def_id_to_node_id: self.def_id_to_node_id,
|
|
||||||
trait_map: self.trait_map,
|
trait_map: self.trait_map,
|
||||||
lifetime_elision_allowed: self.lifetime_elision_allowed,
|
lifetime_elision_allowed: self.lifetime_elision_allowed,
|
||||||
lint_buffer: Steal::new(self.lint_buffer),
|
lint_buffer: Steal::new(self.lint_buffer),
|
||||||
|
@ -63,7 +63,10 @@ pub(crate) fn is_printable(x: char) -> bool {
|
|||||||
if 0x2cea2 <= x && x < 0x2ceb0 {
|
if 0x2cea2 <= x && x < 0x2ceb0 {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if 0x2ebe1 <= x && x < 0x2f800 {
|
if 0x2ebe1 <= x && x < 0x2ebf0 {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if 0x2ee5e <= x && x < 0x2f800 {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if 0x2fa1e <= x && x < 0x30000 {
|
if 0x2fa1e <= x && x < 0x30000 {
|
||||||
@ -112,7 +115,7 @@ const SINGLETONS0U: &[(u8, u8)] = &[
|
|||||||
(0x2b, 3),
|
(0x2b, 3),
|
||||||
(0x2d, 11),
|
(0x2d, 11),
|
||||||
(0x2e, 1),
|
(0x2e, 1),
|
||||||
(0x30, 3),
|
(0x30, 4),
|
||||||
(0x31, 2),
|
(0x31, 2),
|
||||||
(0x32, 1),
|
(0x32, 1),
|
||||||
(0xa7, 2),
|
(0xa7, 2),
|
||||||
@ -157,12 +160,12 @@ const SINGLETONS0L: &[u8] = &[
|
|||||||
0x7e, 0x7f, 0xb5, 0xc5, 0xd4, 0xd5, 0xdc, 0xf0,
|
0x7e, 0x7f, 0xb5, 0xc5, 0xd4, 0xd5, 0xdc, 0xf0,
|
||||||
0xf1, 0xf5, 0x72, 0x73, 0x8f, 0x74, 0x75, 0x96,
|
0xf1, 0xf5, 0x72, 0x73, 0x8f, 0x74, 0x75, 0x96,
|
||||||
0x26, 0x2e, 0x2f, 0xa7, 0xaf, 0xb7, 0xbf, 0xc7,
|
0x26, 0x2e, 0x2f, 0xa7, 0xaf, 0xb7, 0xbf, 0xc7,
|
||||||
0xcf, 0xd7, 0xdf, 0x9a, 0x40, 0x97, 0x98, 0x30,
|
0xcf, 0xd7, 0xdf, 0x9a, 0x00, 0x40, 0x97, 0x98,
|
||||||
0x8f, 0x1f, 0xd2, 0xd4, 0xce, 0xff, 0x4e, 0x4f,
|
0x30, 0x8f, 0x1f, 0xd2, 0xd4, 0xce, 0xff, 0x4e,
|
||||||
0x5a, 0x5b, 0x07, 0x08, 0x0f, 0x10, 0x27, 0x2f,
|
0x4f, 0x5a, 0x5b, 0x07, 0x08, 0x0f, 0x10, 0x27,
|
||||||
0xee, 0xef, 0x6e, 0x6f, 0x37, 0x3d, 0x3f, 0x42,
|
0x2f, 0xee, 0xef, 0x6e, 0x6f, 0x37, 0x3d, 0x3f,
|
||||||
0x45, 0x90, 0x91, 0x53, 0x67, 0x75, 0xc8, 0xc9,
|
0x42, 0x45, 0x90, 0x91, 0x53, 0x67, 0x75, 0xc8,
|
||||||
0xd0, 0xd1, 0xd8, 0xd9, 0xe7, 0xfe, 0xff,
|
0xc9, 0xd0, 0xd1, 0xd8, 0xd9, 0xe7, 0xfe, 0xff,
|
||||||
];
|
];
|
||||||
#[rustfmt::skip]
|
#[rustfmt::skip]
|
||||||
const SINGLETONS1U: &[(u8, u8)] = &[
|
const SINGLETONS1U: &[(u8, u8)] = &[
|
||||||
@ -339,10 +342,9 @@ const NORMAL0: &[u8] = &[
|
|||||||
0x80, 0xbe, 0x22,
|
0x80, 0xbe, 0x22,
|
||||||
0x74, 0x0c,
|
0x74, 0x0c,
|
||||||
0x80, 0xd6, 0x1a,
|
0x80, 0xd6, 0x1a,
|
||||||
0x0c, 0x05,
|
0x81, 0x10, 0x05,
|
||||||
0x80, 0xff, 0x05,
|
0x80, 0xdf, 0x0b,
|
||||||
0x80, 0xdf, 0x0c,
|
0xf2, 0x9e, 0x03,
|
||||||
0xf2, 0x9d, 0x03,
|
|
||||||
0x37, 0x09,
|
0x37, 0x09,
|
||||||
0x81, 0x5c, 0x14,
|
0x81, 0x5c, 0x14,
|
||||||
0x80, 0xb8, 0x08,
|
0x80, 0xb8, 0x08,
|
||||||
|
@ -90,7 +90,7 @@ fn check_redundant_explicit_link<'md>(
|
|||||||
) -> Option<()> {
|
) -> Option<()> {
|
||||||
let mut broken_line_callback = |link: BrokenLink<'md>| Some((link.reference, "".into()));
|
let mut broken_line_callback = |link: BrokenLink<'md>| Some((link.reference, "".into()));
|
||||||
let mut offset_iter = Parser::new_with_broken_link_callback(
|
let mut offset_iter = Parser::new_with_broken_link_callback(
|
||||||
&doc,
|
doc,
|
||||||
main_body_opts(),
|
main_body_opts(),
|
||||||
Some(&mut broken_line_callback),
|
Some(&mut broken_line_callback),
|
||||||
)
|
)
|
||||||
@ -264,6 +264,7 @@ fn collect_link_data(offset_iter: &mut OffsetIter<'_, '_>) -> LinkData {
|
|||||||
let mut resolvable_link = None;
|
let mut resolvable_link = None;
|
||||||
let mut resolvable_link_range = None;
|
let mut resolvable_link_range = None;
|
||||||
let mut display_link = String::new();
|
let mut display_link = String::new();
|
||||||
|
let mut is_resolvable = true;
|
||||||
|
|
||||||
while let Some((event, range)) = offset_iter.next() {
|
while let Some((event, range)) = offset_iter.next() {
|
||||||
match event {
|
match event {
|
||||||
@ -281,6 +282,11 @@ fn collect_link_data(offset_iter: &mut OffsetIter<'_, '_>) -> LinkData {
|
|||||||
resolvable_link = Some(code);
|
resolvable_link = Some(code);
|
||||||
resolvable_link_range = Some(range);
|
resolvable_link_range = Some(range);
|
||||||
}
|
}
|
||||||
|
Event::Start(_) => {
|
||||||
|
// If there is anything besides backticks, it's not considered as an intra-doc link
|
||||||
|
// so we ignore it.
|
||||||
|
is_resolvable = false;
|
||||||
|
}
|
||||||
Event::End(_) => {
|
Event::End(_) => {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -288,6 +294,11 @@ fn collect_link_data(offset_iter: &mut OffsetIter<'_, '_>) -> LinkData {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !is_resolvable {
|
||||||
|
resolvable_link_range = None;
|
||||||
|
resolvable_link = None;
|
||||||
|
}
|
||||||
|
|
||||||
LinkData { resolvable_link, resolvable_link_range, display_link }
|
LinkData { resolvable_link, resolvable_link_range, display_link }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -691,9 +691,9 @@ pub fn line_directive<'line>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This is generated by collecting directives from ui tests and then extracting their directive
|
/// This was originally generated by collecting directives from ui tests and then extracting their
|
||||||
/// names. This is **not** an exhaustive list of all possible directives. Instead, this is a
|
/// directive names. This is **not** an exhaustive list of all possible directives. Instead, this is
|
||||||
/// best-effort approximation for diagnostics.
|
/// a best-effort approximation for diagnostics. Add new headers to this list when needed.
|
||||||
const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
||||||
// tidy-alphabetical-start
|
// tidy-alphabetical-start
|
||||||
"assembly-output",
|
"assembly-output",
|
||||||
@ -837,6 +837,7 @@ const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"needs-sanitizer-thread",
|
"needs-sanitizer-thread",
|
||||||
"needs-threads",
|
"needs-threads",
|
||||||
"needs-unwind",
|
"needs-unwind",
|
||||||
|
"needs-wasmtime",
|
||||||
"needs-xray",
|
"needs-xray",
|
||||||
"no-prefer-dynamic",
|
"no-prefer-dynamic",
|
||||||
"normalize-stderr-32bit",
|
"normalize-stderr-32bit",
|
||||||
@ -872,6 +873,7 @@ const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
|||||||
"only-unix",
|
"only-unix",
|
||||||
"only-wasm32",
|
"only-wasm32",
|
||||||
"only-wasm32-bare",
|
"only-wasm32-bare",
|
||||||
|
"only-wasm32-wasip1",
|
||||||
"only-windows",
|
"only-windows",
|
||||||
"only-x86",
|
"only-x86",
|
||||||
"only-x86_64",
|
"only-x86_64",
|
||||||
|
@ -149,6 +149,11 @@ pub(super) fn handle_needs(
|
|||||||
condition: config.target_cfg().relocation_model == "pic",
|
condition: config.target_cfg().relocation_model == "pic",
|
||||||
ignore_reason: "ignored on targets without PIC relocation model",
|
ignore_reason: "ignored on targets without PIC relocation model",
|
||||||
},
|
},
|
||||||
|
Need {
|
||||||
|
name: "needs-wasmtime",
|
||||||
|
condition: config.runner.as_ref().is_some_and(|r| r.contains("wasmtime")),
|
||||||
|
ignore_reason: "ignored when wasmtime runner is not available",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
let (name, comment) = match ln.split_once([':', ' ']) {
|
let (name, comment) = match ln.split_once([':', ' ']) {
|
||||||
|
@ -8,6 +8,10 @@
|
|||||||
//! settings. Turning off optimizations and enabling debug assertions tends to produce the most
|
//! settings. Turning off optimizations and enabling debug assertions tends to produce the most
|
||||||
//! dependence on core that is possible, so that is the configuration we test here.
|
//! dependence on core that is possible, so that is the configuration we test here.
|
||||||
|
|
||||||
|
// wasm and nvptx targets don't produce rlib files that object can parse.
|
||||||
|
//@ ignore-wasm
|
||||||
|
//@ ignore-nvptx64
|
||||||
|
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
@ -33,10 +37,6 @@ path = "lib.rs""#;
|
|||||||
fn main() {
|
fn main() {
|
||||||
let target_dir = tmp_dir().join("target");
|
let target_dir = tmp_dir().join("target");
|
||||||
let target = std::env::var("TARGET").unwrap();
|
let target = std::env::var("TARGET").unwrap();
|
||||||
if target.starts_with("wasm") || target.starts_with("nvptx") {
|
|
||||||
// wasm and nvptx targets don't produce rlib files that object can parse.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
println!("Testing compiler_builtins for {}", target);
|
println!("Testing compiler_builtins for {}", target);
|
||||||
|
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
|
//@ needs-wasmtime
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir};
|
use run_make_support::{rustc, tmp_dir};
|
||||||
@ -5,23 +8,10 @@ use std::path::Path;
|
|||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
||||||
|
|
||||||
let file = tmp_dir().join("foo.wasm");
|
let file = tmp_dir().join("foo.wasm");
|
||||||
|
|
||||||
let has_wasmtime = match Command::new("wasmtime").arg("--version").output() {
|
|
||||||
Ok(s) => s.status.success(),
|
|
||||||
_ => false,
|
|
||||||
};
|
|
||||||
if !has_wasmtime {
|
|
||||||
println!("skipping test, wasmtime isn't available");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
run(&file, "return_two_i32", "1\n2\n");
|
run(&file, "return_two_i32", "1\n2\n");
|
||||||
run(&file, "return_two_i64", "3\n4\n");
|
run(&file, "return_two_i64", "3\n4\n");
|
||||||
run(&file, "return_two_f32", "5\n6\n");
|
run(&file, "return_two_f32", "5\n6\n");
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir, wasmparser};
|
use run_make_support::{rustc, tmp_dir, wasmparser};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
||||||
rustc().input("bar.rs").target("wasm32-wasip1").arg("-Clto").opt().run();
|
rustc().input("bar.rs").target("wasm32-wasip1").arg("-Clto").opt().run();
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{tmp_dir, wasmparser, rustc};
|
use run_make_support::{tmp_dir, wasmparser, rustc};
|
||||||
@ -5,10 +6,6 @@ use std::collections::HashMap;
|
|||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").opt().run();
|
rustc().input("foo.rs").target("wasm32-wasip1").opt().run();
|
||||||
|
|
||||||
verify(&tmp_dir().join("foo.wasm"));
|
verify(&tmp_dir().join("foo.wasm"));
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{tmp_dir, wasmparser, rustc};
|
use run_make_support::{tmp_dir, wasmparser, rustc};
|
||||||
@ -6,10 +8,6 @@ use std::path::Path;
|
|||||||
use wasmparser::ExternalKind::*;
|
use wasmparser::ExternalKind::*;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
test(&[]);
|
test(&[]);
|
||||||
test(&["-O"]);
|
test(&["-O"]);
|
||||||
test(&["-Clto"]);
|
test(&["-Clto"]);
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{tmp_dir, wasmparser, rustc};
|
use run_make_support::{tmp_dir, wasmparser, rustc};
|
||||||
@ -5,10 +7,6 @@ use std::collections::HashMap;
|
|||||||
use wasmparser::TypeRef::Func;
|
use wasmparser::TypeRef::Func;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
||||||
rustc()
|
rustc()
|
||||||
.input("bar.rs")
|
.input("bar.rs")
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
@ -5,10 +6,6 @@ extern crate run_make_support;
|
|||||||
use run_make_support::{rustc, tmp_dir};
|
use run_make_support::{rustc, tmp_dir};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
test("a");
|
test("a");
|
||||||
test("b");
|
test("b");
|
||||||
test("c");
|
test("c");
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir, wasmparser};
|
use run_make_support::{rustc, tmp_dir, wasmparser};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc()
|
rustc()
|
||||||
.input("main.rs")
|
.input("main.rs")
|
||||||
.target("wasm32-wasip1")
|
.target("wasm32-wasip1")
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
@ -5,10 +6,6 @@ extern crate run_make_support;
|
|||||||
use run_make_support::{rustc, tmp_dir};
|
use run_make_support::{rustc, tmp_dir};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").arg("-Clto").opt().run();
|
rustc().input("foo.rs").target("wasm32-wasip1").arg("-Clto").opt().run();
|
||||||
|
|
||||||
let bytes = std::fs::read(&tmp_dir().join("foo.wasm")).unwrap();
|
let bytes = std::fs::read(&tmp_dir().join("foo.wasm")).unwrap();
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir, wasmparser};
|
use run_make_support::{rustc, tmp_dir, wasmparser};
|
||||||
use std::collections::{HashMap, HashSet};
|
use std::collections::{HashMap, HashSet};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
test_file("foo.rs", &[("a", &["foo"]), ("b", &["foo"])]);
|
test_file("foo.rs", &[("a", &["foo"]), ("b", &["foo"])]);
|
||||||
test_file("bar.rs", &[("m1", &["f", "g"]), ("m2", &["f"])]);
|
test_file("bar.rs", &[("m1", &["f", "g"]), ("m2", &["f"])]);
|
||||||
test_file("baz.rs", &[("sqlite", &["allocate", "deallocate"])]);
|
test_file("baz.rs", &[("sqlite", &["allocate", "deallocate"])]);
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir, wasmparser};
|
use run_make_support::{rustc, tmp_dir, wasmparser};
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
||||||
verify_symbols(&tmp_dir().join("foo.wasm"));
|
verify_symbols(&tmp_dir().join("foo.wasm"));
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").opt().run();
|
rustc().input("foo.rs").target("wasm32-wasip1").opt().run();
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
|
//@ only-wasm32-wasip1
|
||||||
extern crate run_make_support;
|
extern crate run_make_support;
|
||||||
|
|
||||||
use run_make_support::{rustc, tmp_dir, wasmparser};
|
use run_make_support::{rustc, tmp_dir, wasmparser};
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
if std::env::var("TARGET").unwrap() != "wasm32-wasip1" {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").run();
|
||||||
verify_symbols(&tmp_dir().join("foo.wasm"));
|
verify_symbols(&tmp_dir().join("foo.wasm"));
|
||||||
rustc().input("foo.rs").target("wasm32-wasip1").arg("-Clto").run();
|
rustc().input("foo.rs").target("wasm32-wasip1").arg("-Clto").run();
|
||||||
|
8
tests/rustdoc-ui/invalid-redundant-explicit-link.rs
Normal file
8
tests/rustdoc-ui/invalid-redundant-explicit-link.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
//@ check-pass
|
||||||
|
|
||||||
|
// Regression test for <https://github.com/rust-lang/rust/issues/123158>. It
|
||||||
|
// should not emit any warning.
|
||||||
|
|
||||||
|
//! [**`SomeTrait`**](SomeTrait):
|
||||||
|
|
||||||
|
pub trait SomeTrait {}
|
8
tests/ui/match/postfix-match/no-unused-parens.rs
Normal file
8
tests/ui/match/postfix-match/no-unused-parens.rs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
//@ check-pass
|
||||||
|
|
||||||
|
#![feature(postfix_match)]
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
(&1).match { a => a };
|
||||||
|
(1 + 2).match { b => b };
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user