All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Rust cross testing integration with oe-selftest.
@ 2021-04-09 11:59 Vinay Kumar
  2021-04-10  9:50 ` [OE-core] " Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-04-09 11:59 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/classes/rust-common.bbclass              |   5 +-
 meta/conf/bitbake.conf                        |   2 +-
 meta/lib/oeqa/selftest/cases/rust.py          |  41 ++
 meta/lib/oeqa/utils/qemurunner.py             |   8 +-
 meta/recipes-devtools/rust/rust-test.inc      | 504 ++++++++++++++++++
 .../recipes-devtools/rust/rust-test_1.46.0.bb |  12 +
 scripts/runqemu                               |  15 +-
 7 files changed, 583 insertions(+), 4 deletions(-)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
 create mode 100644 meta/recipes-devtools/rust/rust-test.inc
 create mode 100644 meta/recipes-devtools/rust/rust-test_1.46.0.bb

diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
index ff7b9da8f3..fb75b07ba3 100644
--- a/meta/classes/rust-common.bbclass
+++ b/meta/classes/rust-common.bbclass
@@ -84,7 +84,10 @@ def rust_base_triple(d, thing):
     # This catches ARM targets and appends the necessary hard float bits
     if os == "linux-gnueabi" or os == "linux-musleabi":
         libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
-    return arch + vendor + '-' + os + libc
+    if d.getVar('TARGET_ARCH') == 'mips64':
+       return arch + vendor + '-' + os + libc + 'abi64'
+    else:
+       return arch + vendor + '-' + os + libc
 
 # Naming explanation
 # Yocto
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 3438be92b7..83e1b68071 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
 HOSTTOOLS += " \
     [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
     cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
-    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
+    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
     head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
     mktemp mv nm objcopy objdump od patch perl pr printf pwd \
     python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..69a1a285a9
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check(self, *suites, ssh = None):
+		# configure ssh target
+		features = []
+		if ssh is not None:
+			features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+			features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+			features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+			features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+		self.write_config("\n".join(features))
+
+		recipe = "rust-test"
+		bitbake("{} -c check".format(recipe))
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-test"	
+		bitbake("{} -c compile".format(recipe))
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic slirp") as qemu:
+			return self.run_check(*args, ssh=qemu.ip, **kwargs)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 77ec939ad7..aea7c624ec 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -184,7 +184,13 @@ class QemuRunner:
         # and analyze descendents in order to determine it.
         if os.path.exists(self.qemu_pidfile):
             os.remove(self.qemu_pidfile)
-        self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
+        if "slirp" in launch_cmd:
+            self.use_slirp = True
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} -monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null"'.format(bootparams, self.qemu_pidfile)
+        else:
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
         if qemuparams:
             self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
 
diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
new file mode 100644
index 0000000000..0a13b3e0d8
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test.inc
@@ -0,0 +1,504 @@
+HOMEPAGE = "http://www.rust-lang.org"
+SECTION = "devel"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+DEPENDS_append_class-native = " rust-llvm-native"
+
+# In case of x86_64 target we setting this path to location of "x86_64-poky-linux.json". 
+# This is to differentiate cross target and build in config.toml file.
+export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+#export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
+export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+# Right now this is focused on arm-specific tune features.
+# We get away with this for now as one can only use x86-64 as the build host
+# (not arm).
+# Note that TUNE_FEATURES is _always_ refering to the target, so we really
+# don't want to use this for the host/build.
+def llvm_features_from_tune(d):
+    f = []
+    feat = d.getVar('TUNE_FEATURES')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    mach_overrides = d.getVar('MACHINEOVERRIDES')
+    mach_overrides = frozenset(mach_overrides.split(':'))
+
+    if 'vfpv4' in feat:
+        f.append("+vfp4")
+    if 'vfpv3' in feat:
+        f.append("+vfp3")
+    if 'vfpv3d16' in feat:
+        f.append("+d16")
+
+    if 'vfpv2' in feat or 'vfp' in feat:
+        f.append("+vfp2")
+
+    if 'neon' in feat:
+        f.append("+neon")
+
+    if 'aarch64' in feat:
+        f.append("+v8")
+
+    if 'mips32' in feat:
+        f.append("+mips32")
+
+    if 'mips32r2' in feat:
+        f.append("+mips32r2")
+
+    v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
+    if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
+        f.append("+v7")
+    if ('armv6' in mach_overrides) or ('armv6' in feat):
+        f.append("+v6")
+
+    if 'dsp' in feat:
+        f.append("+dsp")
+
+    if 'thumb' in feat:
+        if d.getVar('ARM_THUMB_OPT') is "thumb":
+            if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
+                f.append("+thumb2")
+            f.append("+thumb-mode")
+
+    if 'cortexa5' in feat:
+        f.append("+a5")
+    if 'cortexa7' in feat:
+        f.append("+a7")
+    if 'cortexa9' in feat:
+        f.append("+a9")
+    if 'cortexa15' in feat:
+        f.append("+a15")
+    if 'cortexa17' in feat:
+        f.append("+a17")
+
+    return f
+
+# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
+# this should go away when https://github.com/rust-lang/rust/pull/31709 is
+# stable (1.9.0?)
+def llvm_features_from_cc_arch(d):
+    f = []
+    feat = d.getVar('TARGET_CC_ARCH')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    if '-mmmx' in feat:
+        f.append("+mmx")
+    if '-msse' in feat:
+        f.append("+sse")
+    if '-msse2' in feat:
+        f.append("+sse2")
+    if '-msse3' in feat:
+        f.append("+sse3")
+    if '-mssse3' in feat:
+        f.append("+ssse3")
+    if '-msse4.1' in feat:
+        f.append("+sse4.1")
+    if '-msse4.2' in feat:
+        f.append("+sse4.2")
+    if '-msse4a' in feat:
+        f.append("+sse4a")
+    if '-mavx' in feat:
+        f.append("+avx")
+    if '-mavx2' in feat:
+        f.append("+avx2")
+
+    return f
+
+def llvm_features_from_target_fpu(d):
+    # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
+    # ABI. There is no option for hard.
+
+    fpu = d.getVar('TARGET_FPU', True)
+    return ["+soft-float"] if fpu == "soft" else []
+
+def llvm_features(d):
+    return ','.join(llvm_features_from_tune(d) +
+                    llvm_features_from_cc_arch(d) +
+                    llvm_features_from_target_fpu(d))
+
+## arm-unknown-linux-gnueabihf
+DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[arm] = "little"
+TARGET_POINTER_WIDTH[arm] = "32"
+TARGET_C_INT_WIDTH[arm] = "32"
+MAX_ATOMIC_WIDTH[arm] = "64"
+FEATURES[arm] = "+v6,+vfp2"
+
+## aarch64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[aarch64] = "little"
+TARGET_POINTER_WIDTH[aarch64] = "64"
+TARGET_C_INT_WIDTH[aarch64] = "32"
+MAX_ATOMIC_WIDTH[aarch64] = "128"
+
+## x86_64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[x86_64] = "little"
+TARGET_POINTER_WIDTH[x86_64] = "64"
+TARGET_C_INT_WIDTH[x86_64] = "32"
+MAX_ATOMIC_WIDTH[x86_64] = "64"
+
+## i686-unknown-linux-{gnu, musl}
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i686] = "little"
+TARGET_POINTER_WIDTH[i686] = "32"
+TARGET_C_INT_WIDTH[i686] = "32"
+MAX_ATOMIC_WIDTH[i686] = "64"
+
+## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
+DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i586] = "little"
+TARGET_POINTER_WIDTH[i586] = "32"
+TARGET_C_INT_WIDTH[i586] = "32"
+MAX_ATOMIC_WIDTH[i586] = "64"
+
+## mips-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips] = "big"
+TARGET_POINTER_WIDTH[mips] = "32"
+TARGET_C_INT_WIDTH[mips] = "32"
+MAX_ATOMIC_WIDTH[mips] = "32"
+
+## mipsel-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mipsel] = "little"
+TARGET_POINTER_WIDTH[mipsel] = "32"
+TARGET_C_INT_WIDTH[mipsel] = "32"
+MAX_ATOMIC_WIDTH[mipsel] = "32"
+
+## mips64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64] = "big"
+TARGET_POINTER_WIDTH[mips64] = "64"
+TARGET_C_INT_WIDTH[mips64] = "64"
+MAX_ATOMIC_WIDTH[mips64] = "64"
+
+## mips64el-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64el] = "little"
+TARGET_POINTER_WIDTH[mips64el] = "64"
+TARGET_C_INT_WIDTH[mips64el] = "64"
+MAX_ATOMIC_WIDTH[mips64el] = "64"
+
+## powerpc-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
+LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[powerpc] = "big"
+TARGET_POINTER_WIDTH[powerpc] = "32"
+TARGET_C_INT_WIDTH[powerpc] = "32"
+MAX_ATOMIC_WIDTH[powerpc] = "32"
+
+## riscv32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv32] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv32] = "little"
+TARGET_POINTER_WIDTH[riscv32] = "32"
+TARGET_C_INT_WIDTH[riscv32] = "32"
+MAX_ATOMIC_WIDTH[riscv32] = "32"
+
+## riscv64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv64] = "little"
+TARGET_POINTER_WIDTH[riscv64] = "64"
+TARGET_C_INT_WIDTH[riscv64] = "64"
+MAX_ATOMIC_WIDTH[riscv64] = "64"
+
+def arch_for(d, thing):
+    return d.getVar('{}_ARCH'.format(thing))
+
+def sys_for(d, thing):
+    return d.getVar('{}_SYS'.format(thing))
+
+def prefix_for(d, thing):
+    return d.getVar('{}_PREFIX'.format(thing))
+
+# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
+# rust's internals won't choke on.
+def arch_to_rust_target_arch(arch):
+    if arch == "i586" or arch == "i686":
+        return "x86"
+    elif arch == "mipsel":
+        return "mips"
+    elif arch == "mip64sel":
+        return "mips64"
+    else:
+        return arch
+
+# generates our target CPU value
+def llvm_cpu(d):
+    cpu = d.getVar('PACKAGE_ARCH')
+    target = d.getVar('TRANSLATED_TARGET_ARCH')
+
+    trans = {}
+    trans['corei7-64'] = "corei7"
+    trans['core2-32'] = "core2"
+    trans['x86-64'] = "x86-64"
+    trans['i686'] = "i686"
+    trans['i586'] = "i586"
+    trans['powerpc'] = "powerpc"
+    trans['mips64'] = "mips64"
+    trans['mips64el'] = "mips64"
+
+    if target in ["mips", "mipsel"]:
+        feat = frozenset(d.getVar('TUNE_FEATURES').split())
+        if "mips32r2" in feat:
+            trans['mipsel'] = "mips32r2"
+            trans['mips'] = "mips32r2"
+        elif "mips32" in feat:
+            trans['mipsel'] = "mips32"
+            trans['mips'] = "mips32"
+
+    try:
+        return trans[cpu]
+    except:
+        return trans.get(target, "generic")
+
+TARGET_LLVM_CPU="${@llvm_cpu(d)}"
+TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
+
+# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
+# (original) target.
+TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
+
+def rust_gen_target(d, thing, wd, features, cpu):
+    import json
+    from distutils.version import LooseVersion
+    arch = arch_for(d, thing)
+    sys = sys_for(d, thing)
+    prefix = prefix_for(d, thing)
+
+    features = features or d.getVarFlag('FEATURES', arch) or ""
+    features = features.strip()
+
+    # build tspec
+    tspec = {}
+    tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
+    tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
+    tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
+    tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
+    tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
+    tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
+    tspec['arch'] = arch_to_rust_target_arch(arch)
+    tspec['os'] = "linux"
+    if "musl" in tspec['llvm-target']:
+        tspec['env'] = "musl"
+    else:
+        tspec['env'] = "gnu"
+    tspec['vendor'] = "unknown"
+    tspec['target-family'] = "unix"
+    tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
+    tspec['ar'] = "{}ar".format(prefix)
+    tspec['cpu'] = cpu
+    if features is not "":
+        tspec['features'] = features
+    tspec['dynamic-linking'] = True
+    tspec['executables'] = True
+    tspec['linker-is-gnu'] = True
+    tspec['linker-flavor'] = "gcc"
+    tspec['has-rpath'] = True
+    tspec['has-elf-tls'] = True
+    tspec['position-independent-executables'] = True
+    tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
+
+    # Don't use jemalloc as it doesn't work for many targets.
+    # https://github.com/rust-lang/rust/pull/37392
+    # From 1.20.0 and forward, system allocator is the default.
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
+        tspec['exe-allocation-crate'] = "alloc_system"
+        tspec['lib-allocation-crate'] = "alloc_system"
+
+    # write out the target spec json file
+    with open(wd + sys + '.json', 'w') as f:
+        json.dump(tspec, f, indent=4)
+
+python do_rust_gen_targets () {
+    wd = d.getVar('WORKDIR') + '/targets/'
+    rust_gen_target(d, 'BUILD', wd, "", "generic")
+}
+
+addtask rust_gen_targets after do_patch before do_compile
+do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu]
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+       target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+    else :
+       target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+
+    config.add_section(target_section)
+
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+    
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles 
+    config.set("rust", "verbose-tests", e(True))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+        targets = [d.getVar("RUST_TARGET_SYS", True)]
+    else:
+        targets = [d.getVar("TARGET_SYS", True)]
+
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    nativepython3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" 
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {	
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+    else
+       rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
+    fi
+}
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
+    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
+
+
+    export TEST_DEVICE_ADDR="127.0.0.1:12345"
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
+    else
+       rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
+    fi
+
+}
+addtask do_check after do_compile
+
diff --git a/meta/recipes-devtools/rust/rust-test_1.46.0.bb b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
new file mode 100644
index 0000000000..b724ea5eb0
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
@@ -0,0 +1,12 @@
+require rust-test.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+DEPENDS += "rust-llvm (=${PV})"
+
+# Otherwise we'll depend on what we provide
+INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
+# We don't need to depend on gcc-native because yocto assumes it exists
+PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
+
+BBCLASSEXTEND = "native"
diff --git a/scripts/runqemu b/scripts/runqemu
index dd92a64553..1a21a90add 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1055,7 +1055,7 @@ class BaseConfig(object):
         logger.info("Network configuration:%s", netconf)
         self.kernel_cmdline_script += netconf
         # Port mapping
-        hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
+        hostfwd = ",hostfwd=tcp::12345-:12345,hostfwd=tcp::2323-:23,hostfwd=tcp::2222-:22"
         qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
         qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
         # Figure out the port
@@ -1084,6 +1084,19 @@ class BaseConfig(object):
                         mac += 1
             if p != p_new:
                 ports.append(p_new)
+                temp=__file__.split(os.path.basename(__file__))[0]
+                with open(temp+"../meta/recipes-devtools/rust/rust-test.inc", 'r+') as f:
+                    text = f.readlines()
+                    temp1=[]
+                    for i in text:
+                        temp = re.sub(r'(\S+\s)(-.)(\s\d+)( -o StrictHostKeyChecking=no .*)', r'\1\2 '+str(p_new)+'\\4', i)
+                        temp1.append(temp)
+                    temp2=''
+                    for i in temp1:
+                        temp2=temp2+i
+                    f.seek(0)
+                    f.write(temp2)
+                    f.truncate()
                 qb_slirp_opt = re.sub(':%s-' % p, ':%s-' % p_new, qb_slirp_opt)
                 logger.info("Port forward changed: %s -> %s" % (p, p_new))
         mac = "%s%02x" % (self.mac_slirp, mac)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH] Rust cross testing integration with oe-selftest.
  2021-04-09 11:59 [PATCH] Rust cross testing integration with oe-selftest Vinay Kumar
@ 2021-04-10  9:50 ` Alexander Kanavin
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
  2021-04-15 14:30   ` [OE-core] [PATCH] Rust cross testing integration with oe-selftest Vinay Kumar
  0 siblings, 2 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-04-10  9:50 UTC (permalink / raw)
  To: Vinay Kumar; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 27840 bytes --]

There are a few unrelated changes all bundled together - please split it
into several commits and properly describe each. Particularly rust-test.inc
is huge, and does need a proper explanation of what is happening and why,
in both the commit message and inline comments. Do keep in mind: making the
code work is only half the job, the other half is explaining what happens
to other humans.

Alex

On Fri, 9 Apr 2021 at 13:59, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  meta/classes/rust-common.bbclass              |   5 +-
>  meta/conf/bitbake.conf                        |   2 +-
>  meta/lib/oeqa/selftest/cases/rust.py          |  41 ++
>  meta/lib/oeqa/utils/qemurunner.py             |   8 +-
>  meta/recipes-devtools/rust/rust-test.inc      | 504 ++++++++++++++++++
>  .../recipes-devtools/rust/rust-test_1.46.0.bb |  12 +
>  scripts/runqemu                               |  15 +-
>  7 files changed, 583 insertions(+), 4 deletions(-)
>  create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
>  create mode 100644 meta/recipes-devtools/rust/rust-test.inc
>  create mode 100644 meta/recipes-devtools/rust/rust-test_1.46.0.bb
>
> diff --git a/meta/classes/rust-common.bbclass
> b/meta/classes/rust-common.bbclass
> index ff7b9da8f3..fb75b07ba3 100644
> --- a/meta/classes/rust-common.bbclass
> +++ b/meta/classes/rust-common.bbclass
> @@ -84,7 +84,10 @@ def rust_base_triple(d, thing):
>      # This catches ARM targets and appends the necessary hard float bits
>      if os == "linux-gnueabi" or os == "linux-musleabi":
>          libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard',
> 'hf', '', d)
> -    return arch + vendor + '-' + os + libc
> +    if d.getVar('TARGET_ARCH') == 'mips64':
> +       return arch + vendor + '-' + os + libc + 'abi64'
> +    else:
> +       return arch + vendor + '-' + os + libc
>
>  # Naming explanation
>  # Yocto
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 3438be92b7..83e1b68071 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
>  HOSTTOOLS += " \
>      [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp
> comm cp cpio \
>      cpp cut date dd diff diffstat dirname du echo egrep env expand expr
> false \
> -    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip
> gzip \
> +    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip
> gzip \
>      head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo
> mknod \
>      mktemp mv nm objcopy objdump od patch perl pr printf pwd \
>      python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
> diff --git a/meta/lib/oeqa/selftest/cases/rust.py
> b/meta/lib/oeqa/selftest/cases/rust.py
> new file mode 100644
> index 0000000000..69a1a285a9
> --- /dev/null
> +++ b/meta/lib/oeqa/selftest/cases/rust.py
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: MIT
> +import os
> +from oeqa.core.decorator import OETestTag
> +from oeqa.core.case import OEPTestResultTestCase
> +from oeqa.selftest.case import OESelftestTestCase
> +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars,
> runqemu, Command
> +
> +class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
> +
> +       def run_check(self, *suites, ssh = None):
> +               # configure ssh target
> +               features = []
> +               if ssh is not None:
> +                       features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
> +                       features.append('TOOLCHAIN_TEST_HOST =
> "{0}"'.format(ssh))
> +                       features.append('TOOLCHAIN_TEST_HOST_USER =
> "root"')
> +                       features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
> +               self.write_config("\n".join(features))
> +
> +               recipe = "rust-test"
> +               bitbake("{} -c check".format(recipe))
> +
> +       def run_check_emulated(self, *args, **kwargs):
> +               # build remote-test-server before image build
> +               recipe = "rust-test"
> +               bitbake("{} -c compile".format(recipe))
> +               # build core-image-minimal with required packages
> +               default_installed_packages = ["libgcc", "libstdc++",
> "libatomic", "libgomp"]
> +               features = []
> +               features.append('IMAGE_FEATURES += "ssh-server-openssh"')
> +               features.append('CORE_IMAGE_EXTRA_INSTALL +=
> "{0}"'.format(" ".join(default_installed_packages)))
> +               self.write_config("\n".join(features))
> +               bitbake("core-image-minimal")
> +               # wrap the execution with a qemu instance
> +               with runqemu("core-image-minimal", runqemuparams =
> "nographic slirp") as qemu:
> +                       return self.run_check(*args, ssh=qemu.ip, **kwargs)
> +
> +@OETestTag("toolchain-system")
> +class RustSelfTestSystemEmulated(RustSelfTestBase):
> +       def test_rust(self):
> +               self.run_check_emulated("rust")
> diff --git a/meta/lib/oeqa/utils/qemurunner.py
> b/meta/lib/oeqa/utils/qemurunner.py
> index 77ec939ad7..aea7c624ec 100644
> --- a/meta/lib/oeqa/utils/qemurunner.py
> +++ b/meta/lib/oeqa/utils/qemurunner.py
> @@ -184,7 +184,13 @@ class QemuRunner:
>          # and analyze descendents in order to determine it.
>          if os.path.exists(self.qemu_pidfile):
>              os.remove(self.qemu_pidfile)
> -        self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile
> {1}"'.format(bootparams, self.qemu_pidfile)
> +
> +        if "slirp" in launch_cmd:
> +            self.use_slirp = True
> +            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}
> -monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial
> null"'.format(bootparams, self.qemu_pidfile)
> +        else:
> +            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile
> {1}"'.format(bootparams, self.qemu_pidfile)
> +
>          if qemuparams:
>              self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + "
> " + '\"'
>
> diff --git a/meta/recipes-devtools/rust/rust-test.inc
> b/meta/recipes-devtools/rust/rust-test.inc
> new file mode 100644
> index 0000000000..0a13b3e0d8
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-test.inc
> @@ -0,0 +1,504 @@
> +HOMEPAGE = "http://www.rust-lang.org"
> +SECTION = "devel"
> +LICENSE = "MIT | Apache-2.0"
> +
> +inherit rust
> +inherit cargo_common
> +
> +DEPENDS += "file-native python3-native"
> +DEPENDS_append_class-native = " rust-llvm-native"
> +
> +# In case of x86_64 target we setting this path to location of
> "x86_64-poky-linux.json".
> +# This is to differentiate cross target and build in config.toml file.
> +export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
> +
> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> +
> +#export YOCTO_ALTERNATE_EXE_PATH =
> "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
> +export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
> +
> +# We don't want to use bitbakes vendoring because the rust sources do
> their
> +# own vendoring.
> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> +
> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> +setup_cargo_environment () {
> +    # The first step is to build bootstrap and some early stage tools,
> +    # these are build for the same target as the snapshot, e.g.
> +    # x86_64-unknown-linux-gnu.
> +    # Later stages are build for the native target (i.e.
> target.x86_64-linux)
> +    cargo_common_do_configure
> +
> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> +}
> +
> +# Right now this is focused on arm-specific tune features.
> +# We get away with this for now as one can only use x86-64 as the build
> host
> +# (not arm).
> +# Note that TUNE_FEATURES is _always_ refering to the target, so we really
> +# don't want to use this for the host/build.
> +def llvm_features_from_tune(d):
> +    f = []
> +    feat = d.getVar('TUNE_FEATURES')
> +    if not feat:
> +        return []
> +    feat = frozenset(feat.split())
> +
> +    mach_overrides = d.getVar('MACHINEOVERRIDES')
> +    mach_overrides = frozenset(mach_overrides.split(':'))
> +
> +    if 'vfpv4' in feat:
> +        f.append("+vfp4")
> +    if 'vfpv3' in feat:
> +        f.append("+vfp3")
> +    if 'vfpv3d16' in feat:
> +        f.append("+d16")
> +
> +    if 'vfpv2' in feat or 'vfp' in feat:
> +        f.append("+vfp2")
> +
> +    if 'neon' in feat:
> +        f.append("+neon")
> +
> +    if 'aarch64' in feat:
> +        f.append("+v8")
> +
> +    if 'mips32' in feat:
> +        f.append("+mips32")
> +
> +    if 'mips32r2' in feat:
> +        f.append("+mips32r2")
> +
> +    v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
> +    if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
> +        f.append("+v7")
> +    if ('armv6' in mach_overrides) or ('armv6' in feat):
> +        f.append("+v6")
> +
> +    if 'dsp' in feat:
> +        f.append("+dsp")
> +
> +    if 'thumb' in feat:
> +        if d.getVar('ARM_THUMB_OPT') is "thumb":
> +            if (not mach_overrides.isdisjoint(v7)) or (not
> feat.isdisjoint(v7)):
> +                f.append("+thumb2")
> +            f.append("+thumb-mode")
> +
> +    if 'cortexa5' in feat:
> +        f.append("+a5")
> +    if 'cortexa7' in feat:
> +        f.append("+a7")
> +    if 'cortexa9' in feat:
> +        f.append("+a9")
> +    if 'cortexa15' in feat:
> +        f.append("+a15")
> +    if 'cortexa17' in feat:
> +        f.append("+a17")
> +
> +    return f
> +
> +# TARGET_CC_ARCH changes from build/cross/target so it'll do the right
> thing
> +# this should go away when https://github.com/rust-lang/rust/pull/31709
> is
> +# stable (1.9.0?)
> +def llvm_features_from_cc_arch(d):
> +    f = []
> +    feat = d.getVar('TARGET_CC_ARCH')
> +    if not feat:
> +        return []
> +    feat = frozenset(feat.split())
> +
> +    if '-mmmx' in feat:
> +        f.append("+mmx")
> +    if '-msse' in feat:
> +        f.append("+sse")
> +    if '-msse2' in feat:
> +        f.append("+sse2")
> +    if '-msse3' in feat:
> +        f.append("+sse3")
> +    if '-mssse3' in feat:
> +        f.append("+ssse3")
> +    if '-msse4.1' in feat:
> +        f.append("+sse4.1")
> +    if '-msse4.2' in feat:
> +        f.append("+sse4.2")
> +    if '-msse4a' in feat:
> +        f.append("+sse4a")
> +    if '-mavx' in feat:
> +        f.append("+avx")
> +    if '-mavx2' in feat:
> +        f.append("+avx2")
> +
> +    return f
> +
> +def llvm_features_from_target_fpu(d):
> +    # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft
> float
> +    # ABI. There is no option for hard.
> +
> +    fpu = d.getVar('TARGET_FPU', True)
> +    return ["+soft-float"] if fpu == "soft" else []
> +
> +def llvm_features(d):
> +    return ','.join(llvm_features_from_tune(d) +
> +                    llvm_features_from_cc_arch(d) +
> +                    llvm_features_from_target_fpu(d))
> +
> +## arm-unknown-linux-gnueabihf
> +DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
> +LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[arm] = "little"
> +TARGET_POINTER_WIDTH[arm] = "32"
> +TARGET_C_INT_WIDTH[arm] = "32"
> +MAX_ATOMIC_WIDTH[arm] = "64"
> +FEATURES[arm] = "+v6,+vfp2"
> +
> +## aarch64-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[aarch64] =
> "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
> +LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[aarch64] = "little"
> +TARGET_POINTER_WIDTH[aarch64] = "64"
> +TARGET_C_INT_WIDTH[aarch64] = "32"
> +MAX_ATOMIC_WIDTH[aarch64] = "128"
> +
> +## x86_64-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
> +LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[x86_64] = "little"
> +TARGET_POINTER_WIDTH[x86_64] = "64"
> +TARGET_C_INT_WIDTH[x86_64] = "32"
> +MAX_ATOMIC_WIDTH[x86_64] = "64"
> +
> +## i686-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
> +LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[i686] = "little"
> +TARGET_POINTER_WIDTH[i686] = "32"
> +TARGET_C_INT_WIDTH[i686] = "32"
> +MAX_ATOMIC_WIDTH[i686] = "64"
> +
> +## XXX: a bit of a hack so qemux86 builds, clone of
> i686-unknown-linux-{gnu, musl} above
> +DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
> +LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[i586] = "little"
> +TARGET_POINTER_WIDTH[i586] = "32"
> +TARGET_C_INT_WIDTH[i586] = "32"
> +MAX_ATOMIC_WIDTH[i586] = "64"
> +
> +## mips-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
> +LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[mips] = "big"
> +TARGET_POINTER_WIDTH[mips] = "32"
> +TARGET_C_INT_WIDTH[mips] = "32"
> +MAX_ATOMIC_WIDTH[mips] = "32"
> +
> +## mipsel-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
> +LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[mipsel] = "little"
> +TARGET_POINTER_WIDTH[mipsel] = "32"
> +TARGET_C_INT_WIDTH[mipsel] = "32"
> +MAX_ATOMIC_WIDTH[mipsel] = "32"
> +
> +## mips64-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
> +LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[mips64] = "big"
> +TARGET_POINTER_WIDTH[mips64] = "64"
> +TARGET_C_INT_WIDTH[mips64] = "64"
> +MAX_ATOMIC_WIDTH[mips64] = "64"
> +
> +## mips64el-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
> +LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[mips64el] = "little"
> +TARGET_POINTER_WIDTH[mips64el] = "64"
> +TARGET_C_INT_WIDTH[mips64el] = "64"
> +MAX_ATOMIC_WIDTH[mips64el] = "64"
> +
> +## powerpc-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
> +LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[powerpc] = "big"
> +TARGET_POINTER_WIDTH[powerpc] = "32"
> +TARGET_C_INT_WIDTH[powerpc] = "32"
> +MAX_ATOMIC_WIDTH[powerpc] = "32"
> +
> +## riscv32-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[riscv32] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
> +LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[riscv32] = "little"
> +TARGET_POINTER_WIDTH[riscv32] = "32"
> +TARGET_C_INT_WIDTH[riscv32] = "32"
> +MAX_ATOMIC_WIDTH[riscv32] = "32"
> +
> +## riscv64-unknown-linux-{gnu, musl}
> +DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
> +LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
> +TARGET_ENDIAN[riscv64] = "little"
> +TARGET_POINTER_WIDTH[riscv64] = "64"
> +TARGET_C_INT_WIDTH[riscv64] = "64"
> +MAX_ATOMIC_WIDTH[riscv64] = "64"
> +
> +def arch_for(d, thing):
> +    return d.getVar('{}_ARCH'.format(thing))
> +
> +def sys_for(d, thing):
> +    return d.getVar('{}_SYS'.format(thing))
> +
> +def prefix_for(d, thing):
> +    return d.getVar('{}_PREFIX'.format(thing))
> +
> +# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to
> something
> +# rust's internals won't choke on.
> +def arch_to_rust_target_arch(arch):
> +    if arch == "i586" or arch == "i686":
> +        return "x86"
> +    elif arch == "mipsel":
> +        return "mips"
> +    elif arch == "mip64sel":
> +        return "mips64"
> +    else:
> +        return arch
> +
> +# generates our target CPU value
> +def llvm_cpu(d):
> +    cpu = d.getVar('PACKAGE_ARCH')
> +    target = d.getVar('TRANSLATED_TARGET_ARCH')
> +
> +    trans = {}
> +    trans['corei7-64'] = "corei7"
> +    trans['core2-32'] = "core2"
> +    trans['x86-64'] = "x86-64"
> +    trans['i686'] = "i686"
> +    trans['i586'] = "i586"
> +    trans['powerpc'] = "powerpc"
> +    trans['mips64'] = "mips64"
> +    trans['mips64el'] = "mips64"
> +
> +    if target in ["mips", "mipsel"]:
> +        feat = frozenset(d.getVar('TUNE_FEATURES').split())
> +        if "mips32r2" in feat:
> +            trans['mipsel'] = "mips32r2"
> +            trans['mips'] = "mips32r2"
> +        elif "mips32" in feat:
> +            trans['mipsel'] = "mips32"
> +            trans['mips'] = "mips32"
> +
> +    try:
> +        return trans[cpu]
> +    except:
> +        return trans.get(target, "generic")
> +
> +TARGET_LLVM_CPU="${@llvm_cpu(d)}"
> +TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
> +
> +# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the
> real
> +# (original) target.
> +TARGET_LLVM_FEATURES_class-native =
> "${@','.join(llvm_features_from_cc_arch(d))}"
> +
> +def rust_gen_target(d, thing, wd, features, cpu):
> +    import json
> +    from distutils.version import LooseVersion
> +    arch = arch_for(d, thing)
> +    sys = sys_for(d, thing)
> +    prefix = prefix_for(d, thing)
> +
> +    features = features or d.getVarFlag('FEATURES', arch) or ""
> +    features = features.strip()
> +
> +    # build tspec
> +    tspec = {}
> +    tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
> +    tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
> +    tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH',
> arch))
> +    tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH',
> arch)
> +    tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
> +    tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
> +    tspec['arch'] = arch_to_rust_target_arch(arch)
> +    tspec['os'] = "linux"
> +    if "musl" in tspec['llvm-target']:
> +        tspec['env'] = "musl"
> +    else:
> +        tspec['env'] = "gnu"
> +    tspec['vendor'] = "unknown"
> +    tspec['target-family'] = "unix"
> +    tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
> +    tspec['ar'] = "{}ar".format(prefix)
> +    tspec['cpu'] = cpu
> +    if features is not "":
> +        tspec['features'] = features
> +    tspec['dynamic-linking'] = True
> +    tspec['executables'] = True
> +    tspec['linker-is-gnu'] = True
> +    tspec['linker-flavor'] = "gcc"
> +    tspec['has-rpath'] = True
> +    tspec['has-elf-tls'] = True
> +    tspec['position-independent-executables'] = True
> +    tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
> +
> +    # Don't use jemalloc as it doesn't work for many targets.
> +    # https://github.com/rust-lang/rust/pull/37392
> +    # From 1.20.0 and forward, system allocator is the default.
> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
> +        tspec['exe-allocation-crate'] = "alloc_system"
> +        tspec['lib-allocation-crate'] = "alloc_system"
> +
> +    # write out the target spec json file
> +    with open(wd + sys + '.json', 'w') as f:
> +        json.dump(tspec, f, indent=4)
> +
> +python do_rust_gen_targets () {
> +    wd = d.getVar('WORKDIR') + '/targets/'
> +    rust_gen_target(d, 'BUILD', wd, "", "generic")
> +}
> +
> +addtask rust_gen_targets after do_patch before do_compile
> +do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
> +
> +do_rust_setup_snapshot () {
> +    for installer in
> "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot"
> --disable-ldconfig
> +    done
> +
> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in
> stage0/bin/cargo
> +    # and fail without it there.
> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> +}
> +addtask rust_setup_snapshot after do_unpack before do_configure
> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> +
> +
> +python do_configure() {
> +    import json
> +    from distutils.version import LooseVersion
> +    try:
> +        import configparser
> +    except ImportError:
> +        import ConfigParser as configparser
> +
> +    # toml is rather similar to standard ini like format except it likes
> values
> +    # that look more JSON like. So for our purposes simply escaping all
> values
> +    # as JSON seem to work fine.
> +
> +    e = lambda s: json.dumps(s)
> +
> +    config = configparser.RawConfigParser()
> +
> +    # [target.ARCH-unknown-linux-gnu]
> +    if( d.getVar('RUST_TARGET_SYS', True) !=
> d.getVar('SNAPSHOT_BUILD_SYS', True)):
> +       target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS',
> True))
> +    else :
> +       target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> +
> +    config.add_section(target_section)
> +
> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> +    config.set(target_section, "linker",
> e(d.expand("${RUST_TARGET_CCLD}")))
> +
> +    # If we don't do this rust-native will compile it's own llvm for
> BUILD.
> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS',
> True))
> +    config.add_section(target_section)
> +
> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> +
> +    # [rust]
> +    config.add_section("rust")
> +    config.set("rust", "rpath", e(True))
> +    config.set("rust", "channel", e("stable"))
> +
> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
> +        config.set("rust", "use-jemalloc", e(False))
> +
> +    # Whether or not to optimize the compiler and standard library
> +    config.set("rust", "optimize", e(True))
> +
> +    # Emits extraneous output from tests to ensure that failures of the
> test
> +    # harness are debuggable just from logfiles
> +    config.set("rust", "verbose-tests", e(True))
> +
> +    # [build]
> +    config.add_section("build")
> +    config.set("build", "submodules", e(False))
> +    config.set("build", "docs", e(False))
> +
> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> +    config.set("build", "rustc", e(rustc))
> +
> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> +    config.set("build", "cargo", e(cargo))
> +
> +    config.set("build", "vendor", e(True))
> +
> +    if( d.getVar('RUST_TARGET_SYS', True) !=
> d.getVar('SNAPSHOT_BUILD_SYS', True)):
> +        targets = [d.getVar("RUST_TARGET_SYS", True)]
> +    else:
> +        targets = [d.getVar("TARGET_SYS", True)]
> +
> +    config.set("build", "target", e(targets))
> +
> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
> +    config.set("build", "host", e(hosts))
> +
> +    # We can't use BUILD_SYS since that is something the rust snapshot
> knows
> +    # nothing about when trying to build some stage0 tools (like
> fabricate)
> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> +
> +    with open("config.toml", "w") as f:
> +        config.write(f)
> +
> +    # set up ${WORKDIR}/cargo_home
> +    bb.build.exec_func("setup_cargo_environment", d)
> +}
> +
> +
> +rust_runx () {
> +    echo "COMPILE ${PN}" "$@"
> +
> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> +    # wide range of targets (not just TARGET). Yocto's settings for them
> will
> +    # be inappropriate, avoid using.
> +    unset CFLAGS
> +    unset LDFLAGS
> +    unset CXXFLAGS
> +    unset CPPFLAGS
> +
> +    oe_cargo_fix_env
> +
> +    nativepython3 src/bootstrap/bootstrap.py
> ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@"
> +}
> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
> +
> +do_compile () {
> +    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
> +    then
> +       rust_runx build src/tools/remote-test-server --target
> "${TARGET_SYS}"
> +    else
> +       rust_runx build src/tools/remote-test-server --target
> "${RUST_TARGET_SYS}"
> +    fi
> +}
> +
> +do_check[dirs] += "${B}"
> +do_check[nostamp] = "1"
> +do_check () {
> +    scp -P 2222 -o StrictHostKeyChecking=no
> build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server
> root@127.0.0.1:~/
> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1
> "~/remote-test-server -v remote"
> +
> +
> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
> +    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
> +    then
> +       rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
> summary.txt 2> /dev/null
> +    else
> +       rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" >
> summary.txt 2> /dev/null
> +    fi
> +
> +}
> +addtask do_check after do_compile
> +
> diff --git a/meta/recipes-devtools/rust/rust-test_1.46.0.bb
> b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
> new file mode 100644
> index 0000000000..b724ea5eb0
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
> @@ -0,0 +1,12 @@
> +require rust-test.inc
> +require rust-source-${PV}.inc
> +require rust-snapshot-${PV}.inc
> +
> +DEPENDS += "rust-llvm (=${PV})"
> +
> +# Otherwise we'll depend on what we provide
> +INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
> +# We don't need to depend on gcc-native because yocto assumes it exists
> +PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
> +
> +BBCLASSEXTEND = "native"
> diff --git a/scripts/runqemu b/scripts/runqemu
> index dd92a64553..1a21a90add 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -1055,7 +1055,7 @@ class BaseConfig(object):
>          logger.info("Network configuration:%s", netconf)
>          self.kernel_cmdline_script += netconf
>          # Port mapping
> -        hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
> +        hostfwd =
> ",hostfwd=tcp::12345-:12345,hostfwd=tcp::2323-:23,hostfwd=tcp::2222-:22"
>          qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" %
> (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
>          qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
>          # Figure out the port
> @@ -1084,6 +1084,19 @@ class BaseConfig(object):
>                          mac += 1
>              if p != p_new:
>                  ports.append(p_new)
> +                temp=__file__.split(os.path.basename(__file__))[0]
> +                with
> open(temp+"../meta/recipes-devtools/rust/rust-test.inc", 'r+') as f:
> +                    text = f.readlines()
> +                    temp1=[]
> +                    for i in text:
> +                        temp = re.sub(r'(\S+\s)(-.)(\s\d+)( -o
> StrictHostKeyChecking=no .*)', r'\1\2 '+str(p_new)+'\\4', i)
> +                        temp1.append(temp)
> +                    temp2=''
> +                    for i in temp1:
> +                        temp2=temp2+i
> +                    f.seek(0)
> +                    f.write(temp2)
> +                    f.truncate()
>                  qb_slirp_opt = re.sub(':%s-' % p, ':%s-' % p_new,
> qb_slirp_opt)
>                  logger.info("Port forward changed: %s -> %s" % (p,
> p_new))
>          mac = "%s%02x" % (self.mac_slirp, mac)
> --
> 2.17.1
>
>
> 
>
>

[-- Attachment #2: Type: text/html, Size: 35708 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file.
  2021-04-10  9:50 ` [OE-core] " Alexander Kanavin
@ 2021-04-15  9:32   ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 2/8] The function "do_compile" is to compile remote-test-server, and "do_check" to trigger the rust testing Vinay Kumar
                       ` (6 more replies)
  2021-04-15 14:30   ` [OE-core] [PATCH] Rust cross testing integration with oe-selftest Vinay Kumar
  1 sibling, 7 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

The config.toml we are generating throgh rust-test.inc is as below,
===============================================
[target.arm-poky-linux-gnueabi]
cxx = "{yocto-build-target-path}/rust-test/1.46.0-r0/wrapper/target-rust-cxx"
cc = "{yocto-build-target-path}/rust-test/1.46.0-r0/wrapper/target-rust-cc"
linker = "{yocto-build-target-path}/rust-test/1.46.0-r0/wrapper/target-rust-ccld"

[target.x86_64-unknown-linux-gnu]
cxx = "{yocto-build-target-path}/rust-test/1.46.0-r0/wrapper/build-rust-cxx"
cc = "{yocto-build-target-path}/rust-test/1.46.0-r0/wrapper/build-rust-cc"

[rust]
rpath = true
channel = "stable"
optimize = true
verbose-tests = true

[build]
submodules = false
docs = false
rustc = "{yocto-build-target-path}/rust-test/1.46.0-r0/rust-snapshot/bin/rustc"
cargo = "{yocto-build-target-path}/rust-test/1.46.0-r0/rust-snapshot/bin/cargo"
vendor = true
verbose = 2
build-dir = "build-arm"
target = ["arm-poky-linux-gnueabi"]
host = ["x86_64-unknown-linux-gnu"]
build = "x86_64-unknown-linux-gnu"
===============================================

And "rust-test_1.46.0.bb" is copy of rust_1.46.0.bb so that we can use with changes
specific to "rust-test.inc". Also, we removed "llvm_config" path from generating in the config.toml

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-test.inc      | 520 ++++++++++++++++++
 .../recipes-devtools/rust/rust-test_1.46.0.bb |  12 +
 2 files changed, 532 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-test.inc
 create mode 100644 meta/recipes-devtools/rust/rust-test_1.46.0.bb

diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
new file mode 100644
index 0000000000..0d3eaa10cf
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test.inc
@@ -0,0 +1,520 @@
+SUMMARY = "Rust compiler and runtime libaries"
+HOMEPAGE = "http://www.rust-lang.org"
+SECTION = "devel"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+DEPENDS_append_class-native = " rust-llvm-native"
+EXCLUDE_FROM_WORLD = "1"
+
+# We generate local targets, and need to be able to locate them
+export RUST_TARGET_PATH="${WORKDIR}/targets/"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
+export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+# Right now this is focused on arm-specific tune features.
+# We get away with this for now as one can only use x86-64 as the build host
+# (not arm).
+# Note that TUNE_FEATURES is _always_ refering to the target, so we really
+# don't want to use this for the host/build.
+def llvm_features_from_tune(d):
+    f = []
+    feat = d.getVar('TUNE_FEATURES')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    mach_overrides = d.getVar('MACHINEOVERRIDES')
+    mach_overrides = frozenset(mach_overrides.split(':'))
+
+    if 'vfpv4' in feat:
+        f.append("+vfp4")
+    if 'vfpv3' in feat:
+        f.append("+vfp3")
+    if 'vfpv3d16' in feat:
+        f.append("+d16")
+
+    if 'vfpv2' in feat or 'vfp' in feat:
+        f.append("+vfp2")
+
+    if 'neon' in feat:
+        f.append("+neon")
+
+    if 'aarch64' in feat:
+        f.append("+v8")
+
+    if 'mips32' in feat:
+        f.append("+mips32")
+
+    if 'mips32r2' in feat:
+        f.append("+mips32r2")
+
+    if target_is_armv7(d):
+        f.append('+v7')
+
+    if ('armv6' in mach_overrides) or ('armv6' in feat):
+        f.append("+v6")
+
+    if 'dsp' in feat:
+        f.append("+dsp")
+
+    if 'thumb' in feat:
+        if d.getVar('ARM_THUMB_OPT') is "thumb":
+            if target_is_armv7(d):
+                f.append('+thumb2')
+            f.append("+thumb-mode")
+
+    if 'cortexa5' in feat:
+        f.append("+a5")
+    if 'cortexa7' in feat:
+        f.append("+a7")
+    if 'cortexa9' in feat:
+        f.append("+a9")
+    if 'cortexa15' in feat:
+        f.append("+a15")
+    if 'cortexa17' in feat:
+        f.append("+a17")
+    if ('riscv64' in feat) or ('riscv32' in feat):
+        f.append("+a,+c,+d,+f,+m")
+    return f
+
+# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
+# this should go away when https://github.com/rust-lang/rust/pull/31709 is
+# stable (1.9.0?)
+def llvm_features_from_cc_arch(d):
+    f = []
+    feat = d.getVar('TARGET_CC_ARCH')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    if '-mmmx' in feat:
+        f.append("+mmx")
+    if '-msse' in feat:
+        f.append("+sse")
+    if '-msse2' in feat:
+        f.append("+sse2")
+    if '-msse3' in feat:
+        f.append("+sse3")
+    if '-mssse3' in feat:
+        f.append("+ssse3")
+    if '-msse4.1' in feat:
+        f.append("+sse4.1")
+    if '-msse4.2' in feat:
+        f.append("+sse4.2")
+    if '-msse4a' in feat:
+        f.append("+sse4a")
+    if '-mavx' in feat:
+        f.append("+avx")
+    if '-mavx2' in feat:
+        f.append("+avx2")
+
+    return f
+
+def llvm_features_from_target_fpu(d):
+    # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
+    # ABI. There is no option for hard.
+
+    fpu = d.getVar('TARGET_FPU', True)
+    return ["+soft-float"] if fpu == "soft" else []
+
+def llvm_features(d):
+    return ','.join(llvm_features_from_tune(d) +
+                    llvm_features_from_cc_arch(d) +
+                    llvm_features_from_target_fpu(d))
+
+## arm-unknown-linux-gnueabihf
+DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[arm] = "little"
+TARGET_POINTER_WIDTH[arm] = "32"
+TARGET_C_INT_WIDTH[arm] = "32"
+MAX_ATOMIC_WIDTH[arm] = "64"
+FEATURES[arm] = "+v6,+vfp2"
+
+## armv7-unknown-linux-gnueabihf
+DATA_LAYOUT[armv7] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[armv7] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[armv7] = "little"
+TARGET_POINTER_WIDTH[armv7] = "32"
+TARGET_C_INT_WIDTH[armv7] = "32"
+MAX_ATOMIC_WIDTH[armv7] = "64"
+FEATURES[armv7] = "+v7,+vfp2,+thumb2"
+
+## aarch64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[aarch64] = "little"
+TARGET_POINTER_WIDTH[aarch64] = "64"
+TARGET_C_INT_WIDTH[aarch64] = "32"
+MAX_ATOMIC_WIDTH[aarch64] = "128"
+
+## x86_64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[x86_64] = "little"
+TARGET_POINTER_WIDTH[x86_64] = "64"
+TARGET_C_INT_WIDTH[x86_64] = "32"
+MAX_ATOMIC_WIDTH[x86_64] = "64"
+
+## i686-unknown-linux-{gnu, musl}
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i686] = "little"
+TARGET_POINTER_WIDTH[i686] = "32"
+TARGET_C_INT_WIDTH[i686] = "32"
+MAX_ATOMIC_WIDTH[i686] = "64"
+
+## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
+DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i586] = "little"
+TARGET_POINTER_WIDTH[i586] = "32"
+TARGET_C_INT_WIDTH[i586] = "32"
+MAX_ATOMIC_WIDTH[i586] = "64"
+
+## mips-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips] = "big"
+TARGET_POINTER_WIDTH[mips] = "32"
+TARGET_C_INT_WIDTH[mips] = "32"
+MAX_ATOMIC_WIDTH[mips] = "32"
+
+## mipsel-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mipsel] = "little"
+TARGET_POINTER_WIDTH[mipsel] = "32"
+TARGET_C_INT_WIDTH[mipsel] = "32"
+MAX_ATOMIC_WIDTH[mipsel] = "32"
+
+## mips64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64] = "big"
+TARGET_POINTER_WIDTH[mips64] = "64"
+TARGET_C_INT_WIDTH[mips64] = "64"
+MAX_ATOMIC_WIDTH[mips64] = "64"
+
+## mips64el-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64el] = "little"
+TARGET_POINTER_WIDTH[mips64el] = "64"
+TARGET_C_INT_WIDTH[mips64el] = "64"
+MAX_ATOMIC_WIDTH[mips64el] = "64"
+
+## powerpc-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
+LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[powerpc] = "big"
+TARGET_POINTER_WIDTH[powerpc] = "32"
+TARGET_C_INT_WIDTH[powerpc] = "32"
+MAX_ATOMIC_WIDTH[powerpc] = "32"
+
+## riscv32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv32] = "e-m:e-p:32:32-i64:64-n32-S128"
+LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv32] = "little"
+TARGET_POINTER_WIDTH[riscv32] = "32"
+TARGET_C_INT_WIDTH[riscv32] = "32"
+MAX_ATOMIC_WIDTH[riscv32] = "32"
+
+## riscv64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv64] = "little"
+TARGET_POINTER_WIDTH[riscv64] = "64"
+TARGET_C_INT_WIDTH[riscv64] = "64"
+MAX_ATOMIC_WIDTH[riscv64] = "64"
+
+def arch_for(d, thing):
+    if thing == 'TARGET' and target_is_armv7(d):
+        return "armv7"
+    else:
+        return d.getVar('{}_ARCH'.format(thing))
+
+def sys_for(d, thing):
+    return d.getVar('{}_SYS'.format(thing))
+
+def prefix_for(d, thing):
+    return d.getVar('{}_PREFIX'.format(thing))
+
+# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
+# rust's internals won't choke on.
+def arch_to_rust_target_arch(arch):
+    if arch == "i586" or arch == "i686":
+        return "x86"
+    elif arch == "mipsel":
+        return "mips"
+    elif arch == "mip64sel":
+        return "mips64"
+    elif arch == "armv7":
+        return "arm"
+    else:
+        return arch
+
+# generates our target CPU value
+def llvm_cpu(d):
+    cpu = d.getVar('PACKAGE_ARCH')
+    target = d.getVar('TRANSLATED_TARGET_ARCH')
+
+    trans = {}
+    trans['corei7-64'] = "corei7"
+    trans['core2-32'] = "core2"
+    trans['x86-64'] = "x86-64"
+    trans['i686'] = "i686"
+    trans['i586'] = "i586"
+    trans['powerpc'] = "powerpc"
+    trans['mips64'] = "mips64"
+    trans['mips64el'] = "mips64"
+    trans['riscv64'] = "generic-rv64"
+    trans['riscv32'] = "generic-rv32"
+
+    if target in ["mips", "mipsel"]:
+        feat = frozenset(d.getVar('TUNE_FEATURES').split())
+        if "mips32r2" in feat:
+            trans['mipsel'] = "mips32r2"
+            trans['mips'] = "mips32r2"
+        elif "mips32" in feat:
+            trans['mipsel'] = "mips32"
+            trans['mips'] = "mips32"
+
+    try:
+        return trans[cpu]
+    except:
+        return trans.get(target, "generic")
+
+TARGET_LLVM_CPU="${@llvm_cpu(d)}"
+TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
+
+# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
+# (original) target.
+TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
+
+def rust_gen_target(d, thing, wd, features, cpu):
+    import json
+    from distutils.version import LooseVersion
+    arch = arch_for(d, thing)
+    sys = sys_for(d, thing)
+    prefix = prefix_for(d, thing)
+
+    features = features or d.getVarFlag('FEATURES', arch) or ""
+    features = features.strip()
+
+    # build tspec
+    tspec = {}
+    tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
+    tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
+    tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
+    tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
+    tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
+    tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
+    tspec['arch'] = arch_to_rust_target_arch(arch)
+    tspec['os'] = "linux"
+    if "musl" in tspec['llvm-target']:
+        tspec['env'] = "musl"
+    else:
+        tspec['env'] = "gnu"
+    if "riscv64" in tspec['llvm-target']:
+        tspec['llvm-abiname'] = "lp64d"
+    if "riscv32" in tspec['llvm-target']:
+        tspec['llvm-abiname'] = "ilp32d"
+    tspec['vendor'] = "unknown"
+    tspec['target-family'] = "unix"
+    tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
+    tspec['ar'] = "{}ar".format(prefix)
+    tspec['cpu'] = cpu
+    if features is not "":
+        tspec['features'] = features
+    tspec['dynamic-linking'] = True
+    tspec['executables'] = True
+    tspec['linker-is-gnu'] = True
+    tspec['linker-flavor'] = "gcc"
+    tspec['has-rpath'] = True
+    tspec['has-elf-tls'] = True
+    tspec['position-independent-executables'] = True
+    tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
+
+    # Don't use jemalloc as it doesn't work for many targets.
+    # https://github.com/rust-lang/rust/pull/37392
+    # From 1.20.0 and forward, system allocator is the default.
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
+        tspec['exe-allocation-crate'] = "alloc_system"
+        tspec['lib-allocation-crate'] = "alloc_system"
+
+    # write out the target spec json file
+    with open(wd + sys + '.json', 'w') as f:
+        json.dump(tspec, f, indent=4)
+
+python do_rust_gen_targets () {
+    wd = d.getVar('WORKDIR') + '/targets/'
+    rust_gen_target(d, 'BUILD', wd, "", "generic")
+}
+
+addtask rust_gen_targets after do_patch before do_compile
+do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-poky-linux]
+    target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+    config.add_section(target_section)
+
+    # Points to wrapper files which contain target specific compiler and linker commands. 
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    # Wrapper scripts of build system.
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles
+    config.set("rust", "verbose-tests", e(True))    
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    # Here we are adding "RUST_TARGET_SYS" instead of "TARGET_SYS" as we are using rust supported target.
+    targets = [d.getVar("RUST_TARGET_SYS", True)]
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+    rust_runx build
+}
+
+rust_do_install () {
+    mkdir -p ${D}${bindir}
+    cp build/${HOST_SYS}/stage2/bin/* ${D}${bindir}
+
+    mkdir -p ${D}${libdir}/rustlib
+    cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir}
+    # Remove absolute symlink so bitbake doesn't complain
+    rm -f ${D}${libdir}/rustlib/src/rust
+
+    # Install our custom target.json files
+    local td="${D}${libdir}/rustlib/"
+    install -d "$td"
+    for tgt in "${WORKDIR}/targets/"* ; do
+        install -m 0644 "$tgt" "$td"
+    done
+}
+
+
+do_install () {
+    rust_do_install
+}
+# ex: sts=4 et sw=4 ts=8
diff --git a/meta/recipes-devtools/rust/rust-test_1.46.0.bb b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
new file mode 100644
index 0000000000..b724ea5eb0
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
@@ -0,0 +1,12 @@
+require rust-test.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+DEPENDS += "rust-llvm (=${PV})"
+
+# Otherwise we'll depend on what we provide
+INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
+# We don't need to depend on gcc-native because yocto assumes it exists
+PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
+
+BBCLASSEXTEND = "native"
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 2/8] The function "do_compile" is to compile remote-test-server, and "do_check" to trigger the rust testing.
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 3/8] The rust.py is oe-selftest script to build remote-test-server, qemu-image and boot image in slirp mode. Once the image gets booted throgh "check" the testing starts by copying the "remote-test-server" in to the image Vinay Kumar
                       ` (5 subsequent siblings)
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-test.inc | 34 +++++++++---------------
 1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
index 0d3eaa10cf..3a9b5b367c 100644
--- a/meta/recipes-devtools/rust/rust-test.inc
+++ b/meta/recipes-devtools/rust/rust-test.inc
@@ -492,29 +492,21 @@ rust_runx () {
 }
 rust_runx[vardepsexclude] += "PARALLEL_MAKE"
 
+# We have to build target specific remote-test-server 
+# Reference link - https://rustc-dev-guide.rust-lang.org/tests/intro.html#running-tests-on-a-remote-machine
 do_compile () {
-    rust_runx build
+    rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
 }
 
-rust_do_install () {
-    mkdir -p ${D}${bindir}
-    cp build/${HOST_SYS}/stage2/bin/* ${D}${bindir}
+# To test the rust
+# Copy remote-test-server to qemu-image and execute remote-test-server on qemu-image through ssh in background.
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
+    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
 
-    mkdir -p ${D}${libdir}/rustlib
-    cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir}
-    # Remove absolute symlink so bitbake doesn't complain
-    rm -f ${D}${libdir}/rustlib/src/rust
-
-    # Install our custom target.json files
-    local td="${D}${libdir}/rustlib/"
-    install -d "$td"
-    for tgt in "${WORKDIR}/targets/"* ; do
-        install -m 0644 "$tgt" "$td"
-    done
-}
-
-
-do_install () {
-    rust_do_install
+    export TEST_DEVICE_ADDR="127.0.0.1:12345" 
+    rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
 }
-# ex: sts=4 et sw=4 ts=8
+addtask do_check after do_compile
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 3/8] The rust.py is oe-selftest script to build remote-test-server, qemu-image and boot image in slirp mode. Once the image gets booted throgh "check" the testing starts by copying the "remote-test-server" in to the image.
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
  2021-04-15  9:32     ` [PATCH 2/8] The function "do_compile" is to compile remote-test-server, and "do_check" to trigger the rust testing Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 4/8] In rust testing we have to boot image in slirp mode along with qemu monitor via telnet. Also, we are passing "-serial mon:stdio -serial" to fix runtime errors like, "failed with Connection reset by peer" observed during execution on image Vinay Kumar
                       ` (4 subsequent siblings)
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 43 ++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py

diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..62851256c2
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check(self, *suites, ssh = None):
+		# configure ssh target
+		features = []
+		if ssh is not None:
+			features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+			features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+			features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+			features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+		self.write_config("\n".join(features))
+
+		# Start testing once the remote-test-server is ready and image is booted.
+		recipe = "rust-test"
+		bitbake("{} -c check".format(recipe))
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-test"	
+		bitbake("{} -c compile".format(recipe))
+
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic slirp") as qemu:
+			return self.run_check(*args, ssh=qemu.ip, **kwargs)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 4/8] In rust testing we have to boot image in slirp mode along with qemu monitor via telnet. Also, we are passing "-serial mon:stdio -serial" to fix runtime errors like, "failed with Connection reset by peer" observed during execution on image.
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
  2021-04-15  9:32     ` [PATCH 2/8] The function "do_compile" is to compile remote-test-server, and "do_check" to trigger the rust testing Vinay Kumar
  2021-04-15  9:32     ` [PATCH 3/8] The rust.py is oe-selftest script to build remote-test-server, qemu-image and boot image in slirp mode. Once the image gets booted throgh "check" the testing starts by copying the "remote-test-server" in to the image Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
                       ` (3 subsequent siblings)
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/utils/qemurunner.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 77ec939ad7..dd70a1d77d 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -184,7 +184,14 @@ class QemuRunner:
         # and analyze descendents in order to determine it.
         if os.path.exists(self.qemu_pidfile):
             os.remove(self.qemu_pidfile)
-        self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
+        #In case of rust test we are explicitely passing slirp and qemu monitor via telnet.
+        if "slirp" in launch_cmd:
+            self.use_slirp = True
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} -monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null"'.format(bootparams, self.qemu_pidfile)
+        else:
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
         if qemuparams:
             self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools.
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
                       ` (2 preceding siblings ...)
  2021-04-15  9:32     ` [PATCH 4/8] In rust testing we have to boot image in slirp mode along with qemu monitor via telnet. Also, we are passing "-serial mon:stdio -serial" to fix runtime errors like, "failed with Connection reset by peer" observed during execution on image Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:52       ` [OE-core] " Konrad Weihmann
  2021-04-15 22:17       ` Richard Purdie
  2021-04-15  9:32     ` [PATCH 6/8] We are passing "hostfwd=tcp::12345-:12345" while booting image when slirp is selected. Also, we are using mapped port of ssh :22 to copy remote-test-server to image. We have added a logic to extract the port number whenever multiple instaces of qemu are running (ex., 2222 gets incremented by 1 if its already in use by another qemu) Vinay Kumar
                       ` (2 subsequent siblings)
  6 siblings, 2 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 3438be92b7..83e1b68071 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
 HOSTTOOLS += " \
     [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
     cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
-    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
+    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
     head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
     mktemp mv nm objcopy objdump od patch perl pr printf pwd \
     python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 6/8] We are passing "hostfwd=tcp::12345-:12345" while booting image when slirp is selected. Also, we are using mapped port of ssh :22 to copy remote-test-server to image. We have added a logic to extract the port number whenever multiple instaces of qemu are running (ex., 2222 gets incremented by 1 if its already in use by another qemu).
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
                       ` (3 preceding siblings ...)
  2021-04-15  9:32     ` [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 7/8] These changes are to get the rust target triplet "mips64-unknown-linux-gnuabi64" for mips64 Vinay Kumar
  2021-04-15  9:32     ` [PATCH 8/8] In case of testing for "x86_64" Vinay Kumar
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 scripts/runqemu | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index dd92a64553..c623f38838 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1055,7 +1055,8 @@ class BaseConfig(object):
         logger.info("Network configuration:%s", netconf)
         self.kernel_cmdline_script += netconf
         # Port mapping
-        hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
+        # port 12345 is for rust testing.
+        hostfwd = ",hostfwd=tcp::12345-:12345,hostfwd=tcp::2323-:22,hostfwd=tcp::2222-:22"
         qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
         qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
         # Figure out the port
@@ -1084,6 +1085,21 @@ class BaseConfig(object):
                         mac += 1
             if p != p_new:
                 ports.append(p_new)
+                temp=__file__.split(os.path.basename(__file__))[0]
+                # To get the mapped port of 22. We use this port number to copy remote-test-server to image. 
+                with open(temp+"../meta/recipes-devtools/rust/rust-test.inc", 'r+') as f:
+                    text = f.readlines()
+                    temp1=[]
+                    for i in text:
+                        temp = re.sub(r'(\S+\s)(-.)(\s\d+)( -o StrictHostKeyChecking=no .*)', r'\1\2 '+str(p_new)+'\\4', i)
+                        temp1.append(temp)
+                    temp2=''
+                    for i in temp1:
+                        temp2=temp2+i
+                    f.seek(0)
+                    f.write(temp2)
+                    f.truncate()
+
                 qb_slirp_opt = re.sub(':%s-' % p, ':%s-' % p_new, qb_slirp_opt)
                 logger.info("Port forward changed: %s -> %s" % (p, p_new))
         mac = "%s%02x" % (self.mac_slirp, mac)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 7/8] These changes are to get the rust target triplet "mips64-unknown-linux-gnuabi64" for mips64.
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
                       ` (4 preceding siblings ...)
  2021-04-15  9:32     ` [PATCH 6/8] We are passing "hostfwd=tcp::12345-:12345" while booting image when slirp is selected. Also, we are using mapped port of ssh :22 to copy remote-test-server to image. We have added a logic to extract the port number whenever multiple instaces of qemu are running (ex., 2222 gets incremented by 1 if its already in use by another qemu) Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  2021-04-15  9:32     ` [PATCH 8/8] In case of testing for "x86_64" Vinay Kumar
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/classes/rust-common.bbclass | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
index ff7b9da8f3..87fa397c90 100644
--- a/meta/classes/rust-common.bbclass
+++ b/meta/classes/rust-common.bbclass
@@ -82,9 +82,13 @@ def rust_base_triple(d, thing):
         os = "linux"
 
     # This catches ARM targets and appends the necessary hard float bits
+    # Also, this appends "abi64" in case of mips64 target. Since, rust mips64 target triplet is "mips64-unknown-linux-gnuabi64"
     if os == "linux-gnueabi" or os == "linux-musleabi":
         libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
-    return arch + vendor + '-' + os + libc
+    if d.getVar('TARGET_ARCH') == 'mips64':
+       return arch + vendor + '-' + os + libc + 'abi64'
+    else:
+       return arch + vendor + '-' + os + libc
 
 # Naming explanation
 # Yocto
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH 8/8] In case of testing for "x86_64".
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
                       ` (5 preceding siblings ...)
  2021-04-15  9:32     ` [PATCH 7/8] These changes are to get the rust target triplet "mips64-unknown-linux-gnuabi64" for mips64 Vinay Kumar
@ 2021-04-15  9:32     ` Vinay Kumar
  6 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15  9:32 UTC (permalink / raw)
  To: openembedded-core; +Cc: Vinay Kumar

When the target and build section triplet are identical  getting below error.
====================
error: failed to run custom build command for `memchr v2.3.3`

Also, in poky building for x86_64 using "RUST_TARGET_SYS" we were getting below error,
====================
Exception: configparser.DuplicateSectionError: Section 'target.x86_64-unknown-linux-gnu' already exists

So, we are using x86_64-poky-linux as rust target as below,
====================
python3 src/bootstrap/bootstrap.py test --no-fail-fast --bless --target "x86_64-poky-linux"

By default, the rust does not support target option "x86_64-poky-linux",
by setting the path of "x86_64-poky-linux.json" to RUST_TARGET_PATH the rustc consider this for build.
The "x86_64-poky-linux.json" gets generated in "${STAGING_LIBDIR_NATIVE}/rustlib" so we changed
"RUST_TARGET_PATH" accordingly in rust-test.inc as below

Here, in case of x86_64 target we are using "TARGET_SYS" if both "RUST_TARGET_SYS" and
"SNAPSHOT_BUILD_SYS" are identical (x86_64-unknown-linux-gnu).

We were getting below warnings with x86_64 target and got fixed by "--bless" option.
====================
warning: Linking two modules of different data layouts: '' is 'e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128' whereas 'lto_unwind.7rcbfp3g-cgu.3' is 'e-m:e-i64:64-f80:128-n8:16:32:64-S128'

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-test.inc | 37 ++++++++++++++++++------
 1 file changed, 28 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
index 3a9b5b367c..1b12591421 100644
--- a/meta/recipes-devtools/rust/rust-test.inc
+++ b/meta/recipes-devtools/rust/rust-test.inc
@@ -10,8 +10,8 @@ DEPENDS += "file-native python3-native"
 DEPENDS_append_class-native = " rust-llvm-native"
 EXCLUDE_FROM_WORLD = "1"
 
-# We generate local targets, and need to be able to locate them
-export RUST_TARGET_PATH="${WORKDIR}/targets/"
+# In case of x86_64 target we setting this path to location of "x86_64-poky-linux.json".
+export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
 
 export FORCE_CRATE_HASH="${BB_TASKHASH}"
 
@@ -410,8 +410,12 @@ python do_configure() {
 
     config = configparser.RawConfigParser()
 
-    # [target.ARCH-poky-linux]
-    target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux] 
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+       target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+    else :
+       target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+
     config.add_section(target_section)
 
     # Points to wrapper files which contain target specific compiler and linker commands. 
@@ -456,8 +460,12 @@ python do_configure() {
 
     config.set("build", "vendor", e(True))
 
-    # Here we are adding "RUST_TARGET_SYS" instead of "TARGET_SYS" as we are using rust supported target.
-    targets = [d.getVar("RUST_TARGET_SYS", True)]
+    # Here we are using "RUST_TARGET_SYS" and incase of x86_64 "TARGET_SYS" as rust supported target.
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+        targets = [d.getVar("RUST_TARGET_SYS", True)]
+    else:
+        targets = [d.getVar("TARGET_SYS", True)]
+
     config.set("build", "target", e(targets))
 
     hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
@@ -495,7 +503,13 @@ rust_runx[vardepsexclude] += "PARALLEL_MAKE"
 # We have to build target specific remote-test-server 
 # Reference link - https://rustc-dev-guide.rust-lang.org/tests/intro.html#running-tests-on-a-remote-machine
 do_compile () {
-    rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+    else
+       rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
+    fi
+
 }
 
 # To test the rust
@@ -506,7 +520,12 @@ do_check () {
     scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
     ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
 
-    export TEST_DEVICE_ADDR="127.0.0.1:12345" 
-    rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
+    export TEST_DEVICE_ADDR="127.0.0.1:12345"
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
+    else
+       rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
+    fi
 }
 addtask do_check after do_compile
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools.
  2021-04-15  9:32     ` [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
@ 2021-04-15  9:52       ` Konrad Weihmann
  2021-04-15 22:17       ` Richard Purdie
  1 sibling, 0 replies; 90+ messages in thread
From: Konrad Weihmann @ 2021-04-15  9:52 UTC (permalink / raw)
  To: Vinay Kumar, openembedded-core

That doesn't look right to me - or it's not properly described - IMO CC 
should be picked from the recipe sysroot not the host tools, otherwise I 
see cases where cc silently falls back to host sided cc even for target 
recipes.
Instead of patching host tools this should be addressed in the scope of 
rust invocation only

On 15.04.21 11:32, Vinay Kumar wrote:
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 3438be92b7..83e1b68071 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
>   HOSTTOOLS += " \
>       [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
>       cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
> -    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
> +    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
>       head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
>       mktemp mv nm objcopy objdump od patch perl pr printf pwd \
>       python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
> 
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH] Rust cross testing integration with oe-selftest.
  2021-04-10  9:50 ` [OE-core] " Alexander Kanavin
  2021-04-15  9:32   ` [PATCH 1/8] We copied rust.inc to rust-test.inc file, since the rust.inc generates the rquired wrappers (which contains target compiler paths) in place. Which we can use in config.toml file for cross testing. We are trying to generate the config.toml through do_configure option in rust-test.inc file Vinay Kumar
@ 2021-04-15 14:30   ` Vinay Kumar
  1 sibling, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-04-15 14:30 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

Hi Alex,

Sent patches as you requested. There are about 8 patches.
Mailing list link from
https://lists.openembedded.org/g/openembedded-core/message/150462  to
https://lists.openembedded.org/g/openembedded-core/message/150469

The patches are on top of "rmacleod/rust-wip-2021-02-02" branch.
$git clone  git://git.yoctoproject.org/poky-contrib -b
rmacleod/rust-wip-2021-02-02

Let me know in case of any more details needed.

Regards,
Vinay

On Sat, Apr 10, 2021 at 3:20 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> There are a few unrelated changes all bundled together - please split it into several commits and properly describe each. Particularly rust-test.inc is huge, and does need a proper explanation of what is happening and why, in both the commit message and inline comments. Do keep in mind: making the code work is only half the job, the other half is explaining what happens to other humans.
>
> Alex
>
> On Fri, 9 Apr 2021 at 13:59, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
>> ---
>>  meta/classes/rust-common.bbclass              |   5 +-
>>  meta/conf/bitbake.conf                        |   2 +-
>>  meta/lib/oeqa/selftest/cases/rust.py          |  41 ++
>>  meta/lib/oeqa/utils/qemurunner.py             |   8 +-
>>  meta/recipes-devtools/rust/rust-test.inc      | 504 ++++++++++++++++++
>>  .../recipes-devtools/rust/rust-test_1.46.0.bb |  12 +
>>  scripts/runqemu                               |  15 +-
>>  7 files changed, 583 insertions(+), 4 deletions(-)
>>  create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
>>  create mode 100644 meta/recipes-devtools/rust/rust-test.inc
>>  create mode 100644 meta/recipes-devtools/rust/rust-test_1.46.0.bb
>>
>> diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
>> index ff7b9da8f3..fb75b07ba3 100644
>> --- a/meta/classes/rust-common.bbclass
>> +++ b/meta/classes/rust-common.bbclass
>> @@ -84,7 +84,10 @@ def rust_base_triple(d, thing):
>>      # This catches ARM targets and appends the necessary hard float bits
>>      if os == "linux-gnueabi" or os == "linux-musleabi":
>>          libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
>> -    return arch + vendor + '-' + os + libc
>> +    if d.getVar('TARGET_ARCH') == 'mips64':
>> +       return arch + vendor + '-' + os + libc + 'abi64'
>> +    else:
>> +       return arch + vendor + '-' + os + libc
>>
>>  # Naming explanation
>>  # Yocto
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 3438be92b7..83e1b68071 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
>>  HOSTTOOLS += " \
>>      [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
>>      cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
>> -    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
>> +    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
>>      head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
>>      mktemp mv nm objcopy objdump od patch perl pr printf pwd \
>>      python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
>> diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
>> new file mode 100644
>> index 0000000000..69a1a285a9
>> --- /dev/null
>> +++ b/meta/lib/oeqa/selftest/cases/rust.py
>> @@ -0,0 +1,41 @@
>> +# SPDX-License-Identifier: MIT
>> +import os
>> +from oeqa.core.decorator import OETestTag
>> +from oeqa.core.case import OEPTestResultTestCase
>> +from oeqa.selftest.case import OESelftestTestCase
>> +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
>> +
>> +class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
>> +
>> +       def run_check(self, *suites, ssh = None):
>> +               # configure ssh target
>> +               features = []
>> +               if ssh is not None:
>> +                       features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
>> +                       features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
>> +                       features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
>> +                       features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
>> +               self.write_config("\n".join(features))
>> +
>> +               recipe = "rust-test"
>> +               bitbake("{} -c check".format(recipe))
>> +
>> +       def run_check_emulated(self, *args, **kwargs):
>> +               # build remote-test-server before image build
>> +               recipe = "rust-test"
>> +               bitbake("{} -c compile".format(recipe))
>> +               # build core-image-minimal with required packages
>> +               default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
>> +               features = []
>> +               features.append('IMAGE_FEATURES += "ssh-server-openssh"')
>> +               features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
>> +               self.write_config("\n".join(features))
>> +               bitbake("core-image-minimal")
>> +               # wrap the execution with a qemu instance
>> +               with runqemu("core-image-minimal", runqemuparams = "nographic slirp") as qemu:
>> +                       return self.run_check(*args, ssh=qemu.ip, **kwargs)
>> +
>> +@OETestTag("toolchain-system")
>> +class RustSelfTestSystemEmulated(RustSelfTestBase):
>> +       def test_rust(self):
>> +               self.run_check_emulated("rust")
>> diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
>> index 77ec939ad7..aea7c624ec 100644
>> --- a/meta/lib/oeqa/utils/qemurunner.py
>> +++ b/meta/lib/oeqa/utils/qemurunner.py
>> @@ -184,7 +184,13 @@ class QemuRunner:
>>          # and analyze descendents in order to determine it.
>>          if os.path.exists(self.qemu_pidfile):
>>              os.remove(self.qemu_pidfile)
>> -        self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
>> +
>> +        if "slirp" in launch_cmd:
>> +            self.use_slirp = True
>> +            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} -monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null"'.format(bootparams, self.qemu_pidfile)
>> +        else:
>> +            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
>> +
>>          if qemuparams:
>>              self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
>>
>> diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
>> new file mode 100644
>> index 0000000000..0a13b3e0d8
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rust/rust-test.inc
>> @@ -0,0 +1,504 @@
>> +HOMEPAGE = "http://www.rust-lang.org"
>> +SECTION = "devel"
>> +LICENSE = "MIT | Apache-2.0"
>> +
>> +inherit rust
>> +inherit cargo_common
>> +
>> +DEPENDS += "file-native python3-native"
>> +DEPENDS_append_class-native = " rust-llvm-native"
>> +
>> +# In case of x86_64 target we setting this path to location of "x86_64-poky-linux.json".
>> +# This is to differentiate cross target and build in config.toml file.
>> +export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
>> +
>> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
>> +
>> +#export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
>> +export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
>> +
>> +# We don't want to use bitbakes vendoring because the rust sources do their
>> +# own vendoring.
>> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
>> +
>> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
>> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
>> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
>> +setup_cargo_environment () {
>> +    # The first step is to build bootstrap and some early stage tools,
>> +    # these are build for the same target as the snapshot, e.g.
>> +    # x86_64-unknown-linux-gnu.
>> +    # Later stages are build for the native target (i.e. target.x86_64-linux)
>> +    cargo_common_do_configure
>> +
>> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
>> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
>> +}
>> +
>> +# Right now this is focused on arm-specific tune features.
>> +# We get away with this for now as one can only use x86-64 as the build host
>> +# (not arm).
>> +# Note that TUNE_FEATURES is _always_ refering to the target, so we really
>> +# don't want to use this for the host/build.
>> +def llvm_features_from_tune(d):
>> +    f = []
>> +    feat = d.getVar('TUNE_FEATURES')
>> +    if not feat:
>> +        return []
>> +    feat = frozenset(feat.split())
>> +
>> +    mach_overrides = d.getVar('MACHINEOVERRIDES')
>> +    mach_overrides = frozenset(mach_overrides.split(':'))
>> +
>> +    if 'vfpv4' in feat:
>> +        f.append("+vfp4")
>> +    if 'vfpv3' in feat:
>> +        f.append("+vfp3")
>> +    if 'vfpv3d16' in feat:
>> +        f.append("+d16")
>> +
>> +    if 'vfpv2' in feat or 'vfp' in feat:
>> +        f.append("+vfp2")
>> +
>> +    if 'neon' in feat:
>> +        f.append("+neon")
>> +
>> +    if 'aarch64' in feat:
>> +        f.append("+v8")
>> +
>> +    if 'mips32' in feat:
>> +        f.append("+mips32")
>> +
>> +    if 'mips32r2' in feat:
>> +        f.append("+mips32r2")
>> +
>> +    v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
>> +    if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
>> +        f.append("+v7")
>> +    if ('armv6' in mach_overrides) or ('armv6' in feat):
>> +        f.append("+v6")
>> +
>> +    if 'dsp' in feat:
>> +        f.append("+dsp")
>> +
>> +    if 'thumb' in feat:
>> +        if d.getVar('ARM_THUMB_OPT') is "thumb":
>> +            if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
>> +                f.append("+thumb2")
>> +            f.append("+thumb-mode")
>> +
>> +    if 'cortexa5' in feat:
>> +        f.append("+a5")
>> +    if 'cortexa7' in feat:
>> +        f.append("+a7")
>> +    if 'cortexa9' in feat:
>> +        f.append("+a9")
>> +    if 'cortexa15' in feat:
>> +        f.append("+a15")
>> +    if 'cortexa17' in feat:
>> +        f.append("+a17")
>> +
>> +    return f
>> +
>> +# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
>> +# this should go away when https://github.com/rust-lang/rust/pull/31709 is
>> +# stable (1.9.0?)
>> +def llvm_features_from_cc_arch(d):
>> +    f = []
>> +    feat = d.getVar('TARGET_CC_ARCH')
>> +    if not feat:
>> +        return []
>> +    feat = frozenset(feat.split())
>> +
>> +    if '-mmmx' in feat:
>> +        f.append("+mmx")
>> +    if '-msse' in feat:
>> +        f.append("+sse")
>> +    if '-msse2' in feat:
>> +        f.append("+sse2")
>> +    if '-msse3' in feat:
>> +        f.append("+sse3")
>> +    if '-mssse3' in feat:
>> +        f.append("+ssse3")
>> +    if '-msse4.1' in feat:
>> +        f.append("+sse4.1")
>> +    if '-msse4.2' in feat:
>> +        f.append("+sse4.2")
>> +    if '-msse4a' in feat:
>> +        f.append("+sse4a")
>> +    if '-mavx' in feat:
>> +        f.append("+avx")
>> +    if '-mavx2' in feat:
>> +        f.append("+avx2")
>> +
>> +    return f
>> +
>> +def llvm_features_from_target_fpu(d):
>> +    # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
>> +    # ABI. There is no option for hard.
>> +
>> +    fpu = d.getVar('TARGET_FPU', True)
>> +    return ["+soft-float"] if fpu == "soft" else []
>> +
>> +def llvm_features(d):
>> +    return ','.join(llvm_features_from_tune(d) +
>> +                    llvm_features_from_cc_arch(d) +
>> +                    llvm_features_from_target_fpu(d))
>> +
>> +## arm-unknown-linux-gnueabihf
>> +DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
>> +LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[arm] = "little"
>> +TARGET_POINTER_WIDTH[arm] = "32"
>> +TARGET_C_INT_WIDTH[arm] = "32"
>> +MAX_ATOMIC_WIDTH[arm] = "64"
>> +FEATURES[arm] = "+v6,+vfp2"
>> +
>> +## aarch64-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
>> +LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[aarch64] = "little"
>> +TARGET_POINTER_WIDTH[aarch64] = "64"
>> +TARGET_C_INT_WIDTH[aarch64] = "32"
>> +MAX_ATOMIC_WIDTH[aarch64] = "128"
>> +
>> +## x86_64-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>> +LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[x86_64] = "little"
>> +TARGET_POINTER_WIDTH[x86_64] = "64"
>> +TARGET_C_INT_WIDTH[x86_64] = "32"
>> +MAX_ATOMIC_WIDTH[x86_64] = "64"
>> +
>> +## i686-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
>> +LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[i686] = "little"
>> +TARGET_POINTER_WIDTH[i686] = "32"
>> +TARGET_C_INT_WIDTH[i686] = "32"
>> +MAX_ATOMIC_WIDTH[i686] = "64"
>> +
>> +## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
>> +DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
>> +LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[i586] = "little"
>> +TARGET_POINTER_WIDTH[i586] = "32"
>> +TARGET_C_INT_WIDTH[i586] = "32"
>> +MAX_ATOMIC_WIDTH[i586] = "64"
>> +
>> +## mips-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
>> +LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[mips] = "big"
>> +TARGET_POINTER_WIDTH[mips] = "32"
>> +TARGET_C_INT_WIDTH[mips] = "32"
>> +MAX_ATOMIC_WIDTH[mips] = "32"
>> +
>> +## mipsel-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
>> +LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[mipsel] = "little"
>> +TARGET_POINTER_WIDTH[mipsel] = "32"
>> +TARGET_C_INT_WIDTH[mipsel] = "32"
>> +MAX_ATOMIC_WIDTH[mipsel] = "32"
>> +
>> +## mips64-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
>> +LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[mips64] = "big"
>> +TARGET_POINTER_WIDTH[mips64] = "64"
>> +TARGET_C_INT_WIDTH[mips64] = "64"
>> +MAX_ATOMIC_WIDTH[mips64] = "64"
>> +
>> +## mips64el-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
>> +LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[mips64el] = "little"
>> +TARGET_POINTER_WIDTH[mips64el] = "64"
>> +TARGET_C_INT_WIDTH[mips64el] = "64"
>> +MAX_ATOMIC_WIDTH[mips64el] = "64"
>> +
>> +## powerpc-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
>> +LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[powerpc] = "big"
>> +TARGET_POINTER_WIDTH[powerpc] = "32"
>> +TARGET_C_INT_WIDTH[powerpc] = "32"
>> +MAX_ATOMIC_WIDTH[powerpc] = "32"
>> +
>> +## riscv32-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[riscv32] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
>> +LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[riscv32] = "little"
>> +TARGET_POINTER_WIDTH[riscv32] = "32"
>> +TARGET_C_INT_WIDTH[riscv32] = "32"
>> +MAX_ATOMIC_WIDTH[riscv32] = "32"
>> +
>> +## riscv64-unknown-linux-{gnu, musl}
>> +DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
>> +LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
>> +TARGET_ENDIAN[riscv64] = "little"
>> +TARGET_POINTER_WIDTH[riscv64] = "64"
>> +TARGET_C_INT_WIDTH[riscv64] = "64"
>> +MAX_ATOMIC_WIDTH[riscv64] = "64"
>> +
>> +def arch_for(d, thing):
>> +    return d.getVar('{}_ARCH'.format(thing))
>> +
>> +def sys_for(d, thing):
>> +    return d.getVar('{}_SYS'.format(thing))
>> +
>> +def prefix_for(d, thing):
>> +    return d.getVar('{}_PREFIX'.format(thing))
>> +
>> +# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
>> +# rust's internals won't choke on.
>> +def arch_to_rust_target_arch(arch):
>> +    if arch == "i586" or arch == "i686":
>> +        return "x86"
>> +    elif arch == "mipsel":
>> +        return "mips"
>> +    elif arch == "mip64sel":
>> +        return "mips64"
>> +    else:
>> +        return arch
>> +
>> +# generates our target CPU value
>> +def llvm_cpu(d):
>> +    cpu = d.getVar('PACKAGE_ARCH')
>> +    target = d.getVar('TRANSLATED_TARGET_ARCH')
>> +
>> +    trans = {}
>> +    trans['corei7-64'] = "corei7"
>> +    trans['core2-32'] = "core2"
>> +    trans['x86-64'] = "x86-64"
>> +    trans['i686'] = "i686"
>> +    trans['i586'] = "i586"
>> +    trans['powerpc'] = "powerpc"
>> +    trans['mips64'] = "mips64"
>> +    trans['mips64el'] = "mips64"
>> +
>> +    if target in ["mips", "mipsel"]:
>> +        feat = frozenset(d.getVar('TUNE_FEATURES').split())
>> +        if "mips32r2" in feat:
>> +            trans['mipsel'] = "mips32r2"
>> +            trans['mips'] = "mips32r2"
>> +        elif "mips32" in feat:
>> +            trans['mipsel'] = "mips32"
>> +            trans['mips'] = "mips32"
>> +
>> +    try:
>> +        return trans[cpu]
>> +    except:
>> +        return trans.get(target, "generic")
>> +
>> +TARGET_LLVM_CPU="${@llvm_cpu(d)}"
>> +TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
>> +
>> +# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
>> +# (original) target.
>> +TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
>> +
>> +def rust_gen_target(d, thing, wd, features, cpu):
>> +    import json
>> +    from distutils.version import LooseVersion
>> +    arch = arch_for(d, thing)
>> +    sys = sys_for(d, thing)
>> +    prefix = prefix_for(d, thing)
>> +
>> +    features = features or d.getVarFlag('FEATURES', arch) or ""
>> +    features = features.strip()
>> +
>> +    # build tspec
>> +    tspec = {}
>> +    tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
>> +    tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
>> +    tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
>> +    tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
>> +    tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
>> +    tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
>> +    tspec['arch'] = arch_to_rust_target_arch(arch)
>> +    tspec['os'] = "linux"
>> +    if "musl" in tspec['llvm-target']:
>> +        tspec['env'] = "musl"
>> +    else:
>> +        tspec['env'] = "gnu"
>> +    tspec['vendor'] = "unknown"
>> +    tspec['target-family'] = "unix"
>> +    tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
>> +    tspec['ar'] = "{}ar".format(prefix)
>> +    tspec['cpu'] = cpu
>> +    if features is not "":
>> +        tspec['features'] = features
>> +    tspec['dynamic-linking'] = True
>> +    tspec['executables'] = True
>> +    tspec['linker-is-gnu'] = True
>> +    tspec['linker-flavor'] = "gcc"
>> +    tspec['has-rpath'] = True
>> +    tspec['has-elf-tls'] = True
>> +    tspec['position-independent-executables'] = True
>> +    tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
>> +
>> +    # Don't use jemalloc as it doesn't work for many targets.
>> +    # https://github.com/rust-lang/rust/pull/37392
>> +    # From 1.20.0 and forward, system allocator is the default.
>> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
>> +        tspec['exe-allocation-crate'] = "alloc_system"
>> +        tspec['lib-allocation-crate'] = "alloc_system"
>> +
>> +    # write out the target spec json file
>> +    with open(wd + sys + '.json', 'w') as f:
>> +        json.dump(tspec, f, indent=4)
>> +
>> +python do_rust_gen_targets () {
>> +    wd = d.getVar('WORKDIR') + '/targets/'
>> +    rust_gen_target(d, 'BUILD', wd, "", "generic")
>> +}
>> +
>> +addtask rust_gen_targets after do_patch before do_compile
>> +do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
>> +
>> +do_rust_setup_snapshot () {
>> +    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
>> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
>> +    done
>> +
>> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
>> +    # and fail without it there.
>> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
>> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
>> +}
>> +addtask rust_setup_snapshot after do_unpack before do_configure
>> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
>> +
>> +
>> +python do_configure() {
>> +    import json
>> +    from distutils.version import LooseVersion
>> +    try:
>> +        import configparser
>> +    except ImportError:
>> +        import ConfigParser as configparser
>> +
>> +    # toml is rather similar to standard ini like format except it likes values
>> +    # that look more JSON like. So for our purposes simply escaping all values
>> +    # as JSON seem to work fine.
>> +
>> +    e = lambda s: json.dumps(s)
>> +
>> +    config = configparser.RawConfigParser()
>> +
>> +    # [target.ARCH-unknown-linux-gnu]
>> +    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
>> +       target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
>> +    else :
>> +       target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
>> +
>> +    config.add_section(target_section)
>> +
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
>> +    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
>> +
>> +    # If we don't do this rust-native will compile it's own llvm for BUILD.
>> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
>> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
>> +    config.add_section(target_section)
>> +
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
>> +
>> +    # [rust]
>> +    config.add_section("rust")
>> +    config.set("rust", "rpath", e(True))
>> +    config.set("rust", "channel", e("stable"))
>> +
>> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
>> +        config.set("rust", "use-jemalloc", e(False))
>> +
>> +    # Whether or not to optimize the compiler and standard library
>> +    config.set("rust", "optimize", e(True))
>> +
>> +    # Emits extraneous output from tests to ensure that failures of the test
>> +    # harness are debuggable just from logfiles
>> +    config.set("rust", "verbose-tests", e(True))
>> +
>> +    # [build]
>> +    config.add_section("build")
>> +    config.set("build", "submodules", e(False))
>> +    config.set("build", "docs", e(False))
>> +
>> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
>> +    config.set("build", "rustc", e(rustc))
>> +
>> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
>> +    config.set("build", "cargo", e(cargo))
>> +
>> +    config.set("build", "vendor", e(True))
>> +
>> +    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
>> +        targets = [d.getVar("RUST_TARGET_SYS", True)]
>> +    else:
>> +        targets = [d.getVar("TARGET_SYS", True)]
>> +
>> +    config.set("build", "target", e(targets))
>> +
>> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
>> +    config.set("build", "host", e(hosts))
>> +
>> +    # We can't use BUILD_SYS since that is something the rust snapshot knows
>> +    # nothing about when trying to build some stage0 tools (like fabricate)
>> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
>> +
>> +    with open("config.toml", "w") as f:
>> +        config.write(f)
>> +
>> +    # set up ${WORKDIR}/cargo_home
>> +    bb.build.exec_func("setup_cargo_environment", d)
>> +}
>> +
>> +
>> +rust_runx () {
>> +    echo "COMPILE ${PN}" "$@"
>> +
>> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
>> +    # wide range of targets (not just TARGET). Yocto's settings for them will
>> +    # be inappropriate, avoid using.
>> +    unset CFLAGS
>> +    unset LDFLAGS
>> +    unset CXXFLAGS
>> +    unset CPPFLAGS
>> +
>> +    oe_cargo_fix_env
>> +
>> +    nativepython3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@"
>> +}
>> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
>> +
>> +do_compile () {
>> +    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
>> +    then
>> +       rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
>> +    else
>> +       rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
>> +    fi
>> +}
>> +
>> +do_check[dirs] += "${B}"
>> +do_check[nostamp] = "1"
>> +do_check () {
>> +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
>> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
>> +
>> +
>> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
>> +    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
>> +    then
>> +       rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
>> +    else
>> +       rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
>> +    fi
>> +
>> +}
>> +addtask do_check after do_compile
>> +
>> diff --git a/meta/recipes-devtools/rust/rust-test_1.46.0.bb b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
>> new file mode 100644
>> index 0000000000..b724ea5eb0
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
>> @@ -0,0 +1,12 @@
>> +require rust-test.inc
>> +require rust-source-${PV}.inc
>> +require rust-snapshot-${PV}.inc
>> +
>> +DEPENDS += "rust-llvm (=${PV})"
>> +
>> +# Otherwise we'll depend on what we provide
>> +INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
>> +# We don't need to depend on gcc-native because yocto assumes it exists
>> +PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
>> +
>> +BBCLASSEXTEND = "native"
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index dd92a64553..1a21a90add 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -1055,7 +1055,7 @@ class BaseConfig(object):
>>          logger.info("Network configuration:%s", netconf)
>>          self.kernel_cmdline_script += netconf
>>          # Port mapping
>> -        hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
>> +        hostfwd = ",hostfwd=tcp::12345-:12345,hostfwd=tcp::2323-:23,hostfwd=tcp::2222-:22"
>>          qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
>>          qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
>>          # Figure out the port
>> @@ -1084,6 +1084,19 @@ class BaseConfig(object):
>>                          mac += 1
>>              if p != p_new:
>>                  ports.append(p_new)
>> +                temp=__file__.split(os.path.basename(__file__))[0]
>> +                with open(temp+"../meta/recipes-devtools/rust/rust-test.inc", 'r+') as f:
>> +                    text = f.readlines()
>> +                    temp1=[]
>> +                    for i in text:
>> +                        temp = re.sub(r'(\S+\s)(-.)(\s\d+)( -o StrictHostKeyChecking=no .*)', r'\1\2 '+str(p_new)+'\\4', i)
>> +                        temp1.append(temp)
>> +                    temp2=''
>> +                    for i in temp1:
>> +                        temp2=temp2+i
>> +                    f.seek(0)
>> +                    f.write(temp2)
>> +                    f.truncate()
>>                  qb_slirp_opt = re.sub(':%s-' % p, ':%s-' % p_new, qb_slirp_opt)
>>                  logger.info("Port forward changed: %s -> %s" % (p, p_new))
>>          mac = "%s%02x" % (self.mac_slirp, mac)
>> --
>> 2.17.1
>>
>>
>> 
>>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools.
  2021-04-15  9:32     ` [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
  2021-04-15  9:52       ` [OE-core] " Konrad Weihmann
@ 2021-04-15 22:17       ` Richard Purdie
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-17 10:41         ` [OE-core] [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
  1 sibling, 2 replies; 90+ messages in thread
From: Richard Purdie @ 2021-04-15 22:17 UTC (permalink / raw)
  To: Vinay Kumar, openembedded-core

On Thu, 2021-04-15 at 02:32 -0700, Vinay Kumar wrote:
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  meta/conf/bitbake.conf | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 3438be92b7..83e1b68071 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
>  HOSTTOOLS += " \
>      [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
>      cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
> -    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
> +    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
>      head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
>      mktemp mv nm objcopy objdump od patch perl pr printf pwd \
>      python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \

I definitely agree this should be fixed elsewhere to use BUILD_CC. We've managed
without 'cc' for this long, we shouldn't need to start now!

Also, I noticed your patches don't have shortlog entries so the subject lines
in these emails are rather long. We'd need to have that fixed to be able to
handle the patches.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-04-15 22:17       ` Richard Purdie
@ 2021-05-17 10:35         ` Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 2/7] Add rust testsuite for 1.46.0 Vinay Kumar
                             ` (8 more replies)
  2021-05-17 10:41         ` [OE-core] [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools Vinay Kumar
  1 sibling, 9 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

Below list of functions are part of rust-testsuite.inc
setup_cargo_environment(): Build bootstrap and some early stage tools.
do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
do_configure(): To generate config.toml
do_compile(): To build "remote-test-server" for qemutarget image.
do_check(): To execute testing by copying remote-test-server to qmutarget image.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite.inc | 166 ++++++++++++++++++
 1 file changed, 166 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc

diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
new file mode 100644
index 0000000000..d1c5496da4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite.inc
@@ -0,0 +1,166 @@
+SUMMARY = "Rust testing"
+HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
+SECTION = "test"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+EXCLUDE_FROM_WORLD = "1"
+
+# Path of target specification file "target-poky-linux.json"
+export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux] 
+    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+    config.add_section(target_section)
+
+    # Points to wrapper files which contain target specific compiler and linker commands. 
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    # Wrapper scripts of build system.
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [llvm]
+    config.add_section("llvm")
+    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles
+    config.set("rust", "verbose-tests", e(True))    
+
+    # Override default linker cc.
+    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    targets = [d.getVar("TARGET_SYS", True)]
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+
+    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+}
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
+    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
+
+    export TEST_DEVICE_ADDR="127.0.0.1:12345"
+    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
+}
+addtask do_check after do_compile
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 2/7] Add rust testsuite for 1.46.0
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 3/7] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
                             ` (7 subsequent siblings)
  8 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb

diff --git a/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
new file mode 100644
index 0000000000..ad758b71f4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
@@ -0,0 +1,3 @@
+require rust-testsuite.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 3/7] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 2/7] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 4/7] runqemu: Add hostfwd for rust testing Vinay Kumar
                             ` (6 subsequent siblings)
  8 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

While executing rust-testing observed some ui testfailures due to
below warning message.

'powerpc' is not a recognized processor for this target in rust

So renamed target cpu for "powerpc" in "llvm_cpu" to "7400" as per
default tune for qemuppc.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index a1223f45e7..ee3176b559 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -290,7 +290,7 @@ def llvm_cpu(d):
     trans['x86-64'] = "x86-64"
     trans['i686'] = "i686"
     trans['i586'] = "i586"
-    trans['powerpc'] = "powerpc"
+    trans['powerpc'] = "7400"
     trans['mips64'] = "mips64"
     trans['mips64el'] = "mips64"
     trans['riscv64'] = "generic-rv64"
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 4/7] runqemu: Add hostfwd for rust testing.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 2/7] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-17 10:35           ` [PATCH v2 3/7] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 10:56             ` Alexander Kanavin
  2021-05-17 10:35           ` [PATCH v2 5/7] oeqa/utils/qemurunner.py: Enable self.use_slirp Vinay Kumar
                             ` (5 subsequent siblings)
  8 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

Set hostfwd for rust 12345 -> 12345. This port is used for
"remote-test-server" and "remote-test-client" communication
while executing on qemutarget remotely.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 scripts/runqemu | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index dd92a64553..9569dbe72f 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1056,7 +1056,8 @@ class BaseConfig(object):
         self.kernel_cmdline_script += netconf
         # Port mapping
         hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
-        qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
+        rustport = "hostfwd=tcp::12345-:12345"
+        qb_slirp_opt_default = "-netdev user,id=net0%s,%s,tftp=%s" % (hostfwd, rustport, self.get('DEPLOY_DIR_IMAGE'))
         qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
         # Figure out the port
         ports = re.findall('hostfwd=[^-]*:([0-9]+)-[^,-]*', qb_slirp_opt)
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 5/7] oeqa/utils/qemurunner.py: Enable self.use_slirp
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (2 preceding siblings ...)
  2021-05-17 10:35           ` [PATCH v2 4/7] runqemu: Add hostfwd for rust testing Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 10:45             ` Konrad Weihmann
  2021-05-17 10:35           ` [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
                             ` (4 subsequent siblings)
  8 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

The qemu is booted with slirp mode. We are setting "self.use_slirp"
as "True" to avoid the error during qemuboot.

ERROR: Couldn't get ip from qemu command line and runqemu output! Here is the qemu command line used:

We are setting "self.use_slirp=True" only when "slirp" is passed
"launch_cmd" through "runqemuparams".

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/utils/qemurunner.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 77ec939ad7..13abf6690d 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -184,6 +184,8 @@ class QemuRunner:
         # and analyze descendents in order to determine it.
         if os.path.exists(self.qemu_pidfile):
             os.remove(self.qemu_pidfile)
+        if "slirp" in launch_cmd:
+            self.use_slirp=True
         self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
         if qemuparams:
             self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (3 preceding siblings ...)
  2021-05-17 10:35           ` [PATCH v2 5/7] oeqa/utils/qemurunner.py: Enable self.use_slirp Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 11:00             ` Alexander Kanavin
  2021-05-17 10:35           ` [PATCH v2 7/7] rust.inc : Fix for aarch64 feature Vinay Kumar
                             ` (3 subsequent siblings)
  8 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

The rust test involves qemuimage for testing, so
"run_check_emulated" involves building of "remote-test-server",
qemuimage and test execution.

We are booting qemuimage in "nographic" and "slirp" mode along with
additional qemuparams,
'-monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null'

Note:
'-serial mon:stdio -serial' :  To fix below run-time errors while testing
"failed with Connection reset by peer"

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 32 ++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py

diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..4efbf9306f
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-testsuite"	
+		bitbake("{} -c compile".format(recipe))
+
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic slirp", qemuparams= " -monitor \
+                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
+			recipe = "rust-testsuite"
+			bitbake("{} -c check".format(recipe))
+
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v2 7/7] rust.inc : Fix for aarch64 feature.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (4 preceding siblings ...)
  2021-05-17 10:35           ` [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-17 10:35           ` Vinay Kumar
  2021-05-17 10:56           ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Alexander Kanavin
                             ` (2 subsequent siblings)
  8 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:35 UTC (permalink / raw)
  To: openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin,
	Vinay Kumar

While executing ui testing observed failures due to below warning,
"'+v8' is not a recognized feature for this target (ignoring feature)"

Same got fixed by backporting below patch,
http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-wip-2021-02-16&id=f243e4bbd5414ce519336753a68c53ee60cbe89e

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index ee3176b559..fb20bbd0fb 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -64,9 +64,6 @@ def llvm_features_from_tune(d):
     if 'neon' in feat:
         f.append("+neon")
 
-    if 'aarch64' in feat:
-        f.append("+v8")
-
     if 'mips32' in feat:
         f.append("+mips32")
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH 5/8] There are some error messages like, "error: linker `cc` not found" got fixed by adding "cc" in hosttools.
  2021-04-15 22:17       ` Richard Purdie
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-17 10:41         ` Vinay Kumar
  1 sibling, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 10:41 UTC (permalink / raw)
  To: Richard Purdie
  Cc: Patches and discussions about the oe-core layer, umesh kalappa0,
	Randy MacLeod, vinay.kumar, Alexander Kanavin, kweihmann

Hi Richard,

Please excuse the delay in reply, I was loaded with some other priority tasks.

>> I definitely agree this should be fixed elsewhere to use BUILD_CC.
>> We've managed without 'cc' for this long, we shouldn't need to start now

The linker error got fixed by using below setting in config.toml
config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))

So removed 'cc' from hosttools as per your suggestion.

>> I noticed your patches don't have shortlog entries so the subject lines in these emails are rather long.

Sent v2 version of patches for review with suggested corrections.
link : https://lists.openembedded.org/g/openembedded-core/message/151916

Regards,
Vinay

On Fri, Apr 16, 2021 at 3:47 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Thu, 2021-04-15 at 02:32 -0700, Vinay Kumar wrote:
> > Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> > ---
> >  meta/conf/bitbake.conf | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > index 3438be92b7..83e1b68071 100644
> > --- a/meta/conf/bitbake.conf
> > +++ b/meta/conf/bitbake.conf
> > @@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
> >  HOSTTOOLS += " \
> >      [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
> >      cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
> > -    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
> > +    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
> >      head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
> >      mktemp mv nm objcopy objdump od patch perl pr printf pwd \
> >      python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
>
> I definitely agree this should be fixed elsewhere to use BUILD_CC. We've managed
> without 'cc' for this long, we shouldn't need to start now!
>
> Also, I noticed your patches don't have shortlog entries so the subject lines
> in these emails are rather long. We'd need to have that fixed to be able to
> handle the patches.
>
> Cheers,
>
> Richard
>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 5/7] oeqa/utils/qemurunner.py: Enable self.use_slirp
  2021-05-17 10:35           ` [PATCH v2 5/7] oeqa/utils/qemurunner.py: Enable self.use_slirp Vinay Kumar
@ 2021-05-17 10:45             ` Konrad Weihmann
  0 siblings, 0 replies; 90+ messages in thread
From: Konrad Weihmann @ 2021-05-17 10:45 UTC (permalink / raw)
  To: Vinay Kumar, openembedded-core, richard.purdie
  Cc: rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin



On 17.05.21 12:35, Vinay Kumar wrote:
> The qemu is booted with slirp mode. We are setting "self.use_slirp"
> as "True" to avoid the error during qemuboot.
> 
> ERROR: Couldn't get ip from qemu command line and runqemu output! Here is the qemu command line used:
> 
> We are setting "self.use_slirp=True" only when "slirp" is passed
> "launch_cmd" through "runqemuparams".
> 
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>   meta/lib/oeqa/utils/qemurunner.py | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
> index 77ec939ad7..13abf6690d 100644
> --- a/meta/lib/oeqa/utils/qemurunner.py
> +++ b/meta/lib/oeqa/utils/qemurunner.py
> @@ -184,6 +184,8 @@ class QemuRunner:
>           # and analyze descendents in order to determine it.
>           if os.path.exists(self.qemu_pidfile):
>               os.remove(self.qemu_pidfile)
> +        if "slirp" in launch_cmd:
> +            self.use_slirp=True

That doesn't look right to me - AFAIK slirp mode is activated from the 
outside (by the class constructor) so it's the choice of the user to 
enable slirp or not.
With this change a launchcmd containing 
`image=this-is-a-non-slirp-image.tar.gz` would accidentally activate the 
option.

I truly think this should be only set as part of the init() function and 
not at this point

>           self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
>           if qemuparams:
>               self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
> 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 4/7] runqemu: Add hostfwd for rust testing.
  2021-05-17 10:35           ` [PATCH v2 4/7] runqemu: Add hostfwd for rust testing Vinay Kumar
@ 2021-05-17 10:56             ` Alexander Kanavin
  0 siblings, 0 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 10:56 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 1342 bytes --]

This is better to set via QB_SLIRP_OPT, rather than hardcode a special case
directly into the script.

Alex

On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Set hostfwd for rust 12345 -> 12345. This port is used for
> "remote-test-server" and "remote-test-client" communication
> while executing on qemutarget remotely.
>
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  scripts/runqemu | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/runqemu b/scripts/runqemu
> index dd92a64553..9569dbe72f 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -1056,7 +1056,8 @@ class BaseConfig(object):
>          self.kernel_cmdline_script += netconf
>          # Port mapping
>          hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
> -        qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" %
> (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
> +        rustport = "hostfwd=tcp::12345-:12345"
> +        qb_slirp_opt_default = "-netdev user,id=net0%s,%s,tftp=%s" %
> (hostfwd, rustport, self.get('DEPLOY_DIR_IMAGE'))
>          qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
>          # Figure out the port
>          ports = re.findall('hostfwd=[^-]*:([0-9]+)-[^,-]*', qb_slirp_opt)
> --
> 2.17.1
>
>

[-- Attachment #2: Type: text/html, Size: 1912 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (5 preceding siblings ...)
  2021-05-17 10:35           ` [PATCH v2 7/7] rust.inc : Fix for aarch64 feature Vinay Kumar
@ 2021-05-17 10:56           ` Alexander Kanavin
  2021-05-17 11:04             ` Vinay Kumar
  2021-05-17 11:05           ` Alexander Kanavin
  2021-05-17 22:18           ` [OE-core] " Khem Raj
  8 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 10:56 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 7710 bytes --]

I believe rust itself is not yet in oe-core? Which patchset is this based
on?

Alex

On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Below list of functions are part of rust-testsuite.inc
> setup_cargo_environment(): Build bootstrap and some early stage tools.
> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
> do_configure(): To generate config.toml
> do_compile(): To build "remote-test-server" for qemutarget image.
> do_check(): To execute testing by copying remote-test-server to qmutarget
> image.
>
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  meta/recipes-devtools/rust/rust-testsuite.inc | 166 ++++++++++++++++++
>  1 file changed, 166 insertions(+)
>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
>
> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc
> b/meta/recipes-devtools/rust/rust-testsuite.inc
> new file mode 100644
> index 0000000000..d1c5496da4
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
> @@ -0,0 +1,166 @@
> +SUMMARY = "Rust testing"
> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
> +SECTION = "test"
> +LICENSE = "MIT | Apache-2.0"
> +
> +inherit rust
> +inherit cargo_common
> +
> +DEPENDS += "file-native python3-native"
> +EXCLUDE_FROM_WORLD = "1"
> +
> +# Path of target specification file "target-poky-linux.json"
> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
> +
> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> +
> +# We don't want to use bitbakes vendoring because the rust sources do
> their
> +# own vendoring.
> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> +
> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> +setup_cargo_environment () {
> +    # The first step is to build bootstrap and some early stage tools,
> +    # these are build for the same target as the snapshot, e.g.
> +    # x86_64-unknown-linux-gnu.
> +    # Later stages are build for the native target (i.e.
> target.x86_64-linux)
> +    cargo_common_do_configure
> +
> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> +}
> +
> +do_rust_setup_snapshot () {
> +    for installer in
> "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot"
> --disable-ldconfig
> +    done
> +
> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in
> stage0/bin/cargo
> +    # and fail without it there.
> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> +}
> +addtask rust_setup_snapshot after do_unpack before do_configure
> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> +
> +python do_configure() {
> +    import json
> +    from distutils.version import LooseVersion
> +    try:
> +        import configparser
> +    except ImportError:
> +        import ConfigParser as configparser
> +
> +    # toml is rather similar to standard ini like format except it likes
> values
> +    # that look more JSON like. So for our purposes simply escaping all
> values
> +    # as JSON seem to work fine.
> +
> +    e = lambda s: json.dumps(s)
> +
> +    config = configparser.RawConfigParser()
> +
> +    # [target.ARCH-unknown-linux-gnu] in case of x86_64
> [target.ARCH-poky-linux]
> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Points to wrapper files which contain target specific compiler and
> linker commands.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> +    config.set(target_section, "linker",
> e(d.expand("${RUST_TARGET_CCLD}")))
> +
> +    # If we don't do this rust-native will compile it's own llvm for
> BUILD.
> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS',
> True))
> +    config.add_section(target_section)
> +
> +    # Wrapper scripts of build system.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> +
> +    # [llvm]
> +    config.add_section("llvm")
> +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
> +
> +    # [rust]
> +    config.add_section("rust")
> +    config.set("rust", "rpath", e(True))
> +    config.set("rust", "channel", e("stable"))
> +
> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
> +        config.set("rust", "use-jemalloc", e(False))
> +
> +    # Whether or not to optimize the compiler and standard library
> +    config.set("rust", "optimize", e(True))
> +
> +    # Emits extraneous output from tests to ensure that failures of the
> test
> +    # harness are debuggable just from logfiles
> +    config.set("rust", "verbose-tests", e(True))
> +
> +    # Override default linker cc.
> +    config.set("rust", "default-linker",
> e(d.expand("${RUST_BUILD_CCLD}")))
> +
> +    # [build]
> +    config.add_section("build")
> +    config.set("build", "submodules", e(False))
> +    config.set("build", "docs", e(False))
> +
> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> +    config.set("build", "rustc", e(rustc))
> +
> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> +    config.set("build", "cargo", e(cargo))
> +
> +    config.set("build", "vendor", e(True))
> +
> +    targets = [d.getVar("TARGET_SYS", True)]
> +    config.set("build", "target", e(targets))
> +
> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
> +    config.set("build", "host", e(hosts))
> +
> +    # We can't use BUILD_SYS since that is something the rust snapshot
> knows
> +    # nothing about when trying to build some stage0 tools (like
> fabricate)
> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> +
> +    with open("config.toml", "w") as f:
> +        config.write(f)
> +
> +    # set up ${WORKDIR}/cargo_home
> +    bb.build.exec_func("setup_cargo_environment", d)
> +}
> +
> +
> +rust_runx () {
> +    echo "COMPILE ${PN}" "$@"
> +
> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> +    # wide range of targets (not just TARGET). Yocto's settings for them
> will
> +    # be inappropriate, avoid using.
> +    unset CFLAGS
> +    unset LDFLAGS
> +    unset CXXFLAGS
> +    unset CPPFLAGS
> +
> +    oe_cargo_fix_env
> +
> +    python3 src/bootstrap/bootstrap.py
> ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
> +}
> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
> +
> +do_compile () {
> +
> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
> +}
> +
> +do_check[dirs] += "${B}"
> +do_check[nostamp] = "1"
> +do_check () {
> +    scp -P 2222 -o StrictHostKeyChecking=no
> build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server
> root@127.0.0.1:~/
> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1
> "~/remote-test-server -v remote"
> +
> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
> summary.txt 2> /dev/null
> +}
> +addtask do_check after do_compile
> --
> 2.17.1
>
>

[-- Attachment #2: Type: text/html, Size: 9809 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 10:35           ` [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-17 11:00             ` Alexander Kanavin
  2021-05-17 11:34               ` Vinay Kumar
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 11:00 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 2831 bytes --]

Is slirp really required? Is it possible to use the standard tap setup
instead?

Alex

On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> The rust test involves qemuimage for testing, so
> "run_check_emulated" involves building of "remote-test-server",
> qemuimage and test execution.
>
> We are booting qemuimage in "nographic" and "slirp" mode along with
> additional qemuparams,
> '-monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial
> null'
>
> Note:
> '-serial mon:stdio -serial' :  To fix below run-time errors while testing
> "failed with Connection reset by peer"
>
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  meta/lib/oeqa/selftest/cases/rust.py | 32 ++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>  create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
>
> diff --git a/meta/lib/oeqa/selftest/cases/rust.py
> b/meta/lib/oeqa/selftest/cases/rust.py
> new file mode 100644
> index 0000000000..4efbf9306f
> --- /dev/null
> +++ b/meta/lib/oeqa/selftest/cases/rust.py
> @@ -0,0 +1,32 @@
> +# SPDX-License-Identifier: MIT
> +import os
> +from oeqa.core.decorator import OETestTag
> +from oeqa.core.case import OEPTestResultTestCase
> +from oeqa.selftest.case import OESelftestTestCase
> +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars,
> runqemu, Command
> +
> +class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
> +
> +       def run_check_emulated(self, *args, **kwargs):
> +               # build remote-test-server before image build
> +               recipe = "rust-testsuite"
> +               bitbake("{} -c compile".format(recipe))
> +
> +               # build core-image-minimal with required packages
> +               default_installed_packages = ["libgcc", "libstdc++",
> "libatomic", "libgomp"]
> +               features = []
> +               features.append('IMAGE_FEATURES += "ssh-server-openssh"')
> +               features.append('CORE_IMAGE_EXTRA_INSTALL +=
> "{0}"'.format(" ".join(default_installed_packages)))
> +               self.write_config("\n".join(features))
> +               bitbake("core-image-minimal")
> +               # wrap the execution with a qemu instance
> +               with runqemu("core-image-minimal", runqemuparams =
> "nographic slirp", qemuparams= " -monitor \
> +                        telnet:127.0.0.1:1234,server,nowait -serial
> mon:stdio -serial null") as qemu:
> +                       recipe = "rust-testsuite"
> +                       bitbake("{} -c check".format(recipe))
> +
> +
> +@OETestTag("toolchain-system")
> +class RustSelfTestSystemEmulated(RustSelfTestBase):
> +       def test_rust(self):
> +               self.run_check_emulated("rust")
> --
> 2.17.1
>
>

[-- Attachment #2: Type: text/html, Size: 3874 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 10:56           ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Alexander Kanavin
@ 2021-05-17 11:04             ` Vinay Kumar
  0 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 11:04 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

The patchset is based on below rust branch,
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-wip-2021-02-02

Regards,
Vinay

On Mon, May 17, 2021 at 4:27 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> I believe rust itself is not yet in oe-core? Which patchset is this based on?
>
> Alex
>
> On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Below list of functions are part of rust-testsuite.inc
>> setup_cargo_environment(): Build bootstrap and some early stage tools.
>> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
>> do_configure(): To generate config.toml
>> do_compile(): To build "remote-test-server" for qemutarget image.
>> do_check(): To execute testing by copying remote-test-server to qmutarget image.
>>
>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
>> ---
>>  meta/recipes-devtools/rust/rust-testsuite.inc | 166 ++++++++++++++++++
>>  1 file changed, 166 insertions(+)
>>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
>>
>> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
>> new file mode 100644
>> index 0000000000..d1c5496da4
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
>> @@ -0,0 +1,166 @@
>> +SUMMARY = "Rust testing"
>> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
>> +SECTION = "test"
>> +LICENSE = "MIT | Apache-2.0"
>> +
>> +inherit rust
>> +inherit cargo_common
>> +
>> +DEPENDS += "file-native python3-native"
>> +EXCLUDE_FROM_WORLD = "1"
>> +
>> +# Path of target specification file "target-poky-linux.json"
>> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
>> +
>> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
>> +
>> +# We don't want to use bitbakes vendoring because the rust sources do their
>> +# own vendoring.
>> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
>> +
>> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
>> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
>> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
>> +setup_cargo_environment () {
>> +    # The first step is to build bootstrap and some early stage tools,
>> +    # these are build for the same target as the snapshot, e.g.
>> +    # x86_64-unknown-linux-gnu.
>> +    # Later stages are build for the native target (i.e. target.x86_64-linux)
>> +    cargo_common_do_configure
>> +
>> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
>> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
>> +}
>> +
>> +do_rust_setup_snapshot () {
>> +    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
>> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
>> +    done
>> +
>> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
>> +    # and fail without it there.
>> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
>> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
>> +}
>> +addtask rust_setup_snapshot after do_unpack before do_configure
>> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
>> +
>> +python do_configure() {
>> +    import json
>> +    from distutils.version import LooseVersion
>> +    try:
>> +        import configparser
>> +    except ImportError:
>> +        import ConfigParser as configparser
>> +
>> +    # toml is rather similar to standard ini like format except it likes values
>> +    # that look more JSON like. So for our purposes simply escaping all values
>> +    # as JSON seem to work fine.
>> +
>> +    e = lambda s: json.dumps(s)
>> +
>> +    config = configparser.RawConfigParser()
>> +
>> +    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux]
>> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
>> +    config.add_section(target_section)
>> +
>> +    # Points to wrapper files which contain target specific compiler and linker commands.
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
>> +    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
>> +
>> +    # If we don't do this rust-native will compile it's own llvm for BUILD.
>> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
>> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
>> +    config.add_section(target_section)
>> +
>> +    # Wrapper scripts of build system.
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
>> +
>> +    # [llvm]
>> +    config.add_section("llvm")
>> +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
>> +
>> +    # [rust]
>> +    config.add_section("rust")
>> +    config.set("rust", "rpath", e(True))
>> +    config.set("rust", "channel", e("stable"))
>> +
>> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
>> +        config.set("rust", "use-jemalloc", e(False))
>> +
>> +    # Whether or not to optimize the compiler and standard library
>> +    config.set("rust", "optimize", e(True))
>> +
>> +    # Emits extraneous output from tests to ensure that failures of the test
>> +    # harness are debuggable just from logfiles
>> +    config.set("rust", "verbose-tests", e(True))
>> +
>> +    # Override default linker cc.
>> +    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
>> +
>> +    # [build]
>> +    config.add_section("build")
>> +    config.set("build", "submodules", e(False))
>> +    config.set("build", "docs", e(False))
>> +
>> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
>> +    config.set("build", "rustc", e(rustc))
>> +
>> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
>> +    config.set("build", "cargo", e(cargo))
>> +
>> +    config.set("build", "vendor", e(True))
>> +
>> +    targets = [d.getVar("TARGET_SYS", True)]
>> +    config.set("build", "target", e(targets))
>> +
>> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
>> +    config.set("build", "host", e(hosts))
>> +
>> +    # We can't use BUILD_SYS since that is something the rust snapshot knows
>> +    # nothing about when trying to build some stage0 tools (like fabricate)
>> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
>> +
>> +    with open("config.toml", "w") as f:
>> +        config.write(f)
>> +
>> +    # set up ${WORKDIR}/cargo_home
>> +    bb.build.exec_func("setup_cargo_environment", d)
>> +}
>> +
>> +
>> +rust_runx () {
>> +    echo "COMPILE ${PN}" "$@"
>> +
>> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
>> +    # wide range of targets (not just TARGET). Yocto's settings for them will
>> +    # be inappropriate, avoid using.
>> +    unset CFLAGS
>> +    unset LDFLAGS
>> +    unset CXXFLAGS
>> +    unset CPPFLAGS
>> +
>> +    oe_cargo_fix_env
>> +
>> +    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
>> +}
>> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
>> +
>> +do_compile () {
>> +
>> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
>> +}
>> +
>> +do_check[dirs] += "${B}"
>> +do_check[nostamp] = "1"
>> +do_check () {
>> +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
>> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
>> +
>> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
>> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
>> +}
>> +addtask do_check after do_compile
>> --
>> 2.17.1
>>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (6 preceding siblings ...)
  2021-05-17 10:56           ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Alexander Kanavin
@ 2021-05-17 11:05           ` Alexander Kanavin
  2021-05-17 11:20             ` Vinay Kumar
  2021-05-17 22:18           ` [OE-core] " Khem Raj
  8 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 11:05 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 635 bytes --]

On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> +do_check[dirs] += "${B}"
> +do_check[nostamp] = "1"
> +do_check () {
> +    scp -P 2222 -o StrictHostKeyChecking=no
> build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server
> root@127.0.0.1:~/
> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1
> "~/remote-test-server -v remote"
> +
> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
> summary.txt 2> /dev/null
> +}
>

I think this needs to be moved to selftest itself, is this possible?

Alex

[-- Attachment #2: Type: text/html, Size: 1208 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 11:05           ` Alexander Kanavin
@ 2021-05-17 11:20             ` Vinay Kumar
  2021-05-17 11:41               ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 11:20 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

>> +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
>> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"

I tried copy_to() and run from sshcontrol.py on qemuimage successfully.
Howerver, I could not figure out the relative path for
"remote-test-server" from rust.py .

>> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
>> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null

Will try and let you know.

Regards,
Vinay


On Mon, May 17, 2021 at 4:35 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> +do_check[dirs] += "${B}"
>> +do_check[nostamp] = "1"
>> +do_check () {
>> +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
>> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
>> +
>> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
>> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
>> +}
>
>
> I think this needs to be moved to selftest itself, is this possible?
>
> Alex

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 11:00             ` Alexander Kanavin
@ 2021-05-17 11:34               ` Vinay Kumar
  2021-05-17 11:46                 ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 11:34 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

"remote-test-server" on qemu-image with a tap interface throws an error.
The emulators for rust testing are with tcp port forwarding so used
slirp method with added rust port.

References:
https://github.com/rust-lang/rust/issues/33114
https://github.com/rust-lang/rust/blob/master/src/tools/remote-test-client/src/main.rs

Regards,
Vinay


Regards,
Vinay

On Mon, May 17, 2021 at 4:30 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Is slirp really required? Is it possible to use the standard tap setup instead?
>
> Alex
>
> On Mon, 17 May 2021 at 12:35, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> The rust test involves qemuimage for testing, so
>> "run_check_emulated" involves building of "remote-test-server",
>> qemuimage and test execution.
>>
>> We are booting qemuimage in "nographic" and "slirp" mode along with
>> additional qemuparams,
>> '-monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null'
>>
>> Note:
>> '-serial mon:stdio -serial' :  To fix below run-time errors while testing
>> "failed with Connection reset by peer"
>>
>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
>> ---
>>  meta/lib/oeqa/selftest/cases/rust.py | 32 ++++++++++++++++++++++++++++
>>  1 file changed, 32 insertions(+)
>>  create mode 100644 meta/lib/oeqa/selftest/cases/rust.py
>>
>> diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
>> new file mode 100644
>> index 0000000000..4efbf9306f
>> --- /dev/null
>> +++ b/meta/lib/oeqa/selftest/cases/rust.py
>> @@ -0,0 +1,32 @@
>> +# SPDX-License-Identifier: MIT
>> +import os
>> +from oeqa.core.decorator import OETestTag
>> +from oeqa.core.case import OEPTestResultTestCase
>> +from oeqa.selftest.case import OESelftestTestCase
>> +from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
>> +
>> +class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
>> +
>> +       def run_check_emulated(self, *args, **kwargs):
>> +               # build remote-test-server before image build
>> +               recipe = "rust-testsuite"
>> +               bitbake("{} -c compile".format(recipe))
>> +
>> +               # build core-image-minimal with required packages
>> +               default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
>> +               features = []
>> +               features.append('IMAGE_FEATURES += "ssh-server-openssh"')
>> +               features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
>> +               self.write_config("\n".join(features))
>> +               bitbake("core-image-minimal")
>> +               # wrap the execution with a qemu instance
>> +               with runqemu("core-image-minimal", runqemuparams = "nographic slirp", qemuparams= " -monitor \
>> +                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
>> +                       recipe = "rust-testsuite"
>> +                       bitbake("{} -c check".format(recipe))
>> +
>> +
>> +@OETestTag("toolchain-system")
>> +class RustSelfTestSystemEmulated(RustSelfTestBase):
>> +       def test_rust(self):
>> +               self.run_check_emulated("rust")
>> --
>> 2.17.1
>>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 11:20             ` Vinay Kumar
@ 2021-05-17 11:41               ` Alexander Kanavin
  0 siblings, 0 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 11:41 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 604 bytes --]

On Mon, 17 May 2021 at 13:20, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> >> +    scp -P 2222 -o StrictHostKeyChecking=no
> build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server
> root@127.0.0.1:~/
> >> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1
> "~/remote-test-server -v remote"
>
> I tried copy_to() and run from sshcontrol.py on qemuimage successfully.
> Howerver, I could not figure out the relative path for
> "remote-test-server" from rust.py .
>

With get_bb_var() you can. Grep for examples in
meta/lib/oeqa/selftest/cases.

Alex

[-- Attachment #2: Type: text/html, Size: 1021 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 11:34               ` Vinay Kumar
@ 2021-05-17 11:46                 ` Alexander Kanavin
  2021-05-17 13:20                   ` Vinay Kumar
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 11:46 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 656 bytes --]

On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> "remote-test-server" on qemu-image with a tap interface throws an error.
> The emulators for rust testing are with tcp port forwarding so used
> slirp method with added rust port.


I'm not sure I understand - what kind of error? In both cases the server
starts listening on a port, so in slirp scenario the address is
127.0.0.1:12345 (prone to breakage if something else on the build host took
that port btw, including another instance of the same test), in tap it
would be 192.168.7.2:12345. For the client you simply supply that via
TEST_DEVICE_ADDR. No?

Alex

[-- Attachment #2: Type: text/html, Size: 1142 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 11:46                 ` Alexander Kanavin
@ 2021-05-17 13:20                   ` Vinay Kumar
  2021-05-17 14:32                     ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 13:20 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

Error on qemu  image (ex. Aarch64) booted with tap interface.
===========================
root@qemuarm64:~# ./remote-test-server
starting test server
thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
Cannot assign requested address (os error 99)',
src/tools/remote-test-server/src/main.rs:90:20
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
===========================

On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> "remote-test-server" on qemu-image with a tap interface throws an error.
>> The emulators for rust testing are with tcp port forwarding so used
>> slirp method with added rust port.
>
>
> I'm not sure I understand - what kind of error? In both cases the server starts listening on a port, so in slirp scenario the address is 127.0.0.1:12345 (prone to breakage if something else on the build host took that port btw, including another instance of the same test), in tap it would be 192.168.7.2:12345. For the client you simply supply that via TEST_DEVICE_ADDR. No?
>
> Alex

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 13:20                   ` Vinay Kumar
@ 2021-05-17 14:32                     ` Alexander Kanavin
  2021-05-17 14:41                       ` Vinay Kumar
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-17 14:32 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 1512 bytes --]

Thanks, can you please look into the error? The line where it happens and
the way to get a backtrace is right there :)
There's no reason it shouldn't work.

Alex

On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> Error on qemu  image (ex. Aarch64) booted with tap interface.
> ===========================
> root@qemuarm64:~# ./remote-test-server
> starting test server
> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
> Cannot assign requested address (os error 99)',
> src/tools/remote-test-server/src/main.rs:90:20
> note: run with `RUST_BACKTRACE=1` environment variable to display a
> backtrace
> ===========================
>
> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >>
> >> "remote-test-server" on qemu-image with a tap interface throws an error.
> >> The emulators for rust testing are with tcp port forwarding so used
> >> slirp method with added rust port.
> >
> >
> > I'm not sure I understand - what kind of error? In both cases the server
> starts listening on a port, so in slirp scenario the address is
> 127.0.0.1:12345 (prone to breakage if something else on the build host
> took that port btw, including another instance of the same test), in tap it
> would be 192.168.7.2:12345. For the client you simply supply that via
> TEST_DEVICE_ADDR. No?
> >
> > Alex
>

[-- Attachment #2: Type: text/html, Size: 2225 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 14:32                     ` Alexander Kanavin
@ 2021-05-17 14:41                       ` Vinay Kumar
  2021-05-17 15:27                         ` Vinay Kumar
       [not found]                         ` <167FE427910432AF.29970@lists.openembedded.org>
  0 siblings, 2 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 14:41 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Checking suggestions, the booted image with tap seems to be working by
passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
so I will execute testing and update you.
==========================
root@qemuarm64:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
          inet addr:192.168.7.4  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:116 errors:0 dropped:0 overruns:0 frame:0
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)

root@qemuarm64:~# ./remote-test-server -v remote
starting test server
listening on 0.0.0.0:12345!
==========================

Regards,
Vinay

On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Thanks, can you please look into the error? The line where it happens and the way to get a backtrace is right there :)
> There's no reason it shouldn't work.
>
> Alex
>
> On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Hi Alex,
>>
>> Error on qemu  image (ex. Aarch64) booted with tap interface.
>> ===========================
>> root@qemuarm64:~# ./remote-test-server
>> starting test server
>> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
>> Cannot assign requested address (os error 99)',
>> src/tools/remote-test-server/src/main.rs:90:20
>> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
>> ===========================
>>
>> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >>
>> >> "remote-test-server" on qemu-image with a tap interface throws an error.
>> >> The emulators for rust testing are with tcp port forwarding so used
>> >> slirp method with added rust port.
>> >
>> >
>> > I'm not sure I understand - what kind of error? In both cases the server starts listening on a port, so in slirp scenario the address is 127.0.0.1:12345 (prone to breakage if something else on the build host took that port btw, including another instance of the same test), in tap it would be 192.168.7.2:12345. For the client you simply supply that via TEST_DEVICE_ADDR. No?
>> >
>> > Alex

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-17 14:41                       ` Vinay Kumar
@ 2021-05-17 15:27                         ` Vinay Kumar
       [not found]                         ` <167FE427910432AF.29970@lists.openembedded.org>
  1 sibling, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-17 15:27 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

Tried testing outside oe-selftest framework, it works fine without any errors,

export TEST_DEVICE_ADDR="192.168.7.4:12345"
rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
summary.txt 2> /dev/null

Also, log (summary.txt) shows "remote-test-client" is connecting to
the image without any issue.
=======================================
running: "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
"spawn-emulator" "aarch64-poky-linux"
"/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
"/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
Connecting to remote device 192.168.7.4:12345 ...

Will integrate these changes in oe-selftest and let you know.

Regards,
Vinay

On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>
> Checking suggestions, the booted image with tap seems to be working by
> passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
> so I will execute testing and update you.
> ==========================
> root@qemuarm64:~# ifconfig
> eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
>           inet addr:192.168.7.4  Bcast:192.168.7.255  Mask:255.255.255.0
>           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
>
> root@qemuarm64:~# ./remote-test-server -v remote
> starting test server
> listening on 0.0.0.0:12345!
> ==========================
>
> Regards,
> Vinay
>
> On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Thanks, can you please look into the error? The line where it happens and the way to get a backtrace is right there :)
> > There's no reason it shouldn't work.
> >
> > Alex
> >
> > On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> >>
> >> Hi Alex,
> >>
> >> Error on qemu  image (ex. Aarch64) booted with tap interface.
> >> ===========================
> >> root@qemuarm64:~# ./remote-test-server
> >> starting test server
> >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
> >> Cannot assign requested address (os error 99)',
> >> src/tools/remote-test-server/src/main.rs:90:20
> >> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
> >> ===========================
> >>
> >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> >> >>
> >> >> "remote-test-server" on qemu-image with a tap interface throws an error.
> >> >> The emulators for rust testing are with tcp port forwarding so used
> >> >> slirp method with added rust port.
> >> >
> >> >
> >> > I'm not sure I understand - what kind of error? In both cases the server starts listening on a port, so in slirp scenario the address is 127.0.0.1:12345 (prone to breakage if something else on the build host took that port btw, including another instance of the same test), in tap it would be 192.168.7.2:12345. For the client you simply supply that via TEST_DEVICE_ADDR. No?
> >> >
> >> > Alex

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 10:35         ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Vinay Kumar
                             ` (7 preceding siblings ...)
  2021-05-17 11:05           ` Alexander Kanavin
@ 2021-05-17 22:18           ` Khem Raj
  2021-05-20 11:24             ` Vinay Kumar
  8 siblings, 1 reply; 90+ messages in thread
From: Khem Raj @ 2021-05-17 22:18 UTC (permalink / raw)
  To: Vinay Kumar, openembedded-core, richard.purdie
  Cc: kweihmann, rwmacleod, umesh.kalappa0, vinay.kumar, alex.kanavin



On 5/17/21 3:35 AM, Vinay Kumar wrote:
> Below list of functions are part of rust-testsuite.inc
> setup_cargo_environment(): Build bootstrap and some early stage tools.
> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
> do_configure(): To generate config.toml
> do_compile(): To build "remote-test-server" for qemutarget image.
> do_check(): To execute testing by copying remote-test-server to qmutarget image.
> 


some part of these series should go to meta-rust

> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>   meta/recipes-devtools/rust/rust-testsuite.inc | 166 ++++++++++++++++++
>   1 file changed, 166 insertions(+)
>   create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
> 
> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
> new file mode 100644
> index 0000000000..d1c5496da4
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
> @@ -0,0 +1,166 @@
> +SUMMARY = "Rust testing"
> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
> +SECTION = "test"
> +LICENSE = "MIT | Apache-2.0"
> +
> +inherit rust
> +inherit cargo_common
> +
> +DEPENDS += "file-native python3-native"
> +EXCLUDE_FROM_WORLD = "1"
> +
> +# Path of target specification file "target-poky-linux.json"
> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
> +
> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> +
> +# We don't want to use bitbakes vendoring because the rust sources do their
> +# own vendoring.
> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> +
> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> +setup_cargo_environment () {
> +    # The first step is to build bootstrap and some early stage tools,
> +    # these are build for the same target as the snapshot, e.g.
> +    # x86_64-unknown-linux-gnu.
> +    # Later stages are build for the native target (i.e. target.x86_64-linux)
> +    cargo_common_do_configure
> +
> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> +}
> +
> +do_rust_setup_snapshot () {
> +    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
> +    done
> +
> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
> +    # and fail without it there.
> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> +}
> +addtask rust_setup_snapshot after do_unpack before do_configure
> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> +
> +python do_configure() {
> +    import json
> +    from distutils.version import LooseVersion
> +    try:
> +        import configparser
> +    except ImportError:
> +        import ConfigParser as configparser
> +
> +    # toml is rather similar to standard ini like format except it likes values
> +    # that look more JSON like. So for our purposes simply escaping all values
> +    # as JSON seem to work fine.
> +
> +    e = lambda s: json.dumps(s)
> +
> +    config = configparser.RawConfigParser()
> +
> +    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux]
> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Points to wrapper files which contain target specific compiler and linker commands.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> +    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
> +
> +    # If we don't do this rust-native will compile it's own llvm for BUILD.
> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Wrapper scripts of build system.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> +
> +    # [llvm]
> +    config.add_section("llvm")
> +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
> +
> +    # [rust]
> +    config.add_section("rust")
> +    config.set("rust", "rpath", e(True))
> +    config.set("rust", "channel", e("stable"))
> +
> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
> +        config.set("rust", "use-jemalloc", e(False))
> +
> +    # Whether or not to optimize the compiler and standard library
> +    config.set("rust", "optimize", e(True))
> +
> +    # Emits extraneous output from tests to ensure that failures of the test
> +    # harness are debuggable just from logfiles
> +    config.set("rust", "verbose-tests", e(True))
> +
> +    # Override default linker cc.
> +    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
> +
> +    # [build]
> +    config.add_section("build")
> +    config.set("build", "submodules", e(False))
> +    config.set("build", "docs", e(False))
> +
> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> +    config.set("build", "rustc", e(rustc))
> +
> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> +    config.set("build", "cargo", e(cargo))
> +
> +    config.set("build", "vendor", e(True))
> +
> +    targets = [d.getVar("TARGET_SYS", True)]
> +    config.set("build", "target", e(targets))
> +
> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
> +    config.set("build", "host", e(hosts))
> +
> +    # We can't use BUILD_SYS since that is something the rust snapshot knows
> +    # nothing about when trying to build some stage0 tools (like fabricate)
> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> +
> +    with open("config.toml", "w") as f:
> +        config.write(f)
> +
> +    # set up ${WORKDIR}/cargo_home
> +    bb.build.exec_func("setup_cargo_environment", d)
> +}
> +
> +
> +rust_runx () {
> +    echo "COMPILE ${PN}" "$@"
> +
> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> +    # wide range of targets (not just TARGET). Yocto's settings for them will
> +    # be inappropriate, avoid using.
> +    unset CFLAGS
> +    unset LDFLAGS
> +    unset CXXFLAGS
> +    unset CPPFLAGS
> +
> +    oe_cargo_fix_env
> +
> +    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
> +}
> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
> +
> +do_compile () {
> +
> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
> +}
> +
> +do_check[dirs] += "${B}"
> +do_check[nostamp] = "1"
> +do_check () {
> +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
> +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
> +
> +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
> +}
> +addtask do_check after do_compile
> 
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
       [not found]                         ` <167FE427910432AF.29970@lists.openembedded.org>
@ 2021-05-20 10:06                           ` Vinay Kumar
  2021-05-20 20:29                             ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-20 10:06 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

Tried your suggestions to copy and run in rust.py without any issue as below.
===============================
builddir = get_bb_var("B", "rust-testsuite")
ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
ssh.copy_to(builddir + "/" +
"build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
t_thread = threading.Thread(target=ssh.run,
args=("~/remote-test-server -v remote",))
t_thread.start()
===============================

If we set "TEST_DEVICE_ADDR" in rust.py through "runCmd" as shown
below,  the remote-test-client does not connect  to the image.
So a lot of tests fail.
===============================
"cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
runCmd(cmd)
bitbake("{} -c check".format(recipe))
===============================

Also, I tried to move do_check content to rust.py without any success.
===============================
cmd = "export PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/:" % builddir
cmd= cmd + "%s/../recipe-sysroot-native/usr/bin:$PATH;" % builddir
cmd = cmd + "export
RUST_TARGET_PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/;" %
builddir
cmd = cmd + "cd " + builddir + ";"
cmd  = "export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
cmd = cmd + "python3 src/bootstrap/bootstrap.py -j 40 --verbose test
--no-fail-fast --bless --target aarch64-poky-linux > summary.txt 2>&1"

Error:
File "/ala-lpggp31/vinay/review-2/poky-contrib/meta/lib/oeqa/utils/commands.py",
line 210, in runCmd
raise AssertionError("Command '%s' returned non-zero exit status
%d:\n%s" % (command, result.status, exc_output))
AssertionError: Command 'export
TEST_DEVICE_ADDR="192.168.7.2:12345";python3
src/bootstrap/bootstrap.py -j 40 --verbose test --no-fail-fast --bless
--target aarch64-poky-linux > summary.txt 2>&1' returned non-zero exit
status 2:
===============================

So in rust.py only copy and execution of "remote-test-server" is taken care of.
And the test execution is by  do_check of rust-testsuite.inc as below,
===============================
do_check () {
    export TEST_DEVICE_ADDR="192.168.7.2:12345"
    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
summary.txt 2> /dev/null
}

Let me know if this ok. will send patches with changes for review.

Regards,
Vinay

On Mon, May 17, 2021 at 8:57 PM Vinay Kumar via lists.openembedded.org
<vinay.m.engg=gmail.com@lists.openembedded.org> wrote:
>
> Hi Alex,
>
> Tried testing outside oe-selftest framework, it works fine without any errors,
>
> export TEST_DEVICE_ADDR="192.168.7.4:12345"
> rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
> summary.txt 2> /dev/null
>
> Also, log (summary.txt) shows "remote-test-client" is connecting to
> the image without any issue.
> =======================================
> running: "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
> "spawn-emulator" "aarch64-poky-linux"
> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
> Connecting to remote device 192.168.7.4:12345 ...
>
> Will integrate these changes in oe-selftest and let you know.
>
> Regards,
> Vinay
>
> On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> >
> > Checking suggestions, the booted image with tap seems to be working by
> > passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
> > so I will execute testing and update you.
> > ==========================
> > root@qemuarm64:~# ifconfig
> > eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
> >           inet addr:192.168.7.4  Bcast:192.168.7.255  Mask:255.255.255.0
> >           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
> >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> >           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
> >           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
> >           collisions:0 txqueuelen:1000
> >           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
> >
> > root@qemuarm64:~# ./remote-test-server -v remote
> > starting test server
> > listening on 0.0.0.0:12345!
> > ==========================
> >
> > Regards,
> > Vinay
> >
> > On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Thanks, can you please look into the error? The line where it happens and the way to get a backtrace is right there :)
> > > There's no reason it shouldn't work.
> > >
> > > Alex
> > >
> > > On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> > >>
> > >> Hi Alex,
> > >>
> > >> Error on qemu  image (ex. Aarch64) booted with tap interface.
> > >> ===========================
> > >> root@qemuarm64:~# ./remote-test-server
> > >> starting test server
> > >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
> > >> Cannot assign requested address (os error 99)',
> > >> src/tools/remote-test-server/src/main.rs:90:20
> > >> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
> > >> ===========================
> > >>
> > >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
> > >> <alex.kanavin@gmail.com> wrote:
> > >> >
> > >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> > >> >>
> > >> >> "remote-test-server" on qemu-image with a tap interface throws an error.
> > >> >> The emulators for rust testing are with tcp port forwarding so used
> > >> >> slirp method with added rust port.
> > >> >
> > >> >
> > >> > I'm not sure I understand - what kind of error? In both cases the server starts listening on a port, so in slirp scenario the address is 127.0.0.1:12345 (prone to breakage if something else on the build host took that port btw, including another instance of the same test), in tap it would be 192.168.7.2:12345. For the client you simply supply that via TEST_DEVICE_ADDR. No?
> > >> >
> > >> > Alex
>
> 
>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing.
  2021-05-17 22:18           ` [OE-core] " Khem Raj
@ 2021-05-20 11:24             ` Vinay Kumar
  0 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-20 11:24 UTC (permalink / raw)
  To: Khem Raj
  Cc: Patches and discussions about the oe-core layer, Richard Purdie,
	Konrad Weihmann, Randy MacLeod, umesh kalappa0, vinay.kumar,
	Alexander Kanavin

Hi Khem Raj,

Once the patches get approved will work on adding in meta-rust.

Regards,
Vinay

On Tue, May 18, 2021 at 3:48 AM Khem Raj <raj.khem@gmail.com> wrote:
>
>
>
> On 5/17/21 3:35 AM, Vinay Kumar wrote:
> > Below list of functions are part of rust-testsuite.inc
> > setup_cargo_environment(): Build bootstrap and some early stage tools.
> > do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
> > do_configure(): To generate config.toml
> > do_compile(): To build "remote-test-server" for qemutarget image.
> > do_check(): To execute testing by copying remote-test-server to qmutarget image.
> >
>
>
> some part of these series should go to meta-rust
>
> > Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> > ---
> >   meta/recipes-devtools/rust/rust-testsuite.inc | 166 ++++++++++++++++++
> >   1 file changed, 166 insertions(+)
> >   create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
> >
> > diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
> > new file mode 100644
> > index 0000000000..d1c5496da4
> > --- /dev/null
> > +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
> > @@ -0,0 +1,166 @@
> > +SUMMARY = "Rust testing"
> > +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
> > +SECTION = "test"
> > +LICENSE = "MIT | Apache-2.0"
> > +
> > +inherit rust
> > +inherit cargo_common
> > +
> > +DEPENDS += "file-native python3-native"
> > +EXCLUDE_FROM_WORLD = "1"
> > +
> > +# Path of target specification file "target-poky-linux.json"
> > +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
> > +
> > +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> > +
> > +# We don't want to use bitbakes vendoring because the rust sources do their
> > +# own vendoring.
> > +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> > +
> > +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> > +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> > +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> > +setup_cargo_environment () {
> > +    # The first step is to build bootstrap and some early stage tools,
> > +    # these are build for the same target as the snapshot, e.g.
> > +    # x86_64-unknown-linux-gnu.
> > +    # Later stages are build for the native target (i.e. target.x86_64-linux)
> > +    cargo_common_do_configure
> > +
> > +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> > +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> > +}
> > +
> > +do_rust_setup_snapshot () {
> > +    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> > +        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
> > +    done
> > +
> > +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
> > +    # and fail without it there.
> > +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> > +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> > +}
> > +addtask rust_setup_snapshot after do_unpack before do_configure
> > +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> > +
> > +python do_configure() {
> > +    import json
> > +    from distutils.version import LooseVersion
> > +    try:
> > +        import configparser
> > +    except ImportError:
> > +        import ConfigParser as configparser
> > +
> > +    # toml is rather similar to standard ini like format except it likes values
> > +    # that look more JSON like. So for our purposes simply escaping all values
> > +    # as JSON seem to work fine.
> > +
> > +    e = lambda s: json.dumps(s)
> > +
> > +    config = configparser.RawConfigParser()
> > +
> > +    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux]
> > +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> > +    config.add_section(target_section)
> > +
> > +    # Points to wrapper files which contain target specific compiler and linker commands.
> > +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> > +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> > +    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
> > +
> > +    # If we don't do this rust-native will compile it's own llvm for BUILD.
> > +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> > +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
> > +    config.add_section(target_section)
> > +
> > +    # Wrapper scripts of build system.
> > +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> > +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> > +
> > +    # [llvm]
> > +    config.add_section("llvm")
> > +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
> > +
> > +    # [rust]
> > +    config.add_section("rust")
> > +    config.set("rust", "rpath", e(True))
> > +    config.set("rust", "channel", e("stable"))
> > +
> > +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
> > +        config.set("rust", "use-jemalloc", e(False))
> > +
> > +    # Whether or not to optimize the compiler and standard library
> > +    config.set("rust", "optimize", e(True))
> > +
> > +    # Emits extraneous output from tests to ensure that failures of the test
> > +    # harness are debuggable just from logfiles
> > +    config.set("rust", "verbose-tests", e(True))
> > +
> > +    # Override default linker cc.
> > +    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
> > +
> > +    # [build]
> > +    config.add_section("build")
> > +    config.set("build", "submodules", e(False))
> > +    config.set("build", "docs", e(False))
> > +
> > +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> > +    config.set("build", "rustc", e(rustc))
> > +
> > +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> > +    config.set("build", "cargo", e(cargo))
> > +
> > +    config.set("build", "vendor", e(True))
> > +
> > +    targets = [d.getVar("TARGET_SYS", True)]
> > +    config.set("build", "target", e(targets))
> > +
> > +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
> > +    config.set("build", "host", e(hosts))
> > +
> > +    # We can't use BUILD_SYS since that is something the rust snapshot knows
> > +    # nothing about when trying to build some stage0 tools (like fabricate)
> > +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> > +
> > +    with open("config.toml", "w") as f:
> > +        config.write(f)
> > +
> > +    # set up ${WORKDIR}/cargo_home
> > +    bb.build.exec_func("setup_cargo_environment", d)
> > +}
> > +
> > +
> > +rust_runx () {
> > +    echo "COMPILE ${PN}" "$@"
> > +
> > +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> > +    # wide range of targets (not just TARGET). Yocto's settings for them will
> > +    # be inappropriate, avoid using.
> > +    unset CFLAGS
> > +    unset LDFLAGS
> > +    unset CXXFLAGS
> > +    unset CPPFLAGS
> > +
> > +    oe_cargo_fix_env
> > +
> > +    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
> > +}
> > +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
> > +
> > +do_compile () {
> > +
> > +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
> > +}
> > +
> > +do_check[dirs] += "${B}"
> > +do_check[nostamp] = "1"
> > +do_check () {
> > +    scp -P 2222 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server root@127.0.0.1:~/
> > +    ssh -p 2222 -o StrictHostKeyChecking=no -f root@127.0.0.1 "~/remote-test-server -v remote"
> > +
> > +    export TEST_DEVICE_ADDR="127.0.0.1:12345"
> > +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
> > +}
> > +addtask do_check after do_compile
> >
> >
> >
> > 
> >

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-20 10:06                           ` [OE-core] " Vinay Kumar
@ 2021-05-20 20:29                             ` Alexander Kanavin
  2021-05-20 20:30                               ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-20 20:29 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 6923 bytes --]

You cannot hardcode the ip address like that; it's set dynamically when
qemu starts, and you can only access it from selftest or runtime test.

Alex

On Thu, 20 May 2021 at 12:06, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> Tried your suggestions to copy and run in rust.py without any issue as
> below.
> ===============================
> builddir = get_bb_var("B", "rust-testsuite")
> ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
> ssh.copy_to(builddir + "/" +
> "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
> t_thread = threading.Thread(target=ssh.run,
> args=("~/remote-test-server -v remote",))
> t_thread.start()
> ===============================
>
> If we set "TEST_DEVICE_ADDR" in rust.py through "runCmd" as shown
> below,  the remote-test-client does not connect  to the image.
> So a lot of tests fail.
> ===============================
> "cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
> runCmd(cmd)
> bitbake("{} -c check".format(recipe))
> ===============================
>
> Also, I tried to move do_check content to rust.py without any success.
> ===============================
> cmd = "export PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/:" %
> builddir
> cmd= cmd + "%s/../recipe-sysroot-native/usr/bin:$PATH;" % builddir
> cmd = cmd + "export
> RUST_TARGET_PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/;" %
> builddir
> cmd = cmd + "cd " + builddir + ";"
> cmd  = "export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
> cmd = cmd + "python3 src/bootstrap/bootstrap.py -j 40 --verbose test
> --no-fail-fast --bless --target aarch64-poky-linux > summary.txt 2>&1"
>
> Error:
> File
> "/ala-lpggp31/vinay/review-2/poky-contrib/meta/lib/oeqa/utils/commands.py",
> line 210, in runCmd
> raise AssertionError("Command '%s' returned non-zero exit status
> %d:\n%s" % (command, result.status, exc_output))
> AssertionError: Command 'export
> TEST_DEVICE_ADDR="192.168.7.2:12345";python3
> src/bootstrap/bootstrap.py -j 40 --verbose test --no-fail-fast --bless
> --target aarch64-poky-linux > summary.txt 2>&1' returned non-zero exit
> status 2:
> ===============================
>
> So in rust.py only copy and execution of "remote-test-server" is taken
> care of.
> And the test execution is by  do_check of rust-testsuite.inc as below,
> ===============================
> do_check () {
>     export TEST_DEVICE_ADDR="192.168.7.2:12345"
>     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
> summary.txt 2> /dev/null
> }
>
> Let me know if this ok. will send patches with changes for review.
>
> Regards,
> Vinay
>
> On Mon, May 17, 2021 at 8:57 PM Vinay Kumar via lists.openembedded.org
> <vinay.m.engg=gmail.com@lists.openembedded.org> wrote:
> >
> > Hi Alex,
> >
> > Tried testing outside oe-selftest framework, it works fine without any
> errors,
> >
> > export TEST_DEVICE_ADDR="192.168.7.4:12345"
> > rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
> > summary.txt 2> /dev/null
> >
> > Also, log (summary.txt) shows "remote-test-client" is connecting to
> > the image without any issue.
> > =======================================
> > running:
> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
> > "spawn-emulator" "aarch64-poky-linux"
> >
> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
> >
> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
> > Connecting to remote device 192.168.7.4:12345 ...
> >
> > Will integrate these changes in oe-selftest and let you know.
> >
> > Regards,
> > Vinay
> >
> > On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> > >
> > > Checking suggestions, the booted image with tap seems to be working by
> > > passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
> > > so I will execute testing and update you.
> > > ==========================
> > > root@qemuarm64:~# ifconfig
> > > eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
> > >           inet addr:192.168.7.4  Bcast:192.168.7.255
> Mask:255.255.255.0
> > >           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
> > >           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
> > >           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
> > >           collisions:0 txqueuelen:1000
> > >           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
> > >
> > > root@qemuarm64:~# ./remote-test-server -v remote
> > > starting test server
> > > listening on 0.0.0.0:12345!
> > > ==========================
> > >
> > > Regards,
> > > Vinay
> > >
> > > On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
> > > <alex.kanavin@gmail.com> wrote:
> > > >
> > > > Thanks, can you please look into the error? The line where it
> happens and the way to get a backtrace is right there :)
> > > > There's no reason it shouldn't work.
> > > >
> > > > Alex
> > > >
> > > > On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> > > >>
> > > >> Hi Alex,
> > > >>
> > > >> Error on qemu  image (ex. Aarch64) booted with tap interface.
> > > >> ===========================
> > > >> root@qemuarm64:~# ./remote-test-server
> > > >> starting test server
> > > >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
> > > >> Cannot assign requested address (os error 99)',
> > > >> src/tools/remote-test-server/src/main.rs:90:20
> > > >> note: run with `RUST_BACKTRACE=1` environment variable to display a
> backtrace
> > > >> ===========================
> > > >>
> > > >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
> > > >> <alex.kanavin@gmail.com> wrote:
> > > >> >
> > > >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> > > >> >>
> > > >> >> "remote-test-server" on qemu-image with a tap interface throws
> an error.
> > > >> >> The emulators for rust testing are with tcp port forwarding so
> used
> > > >> >> slirp method with added rust port.
> > > >> >
> > > >> >
> > > >> > I'm not sure I understand - what kind of error? In both cases the
> server starts listening on a port, so in slirp scenario the address is
> 127.0.0.1:12345 (prone to breakage if something else on the build host
> took that port btw, including another instance of the same test), in tap it
> would be 192.168.7.2:12345. For the client you simply supply that via
> TEST_DEVICE_ADDR. No?
> > > >> >
> > > >> > Alex
> >
> > 
> >
>

[-- Attachment #2: Type: text/html, Size: 9677 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-20 20:29                             ` Alexander Kanavin
@ 2021-05-20 20:30                               ` Alexander Kanavin
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-21 13:46                                 ` [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  0 siblings, 2 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-20 20:30 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 7308 bytes --]

If you publish the code to a branch, and show exactly the errors you get, I
could try to look at it.

Alex

On Thu, 20 May 2021 at 22:29, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> You cannot hardcode the ip address like that; it's set dynamically when
> qemu starts, and you can only access it from selftest or runtime test.
>
> Alex
>
> On Thu, 20 May 2021 at 12:06, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>
>> Hi Alex,
>>
>> Tried your suggestions to copy and run in rust.py without any issue as
>> below.
>> ===============================
>> builddir = get_bb_var("B", "rust-testsuite")
>> ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root",
>> timeout=600)
>> ssh.copy_to(builddir + "/" +
>> "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
>> t_thread = threading.Thread(target=ssh.run,
>> args=("~/remote-test-server -v remote",))
>> t_thread.start()
>> ===============================
>>
>> If we set "TEST_DEVICE_ADDR" in rust.py through "runCmd" as shown
>> below,  the remote-test-client does not connect  to the image.
>> So a lot of tests fail.
>> ===============================
>> "cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
>> runCmd(cmd)
>> bitbake("{} -c check".format(recipe))
>> ===============================
>>
>> Also, I tried to move do_check content to rust.py without any success.
>> ===============================
>> cmd = "export PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/:" %
>> builddir
>> cmd= cmd + "%s/../recipe-sysroot-native/usr/bin:$PATH;" % builddir
>> cmd = cmd + "export
>> RUST_TARGET_PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/;" %
>> builddir
>> cmd = cmd + "cd " + builddir + ";"
>> cmd  = "export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
>> cmd = cmd + "python3 src/bootstrap/bootstrap.py -j 40 --verbose test
>> --no-fail-fast --bless --target aarch64-poky-linux > summary.txt 2>&1"
>>
>> Error:
>> File
>> "/ala-lpggp31/vinay/review-2/poky-contrib/meta/lib/oeqa/utils/commands.py",
>> line 210, in runCmd
>> raise AssertionError("Command '%s' returned non-zero exit status
>> %d:\n%s" % (command, result.status, exc_output))
>> AssertionError: Command 'export
>> TEST_DEVICE_ADDR="192.168.7.2:12345";python3
>> src/bootstrap/bootstrap.py -j 40 --verbose test --no-fail-fast --bless
>> --target aarch64-poky-linux > summary.txt 2>&1' returned non-zero exit
>> status 2:
>> ===============================
>>
>> So in rust.py only copy and execution of "remote-test-server" is taken
>> care of.
>> And the test execution is by  do_check of rust-testsuite.inc as below,
>> ===============================
>> do_check () {
>>     export TEST_DEVICE_ADDR="192.168.7.2:12345"
>>     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
>> summary.txt 2> /dev/null
>> }
>>
>> Let me know if this ok. will send patches with changes for review.
>>
>> Regards,
>> Vinay
>>
>> On Mon, May 17, 2021 at 8:57 PM Vinay Kumar via lists.openembedded.org
>> <vinay.m.engg=gmail.com@lists.openembedded.org> wrote:
>> >
>> > Hi Alex,
>> >
>> > Tried testing outside oe-selftest framework, it works fine without any
>> errors,
>> >
>> > export TEST_DEVICE_ADDR="192.168.7.4:12345"
>> > rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
>> > summary.txt 2> /dev/null
>> >
>> > Also, log (summary.txt) shows "remote-test-client" is connecting to
>> > the image without any issue.
>> > =======================================
>> > running:
>> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
>> > "spawn-emulator" "aarch64-poky-linux"
>> >
>> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
>> >
>> "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
>> > Connecting to remote device 192.168.7.4:12345 ...
>> >
>> > Will integrate these changes in oe-selftest and let you know.
>> >
>> > Regards,
>> > Vinay
>> >
>> > On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <vinay.m.engg@gmail.com>
>> wrote:
>> > >
>> > > Checking suggestions, the booted image with tap seems to be working by
>> > > passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
>> > > so I will execute testing and update you.
>> > > ==========================
>> > > root@qemuarm64:~# ifconfig
>> > > eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
>> > >           inet addr:192.168.7.4  Bcast:192.168.7.255
>> Mask:255.255.255.0
>> > >           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
>> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>> > >           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
>> > >           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
>> > >           collisions:0 txqueuelen:1000
>> > >           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
>> > >
>> > > root@qemuarm64:~# ./remote-test-server -v remote
>> > > starting test server
>> > > listening on 0.0.0.0:12345!
>> > > ==========================
>> > >
>> > > Regards,
>> > > Vinay
>> > >
>> > > On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
>> > > <alex.kanavin@gmail.com> wrote:
>> > > >
>> > > > Thanks, can you please look into the error? The line where it
>> happens and the way to get a backtrace is right there :)
>> > > > There's no reason it shouldn't work.
>> > > >
>> > > > Alex
>> > > >
>> > > > On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com>
>> wrote:
>> > > >>
>> > > >> Hi Alex,
>> > > >>
>> > > >> Error on qemu  image (ex. Aarch64) booted with tap interface.
>> > > >> ===========================
>> > > >> root@qemuarm64:~# ./remote-test-server
>> > > >> starting test server
>> > > >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
>> > > >> Cannot assign requested address (os error 99)',
>> > > >> src/tools/remote-test-server/src/main.rs:90:20
>> > > >> note: run with `RUST_BACKTRACE=1` environment variable to display
>> a backtrace
>> > > >> ===========================
>> > > >>
>> > > >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
>> > > >> <alex.kanavin@gmail.com> wrote:
>> > > >> >
>> > > >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <
>> vinay.m.engg@gmail.com> wrote:
>> > > >> >>
>> > > >> >> "remote-test-server" on qemu-image with a tap interface throws
>> an error.
>> > > >> >> The emulators for rust testing are with tcp port forwarding so
>> used
>> > > >> >> slirp method with added rust port.
>> > > >> >
>> > > >> >
>> > > >> > I'm not sure I understand - what kind of error? In both cases
>> the server starts listening on a port, so in slirp scenario the address is
>> 127.0.0.1:12345 (prone to breakage if something else on the build host
>> took that port btw, including another instance of the same test), in tap it
>> would be 192.168.7.2:12345. For the client you simply supply that via
>> TEST_DEVICE_ADDR. No?
>> > > >> >
>> > > >> > Alex
>> >
>> > 
>> >
>>
>

[-- Attachment #2: Type: text/html, Size: 10203 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-20 20:30                               ` Alexander Kanavin
@ 2021-05-21 13:29                                 ` Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
                                                     ` (4 more replies)
  2021-05-21 13:46                                 ` [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  1 sibling, 5 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:29 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Below list of functions are part of rust-testsuite.inc
setup_cargo_environment(): Build bootstrap and some early stage tools.
do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
do_configure(): To generate config.toml
do_compile(): To build "remote-test-server" for qemutarget image.
do_check(): To execute testing on qmutarget image.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite.inc | 163 ++++++++++++++++++
 1 file changed, 163 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc

diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
new file mode 100644
index 0000000000..88fb4e70d9
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite.inc
@@ -0,0 +1,163 @@
+SUMMARY = "Rust testing"
+HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
+SECTION = "test"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+EXCLUDE_FROM_WORLD = "1"
+
+# Path of target specification file "target-poky-linux.json"
+export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux] 
+    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+    config.add_section(target_section)
+
+    # Points to wrapper files which contain target specific compiler and linker commands. 
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    # Wrapper scripts of build system.
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [llvm]
+    config.add_section("llvm")
+    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles
+    config.set("rust", "verbose-tests", e(True))    
+
+    # Override default linker cc.
+    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    targets = [d.getVar("TARGET_SYS", True)]
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+
+    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+}
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+
+    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
+}
+addtask do_check after do_compile
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v3 2/5] Add rust testsuite for 1.46.0
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-21 13:29                                   ` Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
                                                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:29 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb

diff --git a/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
new file mode 100644
index 0000000000..ad758b71f4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
@@ -0,0 +1,3 @@
+require rust-testsuite.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v3 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-21 13:29                                   ` Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
                                                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:29 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing rust-testing observed some ui testfailures due to
below warning message.

'powerpc' is not a recognized processor for this target in rust

So renamed target cpu for "powerpc" in "llvm_cpu" to "7400" as per
default tune for qemuppc.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index a1223f45e7..ee3176b559 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -290,7 +290,7 @@ def llvm_cpu(d):
     trans['x86-64'] = "x86-64"
     trans['i686'] = "i686"
     trans['i586'] = "i586"
-    trans['powerpc'] = "powerpc"
+    trans['powerpc'] = "7400"
     trans['mips64'] = "mips64"
     trans['mips64el'] = "mips64"
     trans['riscv64'] = "generic-rv64"
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-21 13:29                                   ` [PATCH v3 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-21 13:29                                   ` Vinay Kumar
  2021-05-22 16:34                                     ` Alexander Kanavin
  2021-05-21 13:29                                   ` [PATCH v3 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  2021-05-22 16:11                                   ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Alexander Kanavin
  4 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:29 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Build remote-test-server copy to image and execute
remotely through background ssh. Execute testing
through do_check.

We are booting qemuimage in "nographic" mode along with additional
qemuparams,
'-monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null'

Note:
'-serial mon:stdio -serial': To fix below run-time errors while testing
"failed with Connection reset by peer"

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 50 ++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py

diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..fc900d536f
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu, Command
+from oeqa.utils.sshcontrol import SSHControl
+import threading
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-testsuite"
+		bitbake("{} -c compile".format(recipe))
+
+		# Get build directory path
+		builddir = get_bb_var("B", "rust-testsuite")
+
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams= " -monitor \
+                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
+
+			# Copy remote-test-server through scp and execute through background ssh
+			ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
+			ssh.copy_to(builddir + "/" + "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
+			t_thread = threading.Thread(target=ssh.run, args=("~/remote-test-server -v remote",))
+			t_thread.start()
+
+			# Set TEST_DEVICE_ADDR to image ip
+			cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip
+			runCmd(cmd)
+
+                        # Test execution
+			bitbake("{} -c check".format(recipe))
+			# Stop ssh background execution
+			t_thread.stop()
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v3 5/5] rust.inc : Fix for aarch64 feature.
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                     ` (2 preceding siblings ...)
  2021-05-21 13:29                                   ` [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-21 13:29                                   ` Vinay Kumar
  2021-05-22 16:11                                   ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Alexander Kanavin
  4 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:29 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing ui testing observed failures due to below warning,

"'+v8' is not a recognized feature for this target (ignoring feature)"

Same got fixed by backporting below patch,
http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-wip-2021-02-16&id=f243e4bbd5414ce519336753a68c53ee60cbe89e

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index ee3176b559..fb20bbd0fb 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -64,9 +64,6 @@ def llvm_features_from_tune(d):
     if 'neon' in feat:
         f.append("+neon")
 
-    if 'aarch64' in feat:
-        f.append("+v8")
-
     if 'mips32' in feat:
         f.append("+mips32")
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-20 20:30                               ` Alexander Kanavin
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-21 13:46                                 ` Vinay Kumar
  2021-05-22 16:29                                   ` Alexander Kanavin
  1 sibling, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-21 13:46 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

As we are developing patches on the branch:
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rmacleod/rust-wip-2021-02-02

Sent my patches v3 on top of this.
https://lists.openembedded.org/g/openembedded-core/message/152121

Below changes in rust.py does not make connection with the
"remote-test-server" running on qemu image.
===============================
"cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
runCmd(cmd)
bitbake("{} -c check".format(recipe))

Expected below line in generated summary.txt in
b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src
===============================
running: "/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-too
ls-bin/remote-test-client" "spawn-emulator" "aarch64-poky-linux"
"/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/ru
stc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
"/ala-lpggp31/vinay/review-3/b1/tmp/work/cortexa57-poky-linux/rust-test
suite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
Connecting to remote device 192.168.7.2:12345 ...

If we set "export TEST_DEVICE_ADDR=192.168.7.2:12345;" in do_check of
rust-testsuite.inc connection establishes with image
and the test execution is as expected.

Also, please let me know if there in other way to share/publish the source.

Regards,
Vinay

On Fri, May 21, 2021 at 2:00 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> If you publish the code to a branch, and show exactly the errors you get, I could try to look at it.
>
> Alex
>
> On Thu, 20 May 2021 at 22:29, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>>
>> You cannot hardcode the ip address like that; it's set dynamically when qemu starts, and you can only access it from selftest or runtime test.
>>
>> Alex
>>
>> On Thu, 20 May 2021 at 12:06, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>>
>>> Hi Alex,
>>>
>>> Tried your suggestions to copy and run in rust.py without any issue as below.
>>> ===============================
>>> builddir = get_bb_var("B", "rust-testsuite")
>>> ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
>>> ssh.copy_to(builddir + "/" +
>>> "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
>>> t_thread = threading.Thread(target=ssh.run,
>>> args=("~/remote-test-server -v remote",))
>>> t_thread.start()
>>> ===============================
>>>
>>> If we set "TEST_DEVICE_ADDR" in rust.py through "runCmd" as shown
>>> below,  the remote-test-client does not connect  to the image.
>>> So a lot of tests fail.
>>> ===============================
>>> "cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip"
>>> runCmd(cmd)
>>> bitbake("{} -c check".format(recipe))
>>> ===============================
>>>
>>> Also, I tried to move do_check content to rust.py without any success.
>>> ===============================
>>> cmd = "export PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/:" % builddir
>>> cmd= cmd + "%s/../recipe-sysroot-native/usr/bin:$PATH;" % builddir
>>> cmd = cmd + "export
>>> RUST_TARGET_PATH=%s/../recipe-sysroot-native/usr/lib/rustlib/;" %
>>> builddir
>>> cmd = cmd + "cd " + builddir + ";"
>>> cmd  = "export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
>>> cmd = cmd + "python3 src/bootstrap/bootstrap.py -j 40 --verbose test
>>> --no-fail-fast --bless --target aarch64-poky-linux > summary.txt 2>&1"
>>>
>>> Error:
>>> File "/ala-lpggp31/vinay/review-2/poky-contrib/meta/lib/oeqa/utils/commands.py",
>>> line 210, in runCmd
>>> raise AssertionError("Command '%s' returned non-zero exit status
>>> %d:\n%s" % (command, result.status, exc_output))
>>> AssertionError: Command 'export
>>> TEST_DEVICE_ADDR="192.168.7.2:12345";python3
>>> src/bootstrap/bootstrap.py -j 40 --verbose test --no-fail-fast --bless
>>> --target aarch64-poky-linux > summary.txt 2>&1' returned non-zero exit
>>> status 2:
>>> ===============================
>>>
>>> So in rust.py only copy and execution of "remote-test-server" is taken care of.
>>> And the test execution is by  do_check of rust-testsuite.inc as below,
>>> ===============================
>>> do_check () {
>>>     export TEST_DEVICE_ADDR="192.168.7.2:12345"
>>>     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
>>> summary.txt 2> /dev/null
>>> }
>>>
>>> Let me know if this ok. will send patches with changes for review.
>>>
>>> Regards,
>>> Vinay
>>>
>>> On Mon, May 17, 2021 at 8:57 PM Vinay Kumar via lists.openembedded.org
>>> <vinay.m.engg=gmail.com@lists.openembedded.org> wrote:
>>> >
>>> > Hi Alex,
>>> >
>>> > Tried testing outside oe-selftest framework, it works fine without any errors,
>>> >
>>> > export TEST_DEVICE_ADDR="192.168.7.4:12345"
>>> > rust_runx test --no-fail-fast --bless --target "aarch64-poky-linux" >
>>> > summary.txt 2> /dev/null
>>> >
>>> > Also, log (summary.txt) shows "remote-test-client" is connecting to
>>> > the image without any issue.
>>> > =======================================
>>> > running: "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client"
>>> > "spawn-emulator" "aarch64-poky-linux"
>>> > "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-server"
>>> > "/ala-lpggp31/vinay/review-2/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/tmp"
>>> > Connecting to remote device 192.168.7.4:12345 ...
>>> >
>>> > Will integrate these changes in oe-selftest and let you know.
>>> >
>>> > Regards,
>>> > Vinay
>>> >
>>> > On Mon, May 17, 2021 at 8:11 PM Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>> > >
>>> > > Checking suggestions, the booted image with tap seems to be working by
>>> > > passing "-monitor  telnet:127.0.0.1:1234,server,nowait"
>>> > > so I will execute testing and update you.
>>> > > ==========================
>>> > > root@qemuarm64:~# ifconfig
>>> > > eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:02
>>> > >           inet addr:192.168.7.4  Bcast:192.168.7.255  Mask:255.255.255.0
>>> > >           inet6 addr: fe80::5054:ff:fe12:3402/64 Scope:Link
>>> > >           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>> > >           RX packets:116 errors:0 dropped:0 overruns:0 frame:0
>>> > >           TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
>>> > >           collisions:0 txqueuelen:1000
>>> > >           RX bytes:945121 (922.9 KiB)  TX bytes:9529 (9.3 KiB)
>>> > >
>>> > > root@qemuarm64:~# ./remote-test-server -v remote
>>> > > starting test server
>>> > > listening on 0.0.0.0:12345!
>>> > > ==========================
>>> > >
>>> > > Regards,
>>> > > Vinay
>>> > >
>>> > > On Mon, May 17, 2021 at 8:02 PM Alexander Kanavin
>>> > > <alex.kanavin@gmail.com> wrote:
>>> > > >
>>> > > > Thanks, can you please look into the error? The line where it happens and the way to get a backtrace is right there :)
>>> > > > There's no reason it shouldn't work.
>>> > > >
>>> > > > Alex
>>> > > >
>>> > > > On Mon, 17 May 2021 at 15:21, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>> > > >>
>>> > > >> Hi Alex,
>>> > > >>
>>> > > >> Error on qemu  image (ex. Aarch64) booted with tap interface.
>>> > > >> ===========================
>>> > > >> root@qemuarm64:~# ./remote-test-server
>>> > > >> starting test server
>>> > > >> thread 'main' panicked at 'TcpListener::bind(bind_addr) failed with
>>> > > >> Cannot assign requested address (os error 99)',
>>> > > >> src/tools/remote-test-server/src/main.rs:90:20
>>> > > >> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
>>> > > >> ===========================
>>> > > >>
>>> > > >> On Mon, May 17, 2021 at 5:16 PM Alexander Kanavin
>>> > > >> <alex.kanavin@gmail.com> wrote:
>>> > > >> >
>>> > > >> > On Mon, 17 May 2021 at 13:34, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>> > > >> >>
>>> > > >> >> "remote-test-server" on qemu-image with a tap interface throws an error.
>>> > > >> >> The emulators for rust testing are with tcp port forwarding so used
>>> > > >> >> slirp method with added rust port.
>>> > > >> >
>>> > > >> >
>>> > > >> > I'm not sure I understand - what kind of error? In both cases the server starts listening on a port, so in slirp scenario the address is 127.0.0.1:12345 (prone to breakage if something else on the build host took that port btw, including another instance of the same test), in tap it would be 192.168.7.2:12345. For the client you simply supply that via TEST_DEVICE_ADDR. No?
>>> > > >> >
>>> > > >> > Alex
>>> >
>>> > 
>>> >

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-21 13:29                                 ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                     ` (3 preceding siblings ...)
  2021-05-21 13:29                                   ` [PATCH v3 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
@ 2021-05-22 16:11                                   ` Alexander Kanavin
  2021-05-22 16:15                                     ` Alexander Kanavin
  4 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-22 16:11 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 7584 bytes --]

Where is TARGET_SYS set? I cannot find it anywhere in your patchset.

Note that when using tap, the target ip address is unknown until qemu is
started, so you need to engineer the code in a way that everything that
needs to know the address is configured at that point.

Alex

On Fri, 21 May 2021 at 15:29, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Below list of functions are part of rust-testsuite.inc
> setup_cargo_environment(): Build bootstrap and some early stage tools.
> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
> do_configure(): To generate config.toml
> do_compile(): To build "remote-test-server" for qemutarget image.
> do_check(): To execute testing on qmutarget image.
>
> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
> ---
>  meta/recipes-devtools/rust/rust-testsuite.inc | 163 ++++++++++++++++++
>  1 file changed, 163 insertions(+)
>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
>
> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc
> b/meta/recipes-devtools/rust/rust-testsuite.inc
> new file mode 100644
> index 0000000000..88fb4e70d9
> --- /dev/null
> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
> @@ -0,0 +1,163 @@
> +SUMMARY = "Rust testing"
> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
> +SECTION = "test"
> +LICENSE = "MIT | Apache-2.0"
> +
> +inherit rust
> +inherit cargo_common
> +
> +DEPENDS += "file-native python3-native"
> +EXCLUDE_FROM_WORLD = "1"
> +
> +# Path of target specification file "target-poky-linux.json"
> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
> +
> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
> +
> +# We don't want to use bitbakes vendoring because the rust sources do
> their
> +# own vendoring.
> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
> +
> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
> +setup_cargo_environment () {
> +    # The first step is to build bootstrap and some early stage tools,
> +    # these are build for the same target as the snapshot, e.g.
> +    # x86_64-unknown-linux-gnu.
> +    # Later stages are build for the native target (i.e.
> target.x86_64-linux)
> +    cargo_common_do_configure
> +
> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
> +}
> +
> +do_rust_setup_snapshot () {
> +    for installer in
> "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot"
> --disable-ldconfig
> +    done
> +
> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in
> stage0/bin/cargo
> +    # and fail without it there.
> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
> +}
> +addtask rust_setup_snapshot after do_unpack before do_configure
> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
> +
> +python do_configure() {
> +    import json
> +    from distutils.version import LooseVersion
> +    try:
> +        import configparser
> +    except ImportError:
> +        import ConfigParser as configparser
> +
> +    # toml is rather similar to standard ini like format except it likes
> values
> +    # that look more JSON like. So for our purposes simply escaping all
> values
> +    # as JSON seem to work fine.
> +
> +    e = lambda s: json.dumps(s)
> +
> +    config = configparser.RawConfigParser()
> +
> +    # [target.ARCH-unknown-linux-gnu] in case of x86_64
> [target.ARCH-poky-linux]
> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
> +    config.add_section(target_section)
> +
> +    # Points to wrapper files which contain target specific compiler and
> linker commands.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
> +    config.set(target_section, "linker",
> e(d.expand("${RUST_TARGET_CCLD}")))
> +
> +    # If we don't do this rust-native will compile it's own llvm for
> BUILD.
> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS',
> True))
> +    config.add_section(target_section)
> +
> +    # Wrapper scripts of build system.
> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
> +
> +    # [llvm]
> +    config.add_section("llvm")
> +    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
> +
> +    # [rust]
> +    config.add_section("rust")
> +    config.set("rust", "rpath", e(True))
> +    config.set("rust", "channel", e("stable"))
> +
> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
> +        config.set("rust", "use-jemalloc", e(False))
> +
> +    # Whether or not to optimize the compiler and standard library
> +    config.set("rust", "optimize", e(True))
> +
> +    # Emits extraneous output from tests to ensure that failures of the
> test
> +    # harness are debuggable just from logfiles
> +    config.set("rust", "verbose-tests", e(True))
> +
> +    # Override default linker cc.
> +    config.set("rust", "default-linker",
> e(d.expand("${RUST_BUILD_CCLD}")))
> +
> +    # [build]
> +    config.add_section("build")
> +    config.set("build", "submodules", e(False))
> +    config.set("build", "docs", e(False))
> +
> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
> +    config.set("build", "rustc", e(rustc))
> +
> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
> +    config.set("build", "cargo", e(cargo))
> +
> +    config.set("build", "vendor", e(True))
> +
> +    targets = [d.getVar("TARGET_SYS", True)]
> +    config.set("build", "target", e(targets))
> +
> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
> +    config.set("build", "host", e(hosts))
> +
> +    # We can't use BUILD_SYS since that is something the rust snapshot
> knows
> +    # nothing about when trying to build some stage0 tools (like
> fabricate)
> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
> +
> +    with open("config.toml", "w") as f:
> +        config.write(f)
> +
> +    # set up ${WORKDIR}/cargo_home
> +    bb.build.exec_func("setup_cargo_environment", d)
> +}
> +
> +
> +rust_runx () {
> +    echo "COMPILE ${PN}" "$@"
> +
> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
> +    # wide range of targets (not just TARGET). Yocto's settings for them
> will
> +    # be inappropriate, avoid using.
> +    unset CFLAGS
> +    unset LDFLAGS
> +    unset CXXFLAGS
> +    unset CPPFLAGS
> +
> +    oe_cargo_fix_env
> +
> +    python3 src/bootstrap/bootstrap.py
> ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
> +}
> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
> +
> +do_compile () {
> +
> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
> +}
> +
> +do_check[dirs] += "${B}"
> +do_check[nostamp] = "1"
> +do_check () {
> +
> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
> summary.txt 2> /dev/null
> +}
> +addtask do_check after do_compile
> --
> 2.17.1
>
>

[-- Attachment #2: Type: text/html, Size: 9562 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-22 16:11                                   ` [PATCH v3 1/5] rust-testsuite.inc : Rust cross testing Alexander Kanavin
@ 2021-05-22 16:15                                     ` Alexander Kanavin
  0 siblings, 0 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-22 16:15 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 7959 bytes --]

Nevermind, I found where TARGET_SYS comes from :)

Alex

On Sat, 22 May 2021 at 18:11, Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> Where is TARGET_SYS set? I cannot find it anywhere in your patchset.
>
> Note that when using tap, the target ip address is unknown until qemu is
> started, so you need to engineer the code in a way that everything that
> needs to know the address is configured at that point.
>
> Alex
>
> On Fri, 21 May 2021 at 15:29, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>
>> Below list of functions are part of rust-testsuite.inc
>> setup_cargo_environment(): Build bootstrap and some early stage tools.
>> do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
>> do_configure(): To generate config.toml
>> do_compile(): To build "remote-test-server" for qemutarget image.
>> do_check(): To execute testing on qmutarget image.
>>
>> Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
>> ---
>>  meta/recipes-devtools/rust/rust-testsuite.inc | 163 ++++++++++++++++++
>>  1 file changed, 163 insertions(+)
>>  create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc
>>
>> diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc
>> b/meta/recipes-devtools/rust/rust-testsuite.inc
>> new file mode 100644
>> index 0000000000..88fb4e70d9
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rust/rust-testsuite.inc
>> @@ -0,0 +1,163 @@
>> +SUMMARY = "Rust testing"
>> +HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
>> +SECTION = "test"
>> +LICENSE = "MIT | Apache-2.0"
>> +
>> +inherit rust
>> +inherit cargo_common
>> +
>> +DEPENDS += "file-native python3-native"
>> +EXCLUDE_FROM_WORLD = "1"
>> +
>> +# Path of target specification file "target-poky-linux.json"
>> +export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
>> +
>> +export FORCE_CRATE_HASH="${BB_TASKHASH}"
>> +
>> +# We don't want to use bitbakes vendoring because the rust sources do
>> their
>> +# own vendoring.
>> +CARGO_DISABLE_BITBAKE_VENDORING = "1"
>> +
>> +# We can't use RUST_BUILD_SYS here because that may be "musl" if
>> +# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
>> +SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
>> +setup_cargo_environment () {
>> +    # The first step is to build bootstrap and some early stage tools,
>> +    # these are build for the same target as the snapshot, e.g.
>> +    # x86_64-unknown-linux-gnu.
>> +    # Later stages are build for the native target (i.e.
>> target.x86_64-linux)
>> +    cargo_common_do_configure
>> +
>> +    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >>
>> ${CARGO_HOME}/config
>> +    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
>> +}
>> +
>> +do_rust_setup_snapshot () {
>> +    for installer in
>> "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
>> +        "${installer}" --prefix="${WORKDIR}/rust-snapshot"
>> --disable-ldconfig
>> +    done
>> +
>> +    # Some versions of rust (e.g. 1.18.0) tries to find cargo in
>> stage0/bin/cargo
>> +    # and fail without it there.
>> +    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
>> +    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
>> +}
>> +addtask rust_setup_snapshot after do_unpack before do_configure
>> +do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
>> +
>> +python do_configure() {
>> +    import json
>> +    from distutils.version import LooseVersion
>> +    try:
>> +        import configparser
>> +    except ImportError:
>> +        import ConfigParser as configparser
>> +
>> +    # toml is rather similar to standard ini like format except it likes
>> values
>> +    # that look more JSON like. So for our purposes simply escaping all
>> values
>> +    # as JSON seem to work fine.
>> +
>> +    e = lambda s: json.dumps(s)
>> +
>> +    config = configparser.RawConfigParser()
>> +
>> +    # [target.ARCH-unknown-linux-gnu] in case of x86_64
>> [target.ARCH-poky-linux]
>> +    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
>> +    config.add_section(target_section)
>> +
>> +    # Points to wrapper files which contain target specific compiler and
>> linker commands.
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
>> +    config.set(target_section, "linker",
>> e(d.expand("${RUST_TARGET_CCLD}")))
>> +
>> +    # If we don't do this rust-native will compile it's own llvm for
>> BUILD.
>> +    # [target.${BUILD_ARCH}-unknown-linux-gnu]
>> +    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS',
>> True))
>> +    config.add_section(target_section)
>> +
>> +    # Wrapper scripts of build system.
>> +    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
>> +    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
>> +
>> +    # [llvm]
>> +    config.add_section("llvm")
>> +    config.set("llvm", "targets",
>> e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
>> +
>> +    # [rust]
>> +    config.add_section("rust")
>> +    config.set("rust", "rpath", e(True))
>> +    config.set("rust", "channel", e("stable"))
>> +
>> +    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
>> +        config.set("rust", "use-jemalloc", e(False))
>> +
>> +    # Whether or not to optimize the compiler and standard library
>> +    config.set("rust", "optimize", e(True))
>> +
>> +    # Emits extraneous output from tests to ensure that failures of the
>> test
>> +    # harness are debuggable just from logfiles
>> +    config.set("rust", "verbose-tests", e(True))
>> +
>> +    # Override default linker cc.
>> +    config.set("rust", "default-linker",
>> e(d.expand("${RUST_BUILD_CCLD}")))
>> +
>> +    # [build]
>> +    config.add_section("build")
>> +    config.set("build", "submodules", e(False))
>> +    config.set("build", "docs", e(False))
>> +
>> +    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
>> +    config.set("build", "rustc", e(rustc))
>> +
>> +    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
>> +    config.set("build", "cargo", e(cargo))
>> +
>> +    config.set("build", "vendor", e(True))
>> +
>> +    targets = [d.getVar("TARGET_SYS", True)]
>> +    config.set("build", "target", e(targets))
>> +
>> +    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
>> +    config.set("build", "host", e(hosts))
>> +
>> +    # We can't use BUILD_SYS since that is something the rust snapshot
>> knows
>> +    # nothing about when trying to build some stage0 tools (like
>> fabricate)
>> +    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
>> +
>> +    with open("config.toml", "w") as f:
>> +        config.write(f)
>> +
>> +    # set up ${WORKDIR}/cargo_home
>> +    bb.build.exec_func("setup_cargo_environment", d)
>> +}
>> +
>> +
>> +rust_runx () {
>> +    echo "COMPILE ${PN}" "$@"
>> +
>> +    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
>> +    # wide range of targets (not just TARGET). Yocto's settings for them
>> will
>> +    # be inappropriate, avoid using.
>> +    unset CFLAGS
>> +    unset LDFLAGS
>> +    unset CXXFLAGS
>> +    unset CPPFLAGS
>> +
>> +    oe_cargo_fix_env
>> +
>> +    python3 src/bootstrap/bootstrap.py
>> ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
>> +}
>> +rust_runx[vardepsexclude] += "PARALLEL_MAKE"
>> +
>> +do_compile () {
>> +
>> +    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
>> +}
>> +
>> +do_check[dirs] += "${B}"
>> +do_check[nostamp] = "1"
>> +do_check () {
>> +
>> +    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
>> summary.txt 2> /dev/null
>> +}
>> +addtask do_check after do_compile
>> --
>> 2.17.1
>>
>>

[-- Attachment #2: Type: text/html, Size: 10037 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-21 13:46                                 ` [OE-core] [PATCH v2 6/7] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-22 16:29                                   ` Alexander Kanavin
  0 siblings, 0 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-22 16:29 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 616 bytes --]

On Fri, 21 May 2021 at 15:46, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

>
> If we set "export TEST_DEVICE_ADDR=192.168.7.2:12345;" in do_check of
> rust-testsuite.inc connection establishes with image
> and the test execution is as expected.
>

That's because bitbake sanitizes the environment of the tasks and those
externally set variables do not propagate into do_check().

I would suggest that you do not try to do the testing step as a bitbake
task in a recipe, but rather move what it does directly into
meta/lib/oeqa/selftest/cases/rust.py.

I will respond to the patch separately.

Alex

[-- Attachment #2: Type: text/html, Size: 1077 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-21 13:29                                   ` [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-22 16:34                                     ` Alexander Kanavin
  2021-05-24  5:12                                       ` Vinay Kumar
                                                         ` (2 more replies)
  0 siblings, 3 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-22 16:34 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 884 bytes --]

On Fri, 21 May 2021 at 15:29, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> +                       # Set TEST_DEVICE_ADDR to image ip
> +                       cmd  = "export TEST_DEVICE_ADDR=%s:12345;" %
> qemu.ip
> +                       runCmd(cmd)
> +
> +                        # Test execution
> +                       bitbake("{} -c check".format(recipe))
> +                       # Stop ssh background execution
> +                       t_thread.stop()
>
>
TEST_DEVICE_ADDR set this way will not propagate into the task environment.
The task itself consists only of:

do_check () {

    rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" >
summary.txt 2> /dev/null
}

so you can simply move that directly into selftest:

runCmd("export TEST_DEVICE_ADDR=%s:12345 rust_runx test --no-fail-fast
--bless --target "%s"" %(....))

Alex

[-- Attachment #2: Type: text/html, Size: 1450 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-22 16:34                                     ` Alexander Kanavin
@ 2021-05-24  5:12                                       ` Vinay Kumar
  2021-05-24 17:15                                       ` [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
       [not found]                                       ` <1681E8AC31CF1367.29978@lists.openembedded.org>
  2 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24  5:12 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

I made changes as you suggested, getting expected results.
Verifying with a fresh run. Will send the final patch for review.

Regards,
Vinay

On Sat, May 22, 2021 at 10:04 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Fri, 21 May 2021 at 15:29, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> +                       # Set TEST_DEVICE_ADDR to image ip
>> +                       cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip
>> +                       runCmd(cmd)
>> +
>> +                        # Test execution
>> +                       bitbake("{} -c check".format(recipe))
>> +                       # Stop ssh background execution
>> +                       t_thread.stop()
>>
>
> TEST_DEVICE_ADDR set this way will not propagate into the task environment. The task itself consists only of:
>
> do_check () {
>
>     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
> }
>
> so you can simply move that directly into selftest:
>
> runCmd("export TEST_DEVICE_ADDR=%s:12345 rust_runx test --no-fail-fast --bless --target "%s"" %(....))
>
> Alex
>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-22 16:34                                     ` Alexander Kanavin
  2021-05-24  5:12                                       ` Vinay Kumar
@ 2021-05-24 17:15                                       ` Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
                                                           ` (3 more replies)
       [not found]                                       ` <1681E8AC31CF1367.29978@lists.openembedded.org>
  2 siblings, 4 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:15 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Below list of functions are part of rust-testsuite.inc
setup_cargo_environment(): Build bootstrap and some early stage tools.
do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
do_configure(): To generate config.toml
do_compile(): To build "remote-test-server" for qemutarget image.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite.inc | 156 ++++++++++++++++++
 1 file changed, 156 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc

diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
new file mode 100644
index 0000000000..8dd2855e67
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite.inc
@@ -0,0 +1,156 @@
+SUMMARY = "Rust testing"
+HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
+SECTION = "test"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+EXCLUDE_FROM_WORLD = "1"
+
+# Path of target specification file "target-poky-linux.json"
+export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux] 
+    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+    config.add_section(target_section)
+
+    # Points to wrapper files which contain target specific compiler and linker commands. 
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    # Wrapper scripts of build system.
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [llvm]
+    config.add_section("llvm")
+    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles
+    config.set("rust", "verbose-tests", e(True))    
+
+    # Override default linker cc.
+    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    targets = [d.getVar("TARGET_SYS", True)]
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+
+    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+}
+
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v4 2/5] Add rust testsuite for 1.46.0
  2021-05-24 17:15                                       ` [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-24 17:15                                         ` Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
                                                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:15 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb

diff --git a/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
new file mode 100644
index 0000000000..ad758b71f4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
@@ -0,0 +1,3 @@
+require rust-testsuite.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v4 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-24 17:15                                       ` [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-24 17:15                                         ` Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:15 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing rust-testing observed some ui testfailures due to
below warning message.

'powerpc' is not a recognized processor for this target in rust

So renamed target cpu for "powerpc" in "llvm_cpu" to "7400" as per
default tune for qemuppc.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index a1223f45e7..ee3176b559 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -290,7 +290,7 @@ def llvm_cpu(d):
     trans['x86-64'] = "x86-64"
     trans['i686'] = "i686"
     trans['i586'] = "i586"
-    trans['powerpc'] = "powerpc"
+    trans['powerpc'] = "7400"
     trans['mips64'] = "mips64"
     trans['mips64el'] = "mips64"
     trans['riscv64'] = "generic-rv64"
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-24 17:15                                       ` [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-24 17:15                                         ` [PATCH v4 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-24 17:15                                         ` Vinay Kumar
  2021-05-24 19:59                                           ` Alexander Kanavin
  2021-05-24 17:15                                         ` [PATCH v4 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:15 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Build remote-test-server copy to image and execute
remotely through background ssh.

Execute rust testing by exporting required paths. Capturing
test results in summary.txt at rust source folder.

We are booting qemuimage in "nographic" mode along with additional
qemuparams,
'-monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null'

Note:
'-serial mon:stdio -serial': To fix below run-time errors while testing
"failed with Connection reset by peer"

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 51 ++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py

diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..398fb35ccb
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu, Command
+from oeqa.utils.sshcontrol import SSHControl
+import threading
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-testsuite"
+		bitbake("{} -c compile".format(recipe))
+		builddir = get_bb_var("B", "rust-testsuite")
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams= " -monitor \
+                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
+			#Copy remote-test-server through scp and execute through background ssh
+			ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root", timeout=600)
+			ssh.copy_to(builddir + "/" + "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
+			t_thread = threading.Thread(target=ssh.run, args=("~/remote-test-server -v remote",))
+			t_thread.start()
+			# Get the values of variables.
+			targetsys = get_bb_var("TARGET_SYS", "rust-testsuite")
+			rustlibpath = get_bb_var("STAGING_LIBDIR_NATIVE", "rust-testsuite")
+			tmpdir = get_bb_var("TMPDIR", "rust-testsuite")
+			testargs = "--no-fail-fast --bless"
+			# Set path for target-poky-linux-gcc, RUST_TARGET_PATH and hosttools.                        
+			cmd = "export PATH=%s/../bin:$PATH;" % rustlibpath
+			cmd = cmd + " export PATH=%s/../bin/%s:%s/hosttools:$PATH;" % (rustlibpath, targetsys, tmpdir) 
+			cmd = cmd + " export RUST_TARGET_PATH=%s/rustlib;" % rustlibpath
+			# Trigger testing.                        
+			cmd = cmd + " export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
+			cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py -j 40 --verbose test %s --target %s > summary.txt 2> /dev/null " % (builddir, testargs, targetsys)
+			runCmd(cmd)                        
+			# Stop ssh background execution
+			t_thread.stop()
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v4 5/5] rust.inc : Fix for aarch64 feature.
  2021-05-24 17:15                                       ` [PATCH v4 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                           ` (2 preceding siblings ...)
  2021-05-24 17:15                                         ` [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-24 17:15                                         ` Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:15 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing ui testing observed failures due to below warning,

"'+v8' is not a recognized feature for this target (ignoring feature)"

Same got fixed by backporting below patch,
http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-wip-2021-02-16&id=f243e4bbd5414ce519336753a68c53ee60cbe89e

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index ee3176b559..fb20bbd0fb 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -64,9 +64,6 @@ def llvm_features_from_tune(d):
     if 'neon' in feat:
         f.append("+neon")
 
-    if 'aarch64' in feat:
-        f.append("+v8")
-
     if 'mips32' in feat:
         f.append("+mips32")
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [OE-core] [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
       [not found]                                       ` <1681E8AC31CF1367.29978@lists.openembedded.org>
@ 2021-05-24 17:25                                         ` Vinay Kumar
  0 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-24 17:25 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar, Khem Raj

Hi Alex,

I have sent the v4 version of patches with "do_check" functionality
included in "rust.py"
Also, verified for qemuarm64 target with fresh run.

Please let me know in case of any corrections.

Regards,
Vinay

On Mon, May 24, 2021 at 10:42 AM Vinay Kumar via
lists.openembedded.org <vinay.m.engg=gmail.com@lists.openembedded.org>
wrote:
>
> Hi Alex,
>
> I made changes as you suggested, getting expected results.
> Verifying with a fresh run. Will send the final patch for review.
>
> Regards,
> Vinay
>
> On Sat, May 22, 2021 at 10:04 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Fri, 21 May 2021 at 15:29, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> >>
> >> +                       # Set TEST_DEVICE_ADDR to image ip
> >> +                       cmd  = "export TEST_DEVICE_ADDR=%s:12345;" % qemu.ip
> >> +                       runCmd(cmd)
> >> +
> >> +                        # Test execution
> >> +                       bitbake("{} -c check".format(recipe))
> >> +                       # Stop ssh background execution
> >> +                       t_thread.stop()
> >>
> >
> > TEST_DEVICE_ADDR set this way will not propagate into the task environment. The task itself consists only of:
> >
> > do_check () {
> >
> >     rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
> > }
> >
> > so you can simply move that directly into selftest:
> >
> > runCmd("export TEST_DEVICE_ADDR=%s:12345 rust_runx test --no-fail-fast --bless --target "%s"" %(....))
> >
> > Alex
> >
>
> 
>

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-24 17:15                                         ` [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-24 19:59                                           ` Alexander Kanavin
  2021-05-26 20:43                                             ` Vinay Kumar
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-24 19:59 UTC (permalink / raw)
  To: Vinay Kumar
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 1345 bytes --]

On Mon, 24 May 2021 at 19:16, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Build remote-test-server copy to image and execute
> remotely through background ssh.
>

Thanks, I do not have any further comments about the overall structure, the
below are more specific concerns.


> +               with runqemu("core-image-minimal", runqemuparams =
> "nographic", qemuparams= " -monitor \
> +                        telnet:127.0.0.1:1234,server,nowait -serial
> mon:stdio -serial null") as qemu:
>

Hardcoding the ip port this way is problematic and prone to conflicts. What
is -monitor used for?


> +                       cmd = cmd + " cd %s;  python3
> src/bootstrap/bootstrap.py -j 40 --verbose test %s --target %s >
> summary.txt 2> /dev/null " % (builddir, testargs, targetsys)
>

What does -j 40 do? Keep in mind that qemu has only 4 virtual cpu cores.


> +                       runCmd(cmd)
>

What happens if the test executed via runCmd fails? Specifically, will the
failure be properly reported?

I'm wondering because the output of the test is redirected to summary.txt
(which is then left unused), and stderr is discarded altogether.


> +                       # Stop ssh background execution
> +                       t_thread.stop()
>

Will t_thread be stopped if runCmd fails?

Alex

[-- Attachment #2: Type: text/html, Size: 2563 bytes --]

^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-24 19:59                                           ` Alexander Kanavin
@ 2021-05-26 20:43                                             ` Vinay Kumar
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-27  8:18                                               ` [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  0 siblings, 2 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-26 20:43 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

>> Hardcoding the ip port this way is problematic and prone to conflicts. What is -monitor used for?
When we were testing outside oe-selftest framework ( booting image
manually and trigger testing),
the "remote-test-server" used to give connection issues. However,
right now without this option the testing is working without any
issue. So removed from qemuboot.

>> What does -j 40 do? Keep in mind that qemu has only 4 virtual cpu cores.
This one passed to speed up the testing while using the "do_check"
method. So I removed parallel builds.

>> What happens if the test executed via runCmd fails? Specifically, will the failure be properly reported?
While executing testing, if there any testcase failures testing gets
terminated with below message,
"command did not execute successfully:"

So we are passing "--no-fail-fast" as a test argument, which wont exit
the shell and the testing continues even if there are failures.

>> I'm wondering because the output of the test is redirected to summary.txt (which is then left unused), and stderr is discarded altogether.
This is because I only capture the test results as much as possible.
Now modified to consider stderr also.

>> Will t_thread be stopped if runCmd fails?
Now changed the implementation to discard thread usage. Even in case
of any failure the test used to end after timeout set in "SShcontrol"
if the timeout is less (60 seconds) then some of the tests used to get missed.

So instead of using copy_to and run from sshcontrol.py, I tried
copying the remote-test-server to the image and  executing in the
background as below,

#Copy remote-test-server through scp and execute through background ssh
sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
-o LogLevel=ERROR'
cmd = "scp %s %s/build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server
root@%s:~/ ;" % (sshargs, builddir, qemu.ip)
testcommand = '~/remote-test-server -v remote'
cmd = cmd + "ssh %s -f root@%s \"%s\";" % (sshargs, qemu.ip, testcommand)

And kill "remote-test-server" through ssh once testing is complete
killcommand = "kill -9 \$(ps | grep remote-test-server |  grep -v
\"grep\" | awk '{print \$1}')"
cmd = cmd + "ssh %s root@%s \"%s\";" % (sshargs, qemu.ip, killcommand)

Testing in progress will send the v5 version patches.

Regards,
Vinay

On Tue, May 25, 2021 at 1:29 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Mon, 24 May 2021 at 19:16, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Build remote-test-server copy to image and execute
>> remotely through background ssh.
>
>
> Thanks, I do not have any further comments about the overall structure, the below are more specific concerns.
>
>>
>> +               with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams= " -monitor \
>> +                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
>
>
> Hardcoding the ip port this way is problematic and prone to conflicts. What is -monitor used for?
>
>>
>> +                       cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py -j 40 --verbose test %s --target %s > summary.txt 2> /dev/null " % (builddir, testargs, targetsys)
>
>
> What does -j 40 do? Keep in mind that qemu has only 4 virtual cpu cores.
>
>>
>> +                       runCmd(cmd)
>
>
> What happens if the test executed via runCmd fails? Specifically, will the failure be properly reported?
>
> I'm wondering because the output of the test is redirected to summary.txt (which is then left unused), and stderr is discarded altogether.
>
>>
>> +                       # Stop ssh background execution
>> +                       t_thread.stop()
>
>
> Will t_thread be stopped if runCmd fails?
>
> Alex

^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-26 20:43                                             ` Vinay Kumar
@ 2021-05-27  8:10                                               ` Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
                                                                   ` (3 more replies)
  2021-05-27  8:18                                               ` [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  1 sibling, 4 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:10 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Below list of functions are part of rust-testsuite.inc
setup_cargo_environment(): Build bootstrap and some early stage tools.
do_rust_setup_snapshot(): Install the snapshot version of rust binaries.
do_configure(): To generate config.toml
do_compile(): To build "remote-test-server" for qemutarget image.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite.inc | 156 ++++++++++++++++++
 1 file changed, 156 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite.inc

diff --git a/meta/recipes-devtools/rust/rust-testsuite.inc b/meta/recipes-devtools/rust/rust-testsuite.inc
new file mode 100644
index 0000000000..8dd2855e67
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite.inc
@@ -0,0 +1,156 @@
+SUMMARY = "Rust testing"
+HOMEPAGE = "https://rustc-dev-guide.rust-lang.org/tests/intro.html"
+SECTION = "test"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+EXCLUDE_FROM_WORLD = "1"
+
+# Path of target specification file "target-poky-linux.json"
+export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu] in case of x86_64 [target.ARCH-poky-linux] 
+    target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+    config.add_section(target_section)
+
+    # Points to wrapper files which contain target specific compiler and linker commands. 
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    # Wrapper scripts of build system.
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [llvm]
+    config.add_section("llvm")
+    config.set("llvm", "targets", e("ARM;AArch64;Mips;PowerPC;RISCV;X86"))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles
+    config.set("rust", "verbose-tests", e(True))    
+
+    # Override default linker cc.
+    config.set("rust", "default-linker", e(d.expand("${RUST_BUILD_CCLD}")))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    targets = [d.getVar("TARGET_SYS", True)]
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+
+    rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+}
+
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v5 2/5] Add rust testsuite for 1.46.0
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-27  8:10                                                 ` Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
                                                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:10 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb | 3 +++
 1 file changed, 3 insertions(+)
 create mode 100644 meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb

diff --git a/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
new file mode 100644
index 0000000000..ad758b71f4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite_1.46.0.bb
@@ -0,0 +1,3 @@
+require rust-testsuite.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v5 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-27  8:10                                                 ` Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-27  8:11                                                 ` [PATCH v5 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:10 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing rust-testing observed some ui testfailures due to
below warning message.

'powerpc' is not a recognized processor for this target in rust

So renamed target cpu for "powerpc" in "llvm_cpu" to "7400" as per
default tune for qemuppc.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index a1223f45e7..ee3176b559 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -290,7 +290,7 @@ def llvm_cpu(d):
     trans['x86-64'] = "x86-64"
     trans['i686'] = "i686"
     trans['i586'] = "i586"
-    trans['powerpc'] = "powerpc"
+    trans['powerpc'] = "7400"
     trans['mips64'] = "mips64"
     trans['mips64el'] = "mips64"
     trans['riscv64'] = "generic-rv64"
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-27  8:10                                                 ` [PATCH v5 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-27  8:10                                                 ` Vinay Kumar
  2021-05-27  8:32                                                   ` Alexander Kanavin
                                                                     ` (2 more replies)
  2021-05-27  8:11                                                 ` [PATCH v5 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 3 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:10 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

Build remote-test-server copy to image and execute
remotely through background ssh.

Execute rust testing by exporting required paths. Capturing
test results in summary.txt at rust source folder.

Kill "remote-test-server" on the image through ssh,
once testing is completed.

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 50 ++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/rust.py

diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..066a28c046
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-testsuite"
+		bitbake("{} -c compile".format(recipe))
+		builddir = get_bb_var("B", "rust-testsuite")
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic") as qemu:
+			#Copy remote-test-server through scp and execute through background ssh
+			sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR'
+			cmd = "scp %s %s/build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server root@%s:~/ ;" % (sshargs, builddir, qemu.ip)
+			testcommand = '~/remote-test-server -v remote'
+			cmd = cmd + "ssh %s -f root@%s \"%s\";" % (sshargs, qemu.ip, testcommand)
+			# Get the values of variables.
+			targetsys = get_bb_var("TARGET_SYS", "rust-testsuite")
+			rustlibpath = get_bb_var("STAGING_LIBDIR_NATIVE", "rust-testsuite")
+			tmpdir = get_bb_var("TMPDIR", "rust-testsuite")
+			testargs = "--no-fail-fast --bless"
+			# Set path for target-poky-linux-gcc, RUST_TARGET_PATH and hosttools.                        
+			cmd = cmd + " export PATH=%s/../bin:$PATH;" % rustlibpath
+			cmd = cmd + " export PATH=%s/../bin/%s:%s/hosttools:$PATH;" % (rustlibpath, targetsys, tmpdir) 
+			cmd = cmd + " export RUST_TARGET_PATH=%s/rustlib;" % rustlibpath
+			# Trigger testing.                        
+			cmd = cmd + " export TEST_DEVICE_ADDR=\"%s:12345\";" % qemu.ip
+			cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s --target %s > summary.txt 2>&1;" % (builddir, testargs, targetsys)
+			# To kill remote-test-server executing through background ssh
+			killcommand = "kill -9 \$(ps | grep remote-test-server |  grep -v \"grep\" | awk '{print \$1}')"
+			cmd = cmd + "ssh %s root@%s \"%s\";" % (sshargs, qemu.ip, killcommand)
+			result = runCmd(cmd)
+			self.assertEqual(0, result.status, 'oe-selftest returned a non 0 status:%s' % result.output)                        
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* [PATCH v5 5/5] rust.inc : Fix for aarch64 feature.
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                                   ` (2 preceding siblings ...)
  2021-05-27  8:10                                                 ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-27  8:11                                                 ` Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:11 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

While executing ui testing observed failures due to below warning,

"'+v8' is not a recognized feature for this target (ignoring feature)"

Same got fixed by backporting below patch,
http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rmacleod/rust-wip-2021-02-16&id=f243e4bbd5414ce519336753a68c53ee60cbe89e

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/recipes-devtools/rust/rust.inc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index ee3176b559..fb20bbd0fb 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -64,9 +64,6 @@ def llvm_features_from_tune(d):
     if 'neon' in feat:
         f.append("+neon")
 
-    if 'aarch64' in feat:
-        f.append("+v8")
-
     if 'mips32' in feat:
         f.append("+mips32")
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 90+ messages in thread

* Re: [PATCH v4 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-26 20:43                                             ` Vinay Kumar
  2021-05-27  8:10                                               ` [PATCH v5 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-27  8:18                                               ` Vinay Kumar
  1 sibling, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27  8:18 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

[-- Attachment #1: Type: text/plain, Size: 4273 bytes --]

Hi Alex,

Sent v5 version of patches with changes as per my last mail.
Also, attached "summary.txt" of rust testing with arm64 target, for
your reference.

Regards,
Vinay

On Thu, May 27, 2021 at 2:13 AM Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>
> Hi Alex,
>
> >> Hardcoding the ip port this way is problematic and prone to conflicts. What is -monitor used for?
> When we were testing outside oe-selftest framework ( booting image
> manually and trigger testing),
> the "remote-test-server" used to give connection issues. However,
> right now without this option the testing is working without any
> issue. So removed from qemuboot.
>
> >> What does -j 40 do? Keep in mind that qemu has only 4 virtual cpu cores.
> This one passed to speed up the testing while using the "do_check"
> method. So I removed parallel builds.
>
> >> What happens if the test executed via runCmd fails? Specifically, will the failure be properly reported?
> While executing testing, if there any testcase failures testing gets
> terminated with below message,
> "command did not execute successfully:"
>
> So we are passing "--no-fail-fast" as a test argument, which wont exit
> the shell and the testing continues even if there are failures.
>
> >> I'm wondering because the output of the test is redirected to summary.txt (which is then left unused), and stderr is discarded altogether.
> This is because I only capture the test results as much as possible.
> Now modified to consider stderr also.
>
> >> Will t_thread be stopped if runCmd fails?
> Now changed the implementation to discard thread usage. Even in case
> of any failure the test used to end after timeout set in "SShcontrol"
> if the timeout is less (60 seconds) then some of the tests used to get missed.
>
> So instead of using copy_to and run from sshcontrol.py, I tried
> copying the remote-test-server to the image and  executing in the
> background as below,
>
> #Copy remote-test-server through scp and execute through background ssh
> sshargs = '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
> -o LogLevel=ERROR'
> cmd = "scp %s %s/build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server
> root@%s:~/ ;" % (sshargs, builddir, qemu.ip)
> testcommand = '~/remote-test-server -v remote'
> cmd = cmd + "ssh %s -f root@%s \"%s\";" % (sshargs, qemu.ip, testcommand)
>
> And kill "remote-test-server" through ssh once testing is complete
> killcommand = "kill -9 \$(ps | grep remote-test-server |  grep -v
> \"grep\" | awk '{print \$1}')"
> cmd = cmd + "ssh %s root@%s \"%s\";" % (sshargs, qemu.ip, killcommand)
>
> Testing in progress will send the v5 version patches.
>
> Regards,
> Vinay
>
> On Tue, May 25, 2021 at 1:29 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Mon, 24 May 2021 at 19:16, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
> >>
> >> Build remote-test-server copy to image and execute
> >> remotely through background ssh.
> >
> >
> > Thanks, I do not have any further comments about the overall structure, the below are more specific concerns.
> >
> >>
> >> +               with runqemu("core-image-minimal", runqemuparams = "nographic", qemuparams= " -monitor \
> >> +                        telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null") as qemu:
> >
> >
> > Hardcoding the ip port this way is problematic and prone to conflicts. What is -monitor used for?
> >
> >>
> >> +                       cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py -j 40 --verbose test %s --target %s > summary.txt 2> /dev/null " % (builddir, testargs, targetsys)
> >
> >
> > What does -j 40 do? Keep in mind that qemu has only 4 virtual cpu cores.
> >
> >>
> >> +                       runCmd(cmd)
> >
> >
> > What happens if the test executed via runCmd fails? Specifically, will the failure be properly reported?
> >
> > I'm wondering because the output of the test is redirected to summary.txt (which is then left unused), and stderr is discarded altogether.
> >
> >>
> >> +                       # Stop ssh background execution
> >> +                       t_thread.stop()
> >
> >
> > Will t_thread be stopped if runCmd fails?
> >
> > Alex

[-- Attachment #2: summary.txt --]
[-- Type: text/plain, Size: 1238738 bytes --]

    Finished dev [unoptimized + debuginfo] target(s) in 0.27s
Building stage0 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.25s
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Could not determine the LLVM submodule commit hash. Assuming that an LLVM rebuild is not necessary.
To force LLVM to rebuild, remove the file `/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/llvm/llvm-finished-building`
Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.29s
Copying stage0 rustc from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Assembling stage1 compiler (x86_64-unknown-linux-gnu)
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.24s
Copying stage1 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.28s
Copying stage1 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Assembling stage2 compiler (x86_64-unknown-linux-gnu)
Building stage2 std artifacts (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
    Finished release [optimized] target(s) in 0.27s
Copying stage2 std from stage2 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / aarch64-poky-linux)
Uplifting stage1 std (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Copying stage2 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building test helpers
running: "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/build-rust-cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-o" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/native/rust-test-helpers/rust_test_helpers.o" "-c" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/auxiliary/rust_test_helpers.c"
exit code: 0
running: "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/build-rust-ar" "crs" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/native/rust-test-helpers/librust_test_helpers.a" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/native/rust-test-helpers/rust_test_helpers.o"
exit code: 0
Building test helpers
running: "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-o" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/aarch64-poky-linux/native/rust-test-helpers/rust_test_helpers.o" "-c" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/auxiliary/rust_test_helpers.c"
cargo:warning=In file included from /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/recipe-sysroot/usr/include/bits/libc-header-start.h:33,
cargo:warning=                 from /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/recipe-sysroot/usr/include/stdint.h:26,
cargo:warning=                 from /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/recipe-sysroot-native/usr/lib/aarch64-poky-linux/gcc/aarch64-poky-linux/10.2.0/include/stdint.h:9,
cargo:warning=                 from /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/auxiliary/rust_test_helpers.c:3:
cargo:warning=/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/recipe-sysroot/usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
cargo:warning=  397 | #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
cargo:warning=      |    ^~~~~~~
exit code: 0
running: "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ar" "crs" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/aarch64-poky-linux/native/rust-test-helpers/librust_test_helpers.a" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/aarch64-poky-linux/native/rust-test-helpers/rust_test_helpers.o"
exit code: 0
REMOTE copy libs to emulator (aarch64-poky-linux)
Building stage0 std artifacts (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   Compiling core v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libcore)
   Compiling libc v0.2.71
   Compiling compiler_builtins v0.1.32
   Compiling unwind v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libunwind)
   Compiling backtrace-sys v0.1.37
   Compiling hashbrown v0.6.2
   Compiling std v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libstd)
   Compiling rustc-std-workspace-core v1.99.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/liballoc)
   Compiling cfg-if v0.1.10
   Compiling rustc-demangle v0.1.16
   Compiling panic_abort v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libpanic_abort)
   Compiling backtrace v0.3.46
   Compiling rustc-std-workspace-alloc v1.99.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/rustc-std-workspace-alloc)
   Compiling panic_unwind v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libpanic_unwind)
   Compiling rustc-std-workspace-std v1.99.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/rustc-std-workspace-std)
   Compiling term v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libterm)
   Compiling proc_macro v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libproc_macro)
   Compiling unicode-width v0.1.6
   Compiling getopts v0.2.21
   Compiling test v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libtest)
    Finished release [optimized] target(s) in 29.63s
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / aarch64-poky-linux)
Building stage0 tool remote-test-server (aarch64-poky-linux)
   Compiling remote-test-server v0.1.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/remote-test-server)
    Finished release [optimized] target(s) in 1.44s
Building stage0 tool remote-test-client (x86_64-unknown-linux-gnu)
   Compiling remote-test-client v0.1.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/remote-test-client)
    Finished release [optimized] target(s) in 1.89s
Connecting to remote device 192.168.7.2:12345 ...
done pushing "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/aarch64-poky-linux/lib/libtest-67d9128c59938acd.so"
done pushing "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/aarch64-poky-linux/lib/libstd-f091982808d4dcf3.so"
Building stage0 tool compiletest (x86_64-unknown-linux-gnu)
   Compiling proc-macro2 v1.0.3
   Compiling unicode-xid v0.2.0
   Compiling syn v1.0.11
   Compiling serde v1.0.99
   Compiling memchr v2.3.3
   Compiling ryu v1.0.0
   Compiling log v0.4.8
   Compiling cfg-if v0.1.10
   Compiling anyhow v1.0.31
   Compiling itoa v0.4.4
   Compiling libc v0.2.71
   Compiling lazy_static v1.4.0
   Compiling regex-syntax v0.6.17
   Compiling same-file v1.0.4
   Compiling unicode-width v0.1.6
   Compiling diff v0.1.11
   Compiling thread_local v1.0.1
   Compiling walkdir v2.2.7
   Compiling getopts v0.2.21
   Compiling env_logger v0.7.1
   Compiling aho-corasick v0.7.10
   Compiling quote v1.0.2
   Compiling regex v1.3.7
   Compiling serde_derive v1.0.106
   Compiling serde_json v1.0.40
   Compiling rustfix v0.5.0
   Compiling compiletest v0.0.0 (/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/tools/compiletest)
    Finished release [optimized] target(s) in 34.69s
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 10465 tests
test [ui] ui/abi/abi-sysv64-arg-passing.rs ... ignored
test [ui] ui/abi/abi-sysv64-register-usage.rs ... ignored
test [ui] ui/abi/stack-probes-lto.rs ... ignored
test [ui] ui/abi/stack-probes.rs ... ignored
test [ui] ui/asm/bad-options.rs ... ignored
test [ui] ui/asm/bad-reg.rs ... ignored
test [ui] ui/asm/bad-template.rs ... ignored
test [ui] ui/asm/const.rs ... ignored
test [ui] ui/asm/duplicate-options.rs ... ignored
test [ui] ui/asm/issue-72570.rs ... ignored
test [ui] ui/asm/noreturn.rs ... ignored
test [ui] ui/asm/parse-error.rs ... ignored
test [ui] ui/asm/rustfix-asm.rs ... ignored
test [ui] ui/asm/srcloc.rs ... ignored
test [ui] ui/asm/sym.rs ... ignored
test [ui] ui/asm/type-check-1.rs ... ignored
test [ui] ui/asm/type-check-2.rs ... ignored
test [ui] ui/asm/type-check-3.rs ... ignored
test [ui] ui/asm/type-check-4.rs ... ignored
test [ui] ui/allocator/function-allocator.rs ... ok
test [ui] ui/array-slice-vec/issue-69103-extra-binding-subslice.rs ... ok
test [ui] ui/access-mode-in-closures.rs ... ok
test [ui] ui/array-slice-vec/match_arr_unknown_len.rs ... ok
test [ui] ui/associated-item/associated-item-duplicate-names-3.rs ... ok
test [ui] ui/associated-const/associated-const-private-impl.rs ... ok
test [ui] ui/associated-consts/issue-24949-assoc-const-static-recursion-trait.rs ... ok
test [ui] ui/allocator/two-allocators.rs ... ok
test [ui] ui/associated-item/associated-item-duplicate-names.rs ... ok
test [ui] ui/associated-const/associated-const-type-parameter-arms.rs ... ok
test [ui] ui/associated-const/associated-const-ambiguity-report.rs ... ok
test [ui] ui/associated-item/associated-item-duplicate-bounds.rs ... ok
test [ui] ui/alloc-error/alloc-error-handler-bad-signature-3.rs ... ok
test [ui] ui/alloc-error/alloc-error-handler-bad-signature-1.rs ... ok
test [ui] ui/associated-const/associated-const-in-trait.rs ... ok
test [ui] ui/associated-item/associated-item-enum.rs ... ok
test [ui] ui/associated-const/associated-const-impl-wrong-type.rs ... ok
test [ui] ui/associated-const/associated-const-dead-code.rs ... ok
test [ui] ui/anonymous-higher-ranked-lifetime.rs ... ok
test [ui] ui/alloc-error/alloc-error-handler-bad-signature-2.rs ... ok
test [ui] ui/associated-const/associated-const-impl-wrong-lifetime.rs ... ok
test [ui] ui/associated-consts/issue-24949-assoc-const-static-recursion-trait-default.rs ... ok
test [ui] ui/associated-item/associated-item-duplicate-names-2.rs ... ok
test [ui] ui/associated-const/associated-const-generic-obligations.rs ... ok
test [ui] ui/associated-const/associated-const-type-parameter-arrays-2.rs ... ok
test [ui] ui/absolute-paths-in-nested-use-groups.rs ... ok
test [ui] ui/anon-params/anon-params-denied-2018.rs ... ok
test [ui] ui/assoc-lang-items.rs ... ok
test [ui] ui/allocator/not-an-allocator.rs ... ok
test [ui] ui/assoc-inherent.rs ... ok
test [ui] ui/arg-count-mismatch.rs ... ok
test [ui] ui/array-slice-vec/infer_array_len.rs ... ok
test [ui] ui/array-break-length.rs ... ok
test [ui] ui/associated-const/issue-69020-assoc-const-arith-overflow.rs#noopt ... ok
test [ui] ui/assign-imm-local-twice.rs ... ok
test [ui] ui/assignment-operator-unimplemented.rs ... ok
test [ui] ui/associated-const/associated-const-array-len.rs ... ok
test [ui] ui/array_const_index-0.rs ... ok
test [ui] ui/allocator/allocator-args.rs ... ok
test [ui] ui/array-slice-vec/slice-pat-type-mismatches.rs ... ok
test [ui] ui/associated-consts/issue-24949-assoc-const-static-recursion-impl.rs ... ok
test [ui] ui/associated-const/issue-69020-assoc-const-arith-overflow.rs#opt ... ok
test [ui] ui/associated-const/issue-63496.rs ... ok
test [ui] ui/annotate-snippet/missing-type.rs ... ok
test [ui] ui/associated-const/associated-const-type-parameter-arrays.rs ... ok
test [ui] ui/array_const_index-1.rs ... ok
test [ui] ui/anon-params/anon-params-edition-hygiene.rs ... ok
test [ui] ui/associated-const/associated-const-no-item.rs ... ok
test [ui] ui/arg-type-mismatch.rs ... ok
test [ui] ui/array-not-vector.rs ... ok
test [ui] ui/associated-item/issue-48027.rs ... ok
test [ui] ui/anon-params/anon-params-deprecated.rs ... ok
test [ui] ui/associated-type-bounds/type-alias.rs ... ok
test [ui] ui/associated-type/associated-type-projection-from-multiple-supertraits.rs ... ok
test [ui] ui/associated-const/issue-69020-assoc-const-arith-overflow.rs#opt_with_overflow_checks ... ok
test [ui] ui/associated-type-bounds/issue-61752.rs ... ok
test [ui] ui/array-slice-vec/subslice-only-once-semantic-restriction.rs ... ok
test [ui] ui/associated-type-bounds/duplicate.rs ... ok
test [ui] ui/associated-path-shl.rs ... ok
test [ui] ui/associated-const/associated-const-trait-bound.rs ... ok
test [ui] ui/associated-type-bounds/assoc-type-eq-with-dyn-atb-fail.rs ... ok
test [ui] ui/associated-type-bounds/bad-bounds-on-assoc-in-trait.rs ... ok
test [ui] ui/associated-type-bounds/bounds-on-assoc-in-trait.rs ... ok
test [ui] ui/associated-type-bounds/implied-region-constraints.rs ... ok
test [ui] ui/associated-type/associated-type-projection-ambig-between-bound-and-where-clause.rs ... ok
test [ui] ui/associated-type-bounds/entails-sized-object-safety.rs ... ok
test [ui] ui/associated-type-bounds/inside-adt.rs ... ok
test [ui] ui/associated-types/associated-types-ICE-when-projecting-out-of-err.rs ... ok
test [ui] ui/associated-types/associated-types-eq-expr-path.rs ... ok
test [ui] ui/associated-types/associated-types-binding-to-type-defined-in-supertrait.rs ... ok
test [ui] ui/associated-types/associated-types-eq-hr.rs ... ok
test [ui] ui/associated-type-bounds/ambiguous-associated-type.rs ... ok
test [ui] ui/associated-const/defaults-cyclic-fail.rs ... ok
test [ui] ui/associated-types/associated-types-eq-2.rs ... ok
test [ui] ui/allocator/two-allocators3.rs ... ok
test [ui] ui/allocator/two-allocators2.rs ... ok
test [ui] ui/associated-types/associated-types-coherence-failure.rs ... ok
test [ui] ui/associated-types/associated-types-eq-1.rs ... ok
test [ui] ui/associated-types/associated-types-in-ambiguous-context.rs ... ok
test [ui] ui/associated-types/associated-types-issue-17359.rs ... ok
test [ui] ui/associated-types/associated-types-incomplete-object.rs ... ok
test [ui] ui/associated-const/defaults-not-assumed-fail.rs ... ok
test [ui] ui/associated-type-bounds/trait-params.rs ... ok
test [ui] ui/associated-types/associated-types-eq-3.rs ... ok
test [ui] ui/associated-types/associated-types-issue-20346.rs ... ok
test [ui] ui/associated-types/associated-types-bound-failure.rs ... ok
test [ui] ui/associated-types/associated-types-invalid-trait-ref-issue-18865.rs ... ok
test [ui] ui/associated-types/associated-types-multiple-types-one-trait.rs ... ok
test [ui] ui/associated-type/associated-type-projection-from-supertrait.rs ... ok
test [ui] ui/associated-types/associated-types-for-unimpl-trait.rs ... ok
test [ui] ui/associated-types/associated-types-no-suitable-bound.rs ... ok
test [ui] ui/associated-types/associated-types-no-suitable-supertrait-2.rs ... ok
test [ui] ui/associated-types/associated-types-outlives.rs ... ok
test [ui] ui/associated-types/associated-types-no-suitable-supertrait.rs ... ok
test [ui] ui/associated-types/associated-types-overridden-binding-2.rs ... ok
test [ui] ui/associated-types/associated-types-path-1.rs ... ok
test [ui] ui/associated-types/associated-types-overridden-binding.rs ... ok
test [ui] ui/associated-types/associated-types-overridden-default.rs ... ok
test [ui] ui/associated-types/associated-types-project-from-hrtb-in-fn-body.rs ... ok
test [ui] ui/associated-types/associated-types-path-2.rs ... ok
test [ui] ui/associated-types/associated-types-project-from-hrtb-in-struct.rs ... ok
test [ui] ui/associated-types/associated-types-project-from-hrtb-in-fn.rs ... ok
test [ui] ui/associated-types/associated-types-project-from-hrtb-in-trait-method.rs ... ok
test [ui] ui/associated-types/associated-types-projection-to-unrelated-trait-in-method-without-default.rs ... ok
test [ui] ui/abi/anon-extern-mod.rs ... ok
test [ui] ui/abi/extern/extern-pass-TwoU64s.rs ... ok
test [ui] ui/annotate-snippet/multispan.rs ... ok
test [ui] ui/abi/c-stack-as-value.rs ... ok
test [ui] ui/abi/extern/extern-return-TwoU64s.rs ... ok
test [ui] ui/abi/extern/extern-call-direct.rs ... ok
test [ui] ui/abi/mir/mir_codegen_calls_variadic.rs ... ok
test [ui] ui/alloca-from-derived-tydesc.rs ... ok
test [ui] ui/abi/extern/extern-pass-TwoU8s.rs ... ok
test [ui] ui/abi/extern/extern-pass-TwoU16s.rs ... ok
test [ui] ui/abi/cabi-int-widening.rs ... ok
test [ui] ui/associated-types/associated-types-subtyping-1.rs ... ok
test [ui] ui/abi/extern/extern-call-indirect.rs ... ok
test [ui] ui/associated-types/associated-types-unconstrained.rs ... ok
test [ui] ui/associated-consts/associated-const-use-impl-of-same-trait.rs ... ok
test [ui] ui/associated-types/associated-types-unsized.rs ... ok
test [ui] ui/associated-types/bound-lifetime-constrained.rs#clause ... ok
test [ui] ui/associated-types/bound-lifetime-constrained.rs#func ... ok
test [ui] ui/associated-types/bound-lifetime-constrained.rs#object ... ok
test [ui] ui/associated-types/bound-lifetime-in-binding-only.rs#angle ... ok
test [ui] ui/associated-types/bound-lifetime-in-binding-only.rs#elision ... ok
test [ui] ui/associated-types/bound-lifetime-in-binding-only.rs#ok ... ok
test [ui] ui/associated-types/bound-lifetime-in-binding-only.rs#paren ... ok
test [ui] ui/associated-types/bound-lifetime-in-return-only.rs#elision ... ok
test [ui] ui/associated-types/bound-lifetime-in-return-only.rs#local ... ok
test [ui] ui/associated-types/bound-lifetime-in-return-only.rs#ok ... ok
test [ui] ui/associated-types/bound-lifetime-in-return-only.rs#sig ... ok
test [ui] ui/associated-types/bound-lifetime-in-return-only.rs#structure ... ok
test [ui] ui/associated-types/cache/chrono-scan.rs ... ok
test [ui] ui/associated-types/cache/elision.rs ... ok
test [ui] ui/associated-types/cache/project-fn-ret-contravariant.rs#krisskross ... ok
test [ui] ui/associated-types/cache/project-fn-ret-contravariant.rs#ok ... ok
test [ui] ui/associated-types/cache/project-fn-ret-contravariant.rs#oneuse ... ok
test [ui] ui/abi/cross-crate/anon-extern-mod-cross-crate-2.rs ... ok
test [ui] ui/associated-types/cache/project-fn-ret-contravariant.rs#transmute ... ok
test [ui] ui/associated-types/cache/project-fn-ret-invariant.rs#krisskross ... ok
test [ui] ui/associated-types/cache/project-fn-ret-invariant.rs#oneuse ... ok
test [ui] ui/associated-types/cache/project-fn-ret-invariant.rs#ok ... ok
test [ui] ui/associated-types/defaults-cyclic-fail-1.rs ... ok
test [ui] ui/associated-types/cache/project-fn-ret-invariant.rs#transmute ... ok
test [ui] ui/associated-consts/associated-const-inherent-impl.rs ... ok
test [ui] ui/associated-consts/associated-const-marks-live-code.rs ... ok
test [ui] ui/associated-types/defaults-cyclic-fail-2.rs ... ok
test [ui] ui/associated-types/defaults-cyclic-pass-1.rs ... ok
test [ui] ui/associated-types/defaults-cyclic-pass-2.rs ... ok
test [ui] ui/associated-types/defaults-in-other-trait-items-pass.rs ... ok
test [ui] ui/associated-types/defaults-mixed.rs ... ok
test [ui] ui/associated-types/defaults-in-other-trait-items.rs ... ok
test [ui] ui/associated-types/defaults-suitability.rs ... ok
test [ui] ui/array-slice-vec/huge-largest-array.rs ... ok
test [ui] ui/array-slice-vec/new-style-fixed-length-vec.rs ... ok
test [ui] ui/associated-types/defaults-unsound-62211-1.rs ... ok
test [ui] ui/associated-types/higher-ranked-projection.rs#bad ... ok
test [ui] ui/associated-types/defaults-specialization.rs ... ok
test [ui] ui/associated-types/higher-ranked-projection.rs#good ... ok
test [ui] ui/array-slice-vec/cast-in-array-size.rs ... ok
test [ui] ui/associated-types/defaults-unsound-62211-2.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-1.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-object.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-1.rs ... ok
test [ui] ui/abi/numbers-arithmetic/i128-ffi.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-2.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-2.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-3.rs ... ok
test [ui] ui/array-slice-vec/array_const_index-1.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-4.rs ... ok
test [ui] ui/associated-types/impl-trait-return-missing-constraint.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-5.rs ... ok
test [ui] ui/associated-types/issue-36499.rs ... ok
test [ui] ui/associated-types/issue-32350.rs ... ok
test [ui] ui/associated-types/hr-associated-type-bound-param-6.rs ... ok
test [ui] ui/associated-types/hr-associated-type-projection-1.rs ... ok
test [ui] ui/associated-types/issue-41868.rs ... ok
test [ui] ui/associated-types/issue-26681.rs ... ok
test [ui] ui/associated-types/issue-43924.rs ... ok
test [ui] ui/associated-types/issue-44153.rs ... ok
test [ui] ui/associated-consts/associated-const.rs ... ok
test [ui] ui/associated-types/issue-47385.rs ... ok
test [ui] ui/associated-types/issue-54182-2.rs ... ok
test [ui] ui/array-slice-vec/vec-matching-legal-tail-element-borrow.rs ... ok
test [ui] ui/associated-types/issue-63593.rs ... ok
test [ui] ui/associated-types/issue-48010.rs ... ok
test [ui] ui/associated-types/issue-64855-2.rs ... ok
test [ui] ui/associated-types/issue-65774-1.rs ... ok
test [ui] ui/associated-types/issue-64855.rs ... ok
test [ui] ui/associated-types/issue-72806.rs ... ok
test [ui] ui/associated-types/missing-associated-types.rs ... ok
test [ui] ui/associated-types/normalize-cycle-in-eval-no-region.rs ... ok
test [ui] ui/associated-types/issue-65774-2.rs ... ok
test [ui] ui/associated-types/normalize-cycle-in-eval.rs ... ok
test [ui] ui/ast-json/ast-json-noexpand-output.rs ... ok
test [ui] ui/ast-json/ast-json-ice.rs#noexpand ... ok
test [ui] ui/associated-types/point-at-type-on-obligation-failure-2.rs ... ok
test [ui] ui/associated-types/point-at-type-on-obligation-failure.rs ... ok
test [ui] ui/ast-json/ast-json-ice.rs#expand ... ok
test [ui] ui/associated-types/issue-64848.rs ... ok
test [ui] ui/ast-json/ast-json-output.rs ... ok
test [ui] ui/associated-types/trait-with-supertraits-needing-sized-self.rs ... ok
test [ui] ui/async-await/async-assoc-fn-anon-lifetimes.rs ... ok
test [ui] ui/async-await/argument-patterns.rs ... ok
test [ui] ui/async-await/async-borrowck-escaping-closure-error.rs ... ok
test [ui] ui/async-await/async-block-control-flow-static-semantics.rs ... ok
test [ui] ui/async-await/async-borrowck-escaping-block-error.rs ... ok
test [ui] ui/async-await/async-fn-elided-impl-lifetime-parameter.rs ... ok
test [ui] ui/async-await/async-closure-matches-expr.rs ... ok
test [ui] ui/async-await/async-fn-path-elision.rs ... ok
test [ui] ui/async-await/async-error-span.rs ... ok
test [ui] ui/async-await/async-fn-nonsend.rs ... ok
test [ui] ui/async-await/async-trait-fn.rs ... ok
test [ui] ui/async-await/async-fn-send-uses-nonsend.rs ... ok
test [ui] ui/async-await/async-matches-expr.rs ... ok
test [ui] ui/abi/extern/extern-call-deep.rs ... ok
test [ui] ui/async-await/async-unsafe-fn-call-in-safe.rs ... ok
test [ui] ui/async-await/await-keyword/2015-edition-error-various-positions.rs ... ok
test [ui] ui/async-await/await-keyword/2018-edition-error-in-non-macro-position.rs ... ok
test [ui] ui/async-await/await-keyword/2015-edition-warning.rs ... ok
test [ui] ui/async-await/await-keyword/2018-edition-error.rs ... ok
test [ui] ui/async-await/async-with-closure.rs ... ok
test [ui] ui/argument-passing.rs ... ok
test [ui] ui/associated-item-long-paths.rs ... ok
test [ui] ui/associated-consts/associated-const-in-global-const.rs ... ok
test [ui] ui/async-await/await-keyword/post_expansion_error.rs ... ok
test [ui] ui/async-await/await-unsize.rs ... ok
test [ui] ui/async-await/bound-normalization.rs ... ok
test [ui] ui/abi/extern/extern-pass-double.rs ... ok
test [ui] ui/async-await/dont-print-desugared-async.rs ... ok
test [ui] ui/async-await/conditional-and-guaranteed-initialization.rs ... ok
test [ui] ui/async-await/await-keyword/incorrect-syntax-suggestions.rs ... ok
test [ui] ui/async-await/dont-suggest-missing-await.rs ... ok
test [ui] ui/abi/extern/extern-return-TwoU32s.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-locals-are-hidden.rs ... ok
test [ui] ui/associated-consts/associated-const-overwrite-default.rs ... ok
test [ui] ui/async-await/edition-deny-async-fns-2015.rs ... ok
test [ui] ui/async-await/expansion-in-attrs.rs ... ok
test [ui] ui/async-await/feature-async-closure.rs ... ok
test [ui] ui/array-slice-vec/empty-mutable-vec.rs ... ok
test [ui] ui/async-await/issue-54239-private-type-triggers-lint.rs ... ok
test [ui] ui/async-await/generics-and-bounds.rs ... ok
test [ui] ui/array-slice-vec/ivec-pass-by-value.rs ... ok
test [ui] ui/async-await/issue-61076.rs ... ok
test [ui] ui/as-precedence.rs ... ok
test [ui] ui/async-await/issue-61452.rs ... ok
test [ui] ui/array-slice-vec/vector-no-ann-2.rs ... ok
test [ui] ui/async-await/issue-61949-self-return-type.rs ... ok
test [ui] ui/associated-consts/associated-const-outer-ty-refs.rs ... ok
test [ui] ui/async-await/issue-61793.rs ... ok
test [ui] ui/async-await/issue-63832-await-short-temporary-lifetime-1.rs ... ok
test [ui] ui/async-await/issue-63832-await-short-temporary-lifetime.rs ... ok
test [ui] ui/associated-const/defaults-not-assumed-pass.rs ... ok
test [ui] ui/async-await/issue-62658.rs ... ok
test [ui] ui/async-await/issue-64130-2-send.rs ... ok
test [ui] ui/async-await/issue-64130-1-sync.rs ... ok
test [ui] ui/async-await/issue-64130-3-other.rs ... ok
test [ui] ui/async-await/issue-64130-4-async-move.rs ... ok
test [ui] ui/async-await/issue-64391.rs ... ok
test [ui] ui/async-await/issue-66312.rs ... ok
test [ui] ui/async-await/issue-64130-non-send-future-diags.rs ... ok
test [ui] ui/async-await/issue-66387-if-without-else.rs ... ok
test [ui] ui/async-await/issue-67651.rs ... ok
test [ui] ui/async-await/issue-67252-unnamed-future.rs ... ok
test [ui] ui/async-await/issue-68523-start.rs ... ok
test [ui] ui/async-await/issue-67765-async-diagnostic.rs ... ok
test [ui] ui/async-await/issue-68523.rs ... ok
test [ui] ui/async-await/issue-69446-fnmut-capture.rs ... ok
test [ui] ui/array-slice-vec/copy-out-of-array-1.rs ... ok
test [ui] ui/async-await/issue-68112.rs ... ok
test [ui] ui/async-await/issue-70594.rs ... ok
test [ui] ui/async-await/issue-70818.rs ... ok
test [ui] ui/async-await/issue-73050.rs ... ok
test [ui] ui/async-await/issue-72590-type-error-sized.rs ... ok
test [ui] ui/async-await/issue-71137.rs ... ok
test [ui] ui/async-await/issues/issue-51719.rs ... ok
test [ui] ui/async-await/issue-72442.rs ... ok
test [ui] ui/async-await/issues/issue-51751.rs ... ok
test [ui] ui/async-await/issues/issue-53249.rs ... ok
test [ui] ui/async-await/issues/issue-54974.rs ... ok
test [ui] ui/async-await/issues/issue-55324.rs ... ok
test [ui] ui/async-await/issues/issue-58885.rs ... ok
test [ui] ui/async-await/issues/issue-59001.rs ... ok
test [ui] ui/assert-ne-trailing-comma.rs ... ok
test [ui] ui/async-await/issues/issue-60518.rs ... ok
test [ui] ui/async-await/issues/issue-60655-latebound-regions.rs ... ok
test [ui] ui/async-await/issues/issue-61187.rs ... ok
test [ui] ui/array-slice-vec/vec-fixed-length.rs ... ok
test [ui] ui/async-await/issues/issue-62009-2.rs ... ok
test [ui] ui/async-await/issues/issue-62009-1.rs ... ok
test [ui] ui/async-await/issues/issue-61986.rs ... ok
test [ui] ui/async-await/issues/issue-62517-2.rs ... ok
test [ui] ui/async-await/issues/issue-62517-1.rs ... ok
test [ui] ui/async-await/issues/issue-62097.rs ... ok
test [ui] ui/async-await/issues/issue-63388-1.rs ... ok
test [ui] ui/async-await/issues/issue-63388-2.rs ... ok
test [ui] ui/async-await/issues/issue-63388-4.rs ... ok
test [ui] ui/async-await/issues/issue-63388-3.rs ... ok
test [ui] ui/async-await/issues/issue-64391-2.rs ... ok
test [ui] ui/abi/extern/extern-return-TwoU8s.rs ... ok
test [ui] ui/async-await/issues/issue-64477.rs ... ok
test [ui] ui/async-await/issues/issue-64477-2.rs ... ok
test [ui] ui/async-await/issues/issue-64433.rs ... ok
test [ui] ui/async-await/issues/issue-65159.rs ... ok
test [ui] ui/async-await/issues/issue-64964.rs ... ok
test [ui] ui/async-await/issues/issue-65436-raw-ptr-not-send.rs ... ok
test [ui] ui/async-await/issues/issue-66958-non-copy-infered-type-arg.rs ... ok
test [ui] ui/async-await/issues/issue-66695-static-refs.rs ... ok
test [ui] ui/align-with-extern-c-fn.rs ... ok
test [ui] ui/array-slice-vec/vec-slice-drop.rs ... ok
test [ui] ui/async-await/issues/issue-60674.rs ... ok
test [ui] ui/async-await/issues/issue-69307-nested.rs ... ok
test [ui] ui/async-await/issues/issue-67611-static-mut-refs.rs ... ok
test [ui] ui/async-await/issues/issue-69307.rs ... ok
test [ui] ui/async-await/issues/non-async-enclosing-span.rs ... ok
test [ui] ui/async-await/move-part-await-return-rest-struct.rs ... ok
test [ui] ui/async-await/issues/issue-67893.rs ... ok
test [ui] ui/async-await/move-part-await-return-rest-tuple.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/hrtb.rs ... ok
test [ui] ui/array-slice-vec/bounds-check-no-overflow.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/ret-impl-trait-no-fg.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs ... ok
test [ui] ui/abi/union/union-c-interop.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/ret-ref.rs ... ok
test [ui] ui/assert-eq-trailing-comma.rs ... ok
test [ui] ui/async-await/mutually-recursive-async-impl-trait-type.rs ... ok
test [ui] ui/async-await/nested-in-impl.rs ... ok
test [ui] ui/async-await/no-async-const.rs ... ok
test [ui] ui/array-slice-vec/fixed_length_copy.rs ... ok
test [ui] ui/async-await/no-const-async.rs ... ok
test [ui] ui/async-await/no-move-across-await-struct.rs ... ok
test [ui] ui/abi/extern/extern-pass-u32.rs ... ok
test [ui] ui/async-await/no-move-across-await-tuple.rs ... ok
test [ui] ui/async-await/no-non-guaranteed-initialization.rs ... ok
test [ui] ui/async-await/no-unsafe-async.rs ... ok
test [ui] ui/async-await/no-params-non-move-async-closure.rs ... ok
test [ui] ui/associated-consts/associated-const-ufcs-infer-trait.rs ... ok
test [ui] ui/async-await/no-std.rs ... ok
test [ui] ui/abi/extern/extern-return-TwoU16s.rs ... ok
test [ui] ui/array-slice-vec/destructure-array-1.rs ... ok
test [ui] ui/async-await/return-ty-raw-ptr-coercion.rs ... ok
test [ui] ui/async-await/recursive-async-impl-trait-type.rs ... ok
test [ui] ui/async-await/partial-initialization-across-await.rs ... ok
test [ui] ui/array-slice-vec/slice.rs ... ok
test [ui] ui/async-await/return-ty-unsize-coercion.rs ... ok
test [ui] ui/async-await/unreachable-lint-1.rs ... ok
test [ui] ui/async-await/suggest-switching-edition-on-await.rs ... ok
test [ui] ui/async-await/unreachable-lint.rs ... ok
test [ui] ui/async-await/try-on-option-in-async.rs ... ok
test [ui] ui/async-await/unused-lifetime.rs ... ok
test [ui] ui/async-await/unresolved_type_param.rs ... ok
test [ui] ui/async-await/suggest-missing-await-closure.rs ... ok
test [ui] ui/attr-eq-token-tree.rs ... ok
test [ui] ui/attempted-access-non-fatal.rs ... ok
test [ui] ui/async-await/suggest-missing-await.rs ... ok
test [ui] ui/array-slice-vec/vec-matching-fold.rs ... ok
test [ui] ui/associated-types/associated-types-projection-from-known-type-in-impl.rs ... ok
test [ui] ui/attr-usage-inline.rs ... ok
test [ui] ui/attr-usage-repr.rs ... ok
test [ui] ui/abi/issues/issue-62350-sysv-neg-reg-counts.rs ... ok
test [ui] ui/array-slice-vec/vec-matching-fixed.rs ... ok
test [ui] ui/abi/statics/static-mut-foreign.rs ... ok
test [ui] ui/abi/foreign/foreign-fn-with-byval.rs ... ok
test [ui] ui/array-slice-vec/arr_cycle.rs ... ok
test [ui] ui/attribute-with-no-generics-in-parameter-list.rs ... ok
test [ui] ui/attributes/attrs-with-no-formal-in-generics-1.rs ... ok
test [ui] ui/attributes/attrs-with-no-formal-in-generics-2.rs ... ok
test [ui] ui/attributes/attrs-with-no-formal-in-generics-3.rs ... ok
test [ui] ui/attributes/attr-before-view-item2.rs ... ok
test [ui] ui/attributes/attr-before-view-item.rs ... ok
test [ui] ui/attributes/attr-mix-new.rs ... ok
test [ui] ui/attributes/field-attributes-vis-unresolved.rs ... ok
test [ui] ui/attributes/multiple-invalid.rs ... ok
test [ui] ui/attributes/item-attributes.rs ... ok
test [ui] ui/attributes/obsolete-attr.rs ... ok
test [ui] ui/array-slice-vec/dst-raw-slice.rs ... ok
test [ui] ui/attributes/register-attr-tool-prelude.rs ... ok
test [ui] ui/attributes/register-attr-tool-import.rs ... ok
test [ui] ui/attributes/register-attr-tool-fail.rs ... ok
test [ui] ui/attributes/method-attributes.rs ... ok
test [ui] ui/attributes/unknown-attr.rs ... ok
test [ui] ui/attributes/register-attr-tool-unused.rs ... ok
test [ui] ui/attributes/unnamed-field-attributes-dup.rs ... ok
test [ui] ui/attributes/register-attr-tool.rs ... ok
test [ui] ui/abi/lib-defaults.rs ... ok
test [ui] ui/attributes/unnamed-field-attributes-vis.rs ... ok
test [ui] ui/attributes/class-attributes-1.rs ... ok
test [ui] ui/attributes/unnamed-field-attributes.rs ... ok
test [ui] ui/attrs-resolution-errors.rs ... ok
test [ui] ui/attrs-resolution.rs ... ok
test [ui] ui/attributes/class-attributes-2.rs ... ok
test [ui] ui/augmented-assignments.rs ... ok
test [ui] ui/auto-ref-slice-plus-ref.rs ... ok
test [ui] ui/auto-traits/auto-trait-projection-recursion.rs ... ok
test [ui] ui/auto-traits/auto-trait-validation.rs ... ok
test [ui] ui/associated-consts/associated-const-public-impl.rs ... ok
test [ui] ui/array-slice-vec/vec-repeat-with-cast.rs ... ok
test [ui] ui/array-slice-vec/mutability-inherits-through-fixed-length-vec.rs ... ok
test [ui] ui/attributes/variant-attributes.rs ... ok
test [ui] ui/artificial-block.rs ... ok
test [ui] ui/array-slice-vec/repeated-vector-syntax.rs ... ok
test [ui] ui/auto-traits/issue-23080.rs ... ok
test [ui] ui/auto-traits/issue-23080-2.rs ... ok
test [ui] ui/auto-traits/typeck-auto-trait-no-supertraits-2.rs ... ok
test [ui] ui/auto-traits/typeck-auto-trait-no-supertraits.rs ... ok
test [ui] ui/auto-traits/typeck-default-trait-impl-constituent-types-2.rs ... ok
test [ui] ui/abi/extern/extern-call-deep2.rs ... ok
test [ui] ui/auto-traits/typeck-default-trait-impl-precedence.rs ... ok
test [ui] ui/auto-traits/typeck-default-trait-impl-constituent-types.rs ... ok
test [ui] ui/auto-traits/typeck-default-trait-impl-negation.rs ... ok
test [ui] ui/autoderef-full-lval.rs ... ok
test [ui] ui/associated-consts/associated-const-type-parameters.rs ... ok
test [ui] ui/assoc-oddities-3.rs ... ok
test [ui] ui/array-slice-vec/check-static-slice.rs ... ok
test [ui] ui/abi/extern/extern-pass-char.rs ... ok
test [ui] ui/associated-consts/associated-const-use-default.rs ... ok
test [ui] ui/backtrace-debuginfo-aux.rs ... ignored
test [ui] ui/array-slice-vec/variance-vec-covariant.rs ... ok
test [ui] ui/abi/extern/extern-pass-TwoU32s.rs ... ok
test [ui] ui/array-slice-vec/vec-late-init.rs ... ok
test [ui] ui/array-slice-vec/nested-vec-1.rs ... ok
test [ui] ui/bad/bad-crate-name.rs ... ok
test [ui] ui/bad/bad-const-type.rs ... ok
test [ui] ui/abi/extern/extern-pass-u64.rs ... ok
test [ui] ui/bad/bad-env-capture2.rs ... ok
test [ui] ui/bad/bad-env-capture.rs ... ok
test [ui] ui/array-slice-vec/vec-macro-no-std.rs ... ok
test [ui] ui/bad/bad-env-capture3.rs ... ok
test [ui] ui/alias-uninit-value.rs ... ok
test [ui] ui/bad/bad-expr-lhs.rs ... ok
test [ui] ui/bad/bad-lint-cap.rs ... ok
test [ui] ui/bad/bad-extern-link-attrs.rs ... ok
test [ui] ui/bad/bad-expr-path.rs ... ok
test [ui] ui/bad/bad-expr-path2.rs ... ok
test [ui] ui/abi/foreign/foreign-no-abi.rs ... ok
test [ui] ui/bad/bad-lint-cap2.rs ... ok
test [ui] ui/bad/bad-main.rs ... ok
test [ui] ui/bad/bad-lint-cap3.rs ... ok
test [ui] ui/bad/bad-module.rs ... ok
test [ui] ui/bad/bad-method-typaram-kind.rs ... ok
test [ui] ui/bad/bad-mid-path-type-params.rs ... ok
test [ui] ui/array-slice-vec/vec.rs ... ok
test [ui] ui/abi/extern/extern-pass-empty.rs ... ok
test [ui] ui/bad/bad-sized.rs ... ok
test [ui] ui/bad/bad-type-env-capture.rs ... ok
test [ui] ui/bad/bad-intrinsic-monomorphization.rs ... ok
test [ui] ui/bastion-of-the-turbofish.rs ... ok
test [ui] ui/binding/ambiguity-item.rs ... ok
test [ui] ui/associated-consts/associated-const-resolution-order.rs ... ok
test [ui] ui/associated-consts/associated-const-cross-crate-const-eval.rs ... ok
test [ui] ui/array-slice-vec/check-static-mut-slices.rs ... ok
test [ui] ui/binary-op-on-double-ref.rs ... ok
test [ui] ui/array-slice-vec/vec-slice.rs ... ok
test [ui] ui/binding/const-param.rs ... ok
test [ui] ui/array-slice-vec/slice-of-zero-size-elements.rs ... ok
test [ui] ui/array-slice-vec/vec-tail-matching.rs ... ok
test [ui] ui/associated-consts/associated-const-self-type.rs ... ok
test [ui] ui/assign-assign.rs ... ok
test [ui] ui/associated-consts/associated-const-const-eval.rs ... ok
test [ui] ui/array-slice-vec/nested-vec-2.rs ... ok
test [ui] ui/array-slice-vec/vec-macro-with-brackets.rs ... ok
test [ui] ui/array-slice-vec/vec-dst.rs ... ok
test [ui] ui/array-slice-vec/vec-matching-autoslice.rs ... ok
test [ui] ui/array-slice-vec/vec-push.rs ... ok
test [ui] ui/array-slice-vec/rcvr-borrowed-to-slice.rs ... ok
test [ui] ui/array-slice-vec/vec-macro-with-trailing-comma.rs ... ok
test [ui] ui/array-slice-vec/vec-matching.rs ... ok
test [ui] ui/associated-types/associated-types-basic.rs ... ok
test [ui] ui/array-slice-vec/vec_cycle_wrapped.rs ... ok
test [ui] ui/array-slice-vec/show-boxed-slice.rs ... ok
test [ui] ui/array-slice-vec/vec_cycle.rs ... ok
test [ui] ui/array-slice-vec/vec-growth.rs ... ok
test [ui] ui/associated-types/associated-types-duplicate-binding-in-env-hrtb.rs ... ok
test [ui] ui/abi/variadic-ffi.rs ... FAILED
test [ui] ui/array-slice-vec/estr-slice.rs ... ok
test [ui] ui/binding/issue-53114-borrow-checks.rs ... ok
test [ui] ui/binding/issue-53114-safety-checks.rs ... ok
test [ui] ui/associated-types/associated-types-in-bound-type-arg.rs ... ok
test [ui] ui/array-slice-vec/mutable-alias-vec.rs ... ok
test [ui] ui/abi/invoke-external-foreign.rs ... ok
test [ui] ui/array-slice-vec/vec-to_str.rs ... ok
test [ui] ui/associated-types/associated-types-conditional-dispatch.rs ... ok
test [ui] ui/associated-consts/associated-const-cross-crate-defaults.rs ... ok
test [ui] ui/associated-type-bounds/rpit.rs ... ok
test [ui] ui/associated-types/associated-types-from-supertrait.rs ... ok
test [ui] ui/associated-types/associated-types-bound.rs ... ok
test [ui] ui/array-slice-vec/slice-panic-2.rs ... ok
test [ui] ui/associated-type-bounds/dyn-impl-trait-type.rs ... ok
test [ui] ui/associated-consts/associated-const-match-patterns.rs ... ok
test [ui] ui/array-slice-vec/nested-vec-3.rs ... ok
test [ui] ui/associated-types/associated-types-eq-obj.rs ... ok
test [ui] ui/array-slice-vec/vec-concat.rs ... ok
test [ui] ui/associated-types/associated-types-constant-type.rs ... ok
test [ui] ui/array-slice-vec/slice-2.rs ... ok
test [ui] ui/associated-types/associated-types-impl-redirect.rs ... ok
test [ui] ui/array-slice-vec/evec-slice.rs ... ok
test [ui] ui/associated-types/associated-types-in-fn.rs ... ok
test [ui] ui/associated-types/associated-types-binding-in-where-clause.rs ... ok
test [ui] ui/associated-types/associated-types-duplicate-binding-in-env.rs ... ok
test [ui] ui/associated-type-bounds/trait-alias-impl-trait.rs ... ok
test [ui] ui/abi/struct-enums/struct-return.rs ... ok
test [ui] ui/associated-types/associated-types-in-default-method.rs ... ok
test [ui] ui/associated-type-bounds/dyn-lcsit.rs ... ok
test [ui] ui/abi/foreign/foreign-dupe.rs ... ok
test [ui] ui/associated-consts/associated-const-cross-crate.rs ... ok
test [ui] ui/array-slice-vec/vec-macro-rvalue-scope.rs ... ok
test [ui] ui/associated-types/associated-types-in-impl-generics.rs ... ok
test [ui] ui/associated-types/associated-types-in-inherent-method.rs ... ok
test [ui] ui/associated-type-bounds/dyn-rpit-and-let.rs ... ok
test [ui] ui/array-slice-vec/box-of-array-of-drop-2.rs ... ok
test [ui] ui/associated-types/associated-types-binding-in-trait.rs ... ok
test [ui] ui/associated-type-bounds/union-bounds.rs ... ok
test [ui] ui/associated-types/associated-types-normalize-in-bounds-binding.rs ... ok
test [ui] ui/associated-type-bounds/struct-bounds.rs ... ok
test [ui] ui/associated-types/associated-types-nested-projections.rs ... ok
test [ui] ui/associated-types/associated-types-method.rs ... ok
test [ui] ui/array-slice-vec/slice_binary_search.rs ... ok
test [ui] ui/abi/duplicated-external-mods.rs ... ok
test [ui] ui/associated-type-bounds/lcsit.rs ... ok
test [ui] ui/associated-types/associated-types-enum-field-numbered.rs ... ok
test [ui] ui/array-slice-vec/box-of-array-of-drop-1.rs ... ok
test [ui] ui/associated-types/associated-types-issue-20371.rs ... ok
test [ui] ui/associated-types/associated-types-normalize-in-bounds-ufcs.rs ... ok
test [ui] ui/abi/extern/extern-call-scrub.rs ... ok
test [ui] ui/associated-types/associated-types-enum-field-named.rs ... ok
test [ui] ui/associated-types/associated-types-normalize-unifield-struct.rs ... ok
test [ui] ui/associated-types/associated-types-cc.rs ... ok
test [ui] ui/associated-types/associated-types-normalize-in-bounds.rs ... ok
test [ui] ui/array-slice-vec/slice-panic-1.rs ... ok
test [ui] ui/assert-escape.rs ... ok
test [ui] ui/abi/extern/extern-crosscrate.rs ... ok
test [ui] ui/associated-types/associated-types-iterator-binding.rs ... ok
test [ui] ui/associated-types/associated-types-doubleendediterator-object.rs ... ok
test [ui] ui/associated-type-bounds/fn-aux.rs ... ok
test [ui] ui/associated-types/associated-types-issue-21212.rs ... ok
test [ui] ui/associated-types/associated-types-issue-20220.rs ... ok
test [ui] ui/allocator/custom.rs ... ok
test [ui] ui/associated-type-bounds/enum-bounds.rs ... ok
test [ui] ui/allocator/custom-in-block.rs ... ok
test [ui] ui/array-slice-vec/vec-macro-repeat.rs ... ok
test [ui] ui/associated-type-bounds/fn-inline.rs ... ok
test [ui] ui/alignment-gep-tup-like-1.rs ... ok
test [ui] ui/associated-types/associated-types-projection-bound-in-supertraits.rs ... ok
test [ui] ui/allocator/hygiene.rs ... ok
test [ui] ui/binop/binop-bitxor-str.rs ... ok
test [ui] ui/binop/binop-consume-args.rs ... ok
test [ui] ui/binop/binop-logic-float.rs ... ok
test [ui] ui/allocator/custom-in-submodule.rs ... ok
test [ui] ui/associated-types/associated-types-sugar-path.rs ... ok
test [ui] ui/associated-types/associated-types-struct-field-named.rs ... ok
test [ui] ui/associated-types/associated-types-projection-in-supertrait.rs ... ok
test [ui] ui/associated-types/associated-types-struct-field-numbered.rs ... ok
test [ui] ui/binop/binop-move-semantics.rs ... ok
test [ui] ui/binop/binop-mul-bool.rs ... ok
test [ui] ui/binop/binop-typeck.rs ... ok
test [ui] ui/binop/binop-logic-int.rs ... ok
test [ui] ui/associated-types/associated-types-where-clause-impl-ambiguity.rs ... ok
test [ui] ui/abi/foreign/foreign-call-no-runtime.rs ... ok
test [ui] ui/blind/blind-item-block-item-shadow.rs ... ok
test [ui] ui/associated-types/associated-types-stream.rs ... ok
test [ui] ui/blind/blind-item-item-shadow.rs ... ok
test [ui] ui/blind/blind-item-block-middle.rs ... ok
test [ui] ui/associated-types/associated-types-projection-in-object-type.rs ... ok
test [ui] ui/allocator/xcrate-use2.rs ... ok
test [ui] ui/associated-types/associated-types-projection-in-where-clause.rs ... ok
test [ui] ui/block-expression-remove-semicolon.rs ... ok
test [ui] ui/associated-types/associated-types-project-from-type-param-via-bound-in-where.rs ... ok
test [ui] ui/associated-const/defaults-cyclic-pass.rs ... ok
test [ui] ui/associated-types/associated-types-projection-to-unrelated-trait.rs ... ok
test [ui] ui/associated-types/associated-types-qualified-path-with-trait-with-type-parameters.rs ... ok
test [ui] ui/allocator/xcrate-use.rs ... ok
test [ui] ui/associated-type-bounds/fn-where.rs ... ok
test [ui] ui/array-slice-vec/subslice-patterns-const-eval-match.rs ... ok
test [ui] ui/block-result/block-must-not-have-result-do.rs ... ok
test [ui] ui/block-result/issue-11714.rs ... ok
test [ui] ui/block-result/issue-13428.rs ... ok
test [ui] ui/associated-type-bounds/fn-apit.rs ... ok
test [ui] ui/associated-type-bounds/fn-dyn-apit.rs ... ok
test [ui] ui/associated-types/associated-types-ref-from-struct.rs ... ok
test [ui] ui/block-result/block-must-not-have-result-res.rs ... ok
test [ui] ui/block-result/block-must-not-have-result-while.rs ... ok
test [ui] ui/associated-types/associated-types-region-erasure-issue-20582.rs ... ok
test [ui] ui/block-result/consider-removing-last-semi.rs ... ok
test [ui] ui/block-result/issue-5500.rs ... ok
test [ui] ui/block-result/issue-3563.rs ... ok
test [ui] ui/bogus-tag.rs ... ok
test [ui] ui/block-result/issue-13624.rs ... ok
test [ui] ui/associated-type-bounds/fn-wrap-apit.rs ... ok
test [ui] ui/block-result/unexpected-return-on-unit.rs ... ok
test [ui] ui/borrowck/assign-never-type.rs ... ok
test [ui] ui/block-result/issue-20862.rs ... ok
test [ui] ui/block-result/issue-22645.rs ... ok
test [ui] ui/borrowck/assign_mutable_fields.rs ... ok
test [ui] ui/borrowck/bindings-after-at-or-patterns-slice-patterns-box-patterns.rs ... ok
test [ui] ui/borrowck/borrow-immutable-upvar-mutation-impl-trait.rs ... ok
test [ui] ui/borrowck/borrow-raw-address-of-borrowed.rs ... ok
test [ui] ui/borrowck/borrow-immutable-upvar-mutation.rs ... ok
test [ui] ui/borrowck/borrow-raw-address-of-deref-mutability.rs ... ok
test [ui] ui/borrowck/borrow-raw-address-of-deref-mutability-ok.rs ... ok
test [ui] ui/borrowck/borrow-raw-address-of-mutability-ok.rs ... ok
test [ui] ui/borrowck/borrow-raw-address-of-mutability.rs ... ok
test [ui] ui/borrowck/borrowck-access-permissions.rs ... ok
test [ui] ui/borrowck/borrow-tuple-fields.rs ... ok
test [ui] ui/borrowck/borrowck-and-init.rs ... ok
test [ui] ui/borrowck/borrowck-anon-fields-tuple.rs ... ok
test [ui] ui/borrowck/borrowck-anon-fields-struct.rs ... ok
test [ui] ui/borrowck/borrowck-anon-fields-variant.rs ... ok
test [ui] ui/borrowck/borrowck-assign-comp.rs ... ok
test [ui] ui/borrowck/borrowck-asm.rs ... ok
test [ui] ui/borrowck/borrowck-argument.rs ... ok
test [ui] ui/borrowck/borrowck-assign-comp-idx.rs ... ok
test [ui] ui/borrowck/borrowck-assign-to-constants.rs ... ok
test [ui] ui/borrowck/borrowck-assign-to-andmut-in-aliasable-loc.rs ... ok
test [ui] ui/borrowck/borrowck-assign-to-andmut-in-borrowed-loc.rs ... ok
test [ui] ui/borrowck/borrowck-autoref-3261.rs ... ok
test [ui] ui/borrowck/borrowck-auto-mut-ref-to-immut-var.rs ... ok
test [ui] ui/async-await/async-fn-size-uninit-locals.rs ... ok
test [ui] ui/borrowck/borrowck-bad-nested-calls-move.rs ... ok
test [ui] ui/borrowck/borrowck-bad-nested-calls-free.rs ... ok
test [ui] ui/associated-types/associated-types-simple.rs ... ok
test [ui] ui/borrowck/borrowck-block-unint.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-from-temporary.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-immut-deref-of-box-as-mut.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-from-owned-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-from-stack-variable.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-mut-base-ptr-in-aliasable-loc.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-mut-object-twice.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-overloaded-deref.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-overloaded-auto-deref.rs ... ok
test [ui] ui/borrowck/borrowck-borrowed-uniq-rvalue.rs ... ok
test [ui] ui/borrowck/borrowck-borrowed-uniq-rvalue-2.rs ... ok
test [ui] ui/borrowck/borrowck-break-uninit-2.rs ... ok
test [ui] ui/associated-types/associated-types-resolve-lifetime.rs ... ok
test [ui] ui/borrowck/borrowck-break-uninit.rs ... ok
test [ui] ui/borrowck/borrowck-closures-mut-and-imm.rs ... ok
test [ui] ui/borrowck/borrowck-closures-mut-of-imm.rs ... ok
test [ui] ui/borrowck/borrowck-closures-mut-of-mut.rs ... ok
test [ui] ui/array-slice-vec/subslice-patterns-pass.rs ... ok
test [ui] ui/array-slice-vec/subslice-patterns-const-eval.rs ... ok
test [ui] ui/async-await/async-fn-size-moved-locals.rs ... ok
test [ui] ui/borrowck/borrowck-closures-slice-patterns.rs ... ok
test [ui] ui/borrowck/borrowck-closures-two-mut-fail.rs ... ok
test [ui] ui/borrowck/borrowck-closures-two-mut.rs ... ok
test [ui] ui/borrowck/borrowck-closures-unique-imm.rs ... ok
test [ui] ui/borrowck/borrowck-closures-unique.rs ... ok
test [ui] ui/borrowck/borrowck-closures-use-after-free.rs ... ok
test [ui] ui/borrowck/borrowck-consume-unsize-vec.rs ... ok
test [ui] ui/borrowck/borrowck-consume-upcast-box.rs ... ok
test [ui] ui/borrowck/borrowck-drop-from-guard.rs ... ok
test [ui] ui/async-await/issue-60709.rs ... ok
test [ui] ui/borrowck/borrowck-escaping-closure-error-1.rs ... ok
test [ui] ui/borrowck/borrowck-escaping-closure-error-2.rs ... ok
test [ui] ui/borrowck/borrowck-describe-lvalue.rs ... ok
test [ui] ui/borrowck/borrowck-feature-nll-overrides-migrate.rs#edition ... ok
test [ui] ui/borrowck/borrowck-feature-nll-overrides-migrate.rs#zflag ... ok
test [ui] ui/borrowck/borrowck-field-sensitivity.rs ... ok
test [ui] ui/borrowck/borrowck-fn-in-const-a.rs ... ok
test [ui] ui/borrowck/borrowck-fn-in-const-c.rs ... ok
test [ui] ui/borrowck/borrowck-for-loop-correct-cmt-for-pattern.rs ... ok
test [ui] ui/borrowck/borrowck-for-loop-head-linkage.rs ... ok
test [ui] ui/borrowck/borrowck-if-no-else.rs ... ok
test [ui] ui/borrowck/borrowck-imm-ref-to-mut-rec-field-issue-3162-c.rs ... ok
test [ui] ui/borrowck/borrowck-if-with-else.rs ... ok
test [ui] ui/async-await/async-await.rs#nomiropt ... ok
test [ui] ui/borrowck/borrowck-in-static.rs ... ok
test [ui] ui/borrowck/borrowck-init-in-called-fn-expr.rs ... ok
test [ui] ui/borrowck/borrowck-init-in-fn-expr.rs ... ok
test [ui] ui/borrowck/borrowck-init-in-fru.rs ... ok
test [ui] ui/borrowck/borrowck-init-op-equal.rs ... ok
test [ui] ui/async-await/futures-api.rs ... ok
test [ui] ui/async-await/issues/issue-54752-async-block.rs ... ok
test [ui] ui/borrowck/borrowck-init-plus-equal.rs ... ok
test [ui] ui/borrowck/borrowck-issue-2657-1.rs ... ok
test [ui] ui/borrowck/borrowck-issue-14498.rs ... ok
test [ui] ui/borrowck/borrowck-insert-during-each.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-temporary-in-tail-return-expr.rs#default ... ok
test [ui] ui/borrowck/borrowck-issue-2657-2.rs ... ok
test [ui] ui/async-await/issues/issue-59972.rs ... ok
test [ui] ui/associated-types/associated-types-ref-in-struct-literal.rs ... ok
test [ui] ui/async-await/issue-73137.rs ... ok
test [ui] ui/borrowck/borrowck-issue-48962.rs ... ok
test [ui] ui/async-await/async-await.rs#default ... ok
test [ui] ui/borrowck/borrowck-lend-flow-match.rs ... ok
test [ui] ui/borrowck/borrowck-lend-flow-if.rs ... ok
test [ui] ui/borrowck/borrowck-lend-flow-loop.rs ... ok
test [ui] ui/borrowck/borrowck-lend-flow.rs ... ok
test [ui] ui/borrowck/borrowck-loan-blocks-move.rs ... ok
test [ui] ui/borrowck/borrowck-loan-blocks-move-cc.rs ... ok
test [ui] ui/borrowck/borrowck-loan-in-overloaded-op.rs ... ok
test [ui] ui/borrowck/borrowck-loan-blocks-mut-uniq.rs ... ok
test [ui] ui/borrowck/borrowck-loan-of-static-data-issue-27616.rs ... ok
test [ui] ui/borrowck/borrowck-loan-rcvr.rs ... ok
test [ui] ui/borrowck/borrowck-loan-rcvr-overloaded-op.rs ... ok
test [ui] ui/borrowck/borrowck-loan-vec-content.rs ... ok
test [ui] ui/borrowck/borrowck-local-borrow-outlives-fn.rs ... ok
test [ui] ui/borrowck/borrowck-local-borrow-with-panic-outlives-fn.rs ... ok
test [ui] ui/borrowck/borrowck-match-binding-is-assignment.rs ... ok
test [ui] ui/borrowck/borrowck-match-already-borrowed.rs ... ok
test [ui] ui/borrowck/borrowck-move-by-capture.rs ... ok
test [ui] ui/borrowck/borrowck-move-from-subpath-of-borrowed-path.rs ... ok
test [ui] ui/borrowck/borrowck-move-from-unsafe-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-move-error-with-note.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/fn-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-move-moved-value-into-closure.rs ... ok
test [ui] ui/borrowck/borrowck-move-in-irrefut-pat.rs ... ok
test [ui] ui/borrowck/borrowck-move-mut-base-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-match.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-no-overlap-match.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-no-overlap.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-use-no-overlap.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-use-match.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-use-no-overlap-match.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-overloaded-deref.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array-use.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-overloaded-auto-deref.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-from-array.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-static-item.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-struct-with-dtor.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-tuple-struct-with-dtor.rs ... ok
test [ui] ui/borrowck/borrowck-move-subcomponent.rs ... ok
test [ui] ui/borrowck/borrowck-move-out-of-vec-tail.rs ... ok
test [ui] ui/borrowck/borrowck-multiple-captures.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/elided.rs ... ok
test [ui] ui/borrowck/borrowck-mut-borrow-of-mut-base-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-mut-addr-of-imm-var.rs ... ok
test [ui] ui/borrowck/borrowck-mut-borrow-linear-errors.rs ... ok
test [ui] ui/borrowck/borrowck-mut-slice-of-imm-vec.rs ... ok
test [ui] ui/async-await/async-closure.rs#nomiropt ... ok
test [ui] ui/borrowck/borrowck-mutate-in-guard.rs ... ok
test [ui] ui/borrowck/borrowck-no-cycle-in-exchange-heap.rs ... ok
test [ui] ui/borrowck/borrowck-object-lifetime.rs ... ok
test [ui] ui/borrowck/borrowck-or-init.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-call.rs ... ok
test [ui] ui/attr-start.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-index-and-overloaded-deref.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-locals-when-cancelled.rs ... ok
test [ui] ui/abi/segfault-no-out-of-stack.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-index-move-from-vec.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-index-ref-index.rs ... ok
test [ui] ui/borrowck/borrowck-partial-reinit-1.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-index-autoderef.rs ... ok
test [ui] ui/borrowck/borrowck-partial-reinit-4.rs ... ok
test [ui] ui/borrowck/borrowck-partial-reinit-3.rs ... ok
test [ui] ui/borrowck/borrowck-overloaded-index-move-index.rs ... ok
test [ui] ui/borrowck/borrowck-partial-reinit-2.rs ... ok
test [ui] ui/associated-types/associated-types-return.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/named.rs ... ok
test [ui] ui/borrowck/borrowck-pat-reassign-binding.rs ... ok
test [ui] ui/borrowck/borrowck-reborrow-from-shorter-lived-andmut.rs ... ok
test [ui] ui/borrowck/borrowck-reborrow-from-mut.rs ... ok
test [ui] ui/borrowck/borrowck-report-with-custom-diagnostic.rs ... ok
test [ui] ui/borrowck/borrowck-reinit.rs ... ok
test [ui] ui/borrowck/borrowck-return-variable-on-stack-via-clone.rs ... ok
test [ui] ui/borrowck/borrowck-ref-mut-of-imm.rs ... ok
test [ui] ui/borrowck/borrowck-return.rs ... ok
test [ui] ui/borrowck/borrowck-slice-pattern-element-loan-array-no-overlap.rs ... ok
test [ui] ui/borrowck/borrowck-slice-pattern-element-loan-slice-no-overlap.rs ... ok
test [ui] ui/borrowck/borrowck-slice-pattern-element-loan-array.rs ... ok
test [ui] ui/borrowck/borrowck-slice-pattern-element-loan-slice.rs ... ok
test [ui] ui/async-await/issues/issue-65419/issue-65419-generator-resume-after-completion.rs ... ok
test [ui] ui/borrowck/borrowck-storage-dead.rs ... ok
test [ui] ui/async-await/issues/issue-55809.rs ... ok
test [ui] ui/borrowck/borrowck-thread-local-static-borrow-outlives-fn.rs ... ok
test [ui] ui/borrowck/borrowck-swap-mut-base-ptr.rs ... ok
test [ui] ui/borrowck/borrowck-struct-update-with-dtor.rs ... ok
test [ui] ui/borrowck/borrowck-uninit-after-item.rs ... ok
test [ui] ui/borrowck/borrowck-unary-move.rs ... ok
test [ui] ui/borrowck/borrowck-unboxed-closures.rs ... ok
test [ui] ui/borrowck/borrowck-uninit-ref-chain.rs ... ok
test [ui] ui/borrowck/borrowck-uninit-in-assignop.rs ... ok
test [ui] ui/borrowck/borrowck-uninit-field-access.rs ... ok
test [ui] ui/associated-types/issue-54182-1.rs ... ok
test [ui] ui/borrowck/borrowck-uninit.rs ... ok
test [ui] ui/borrowck/borrowck-union-move-assign.rs ... ok
test [ui] ui/borrowck/borrowck-union-uninitialized.rs ... ok
test [ui] ui/borrowck/borrowck-union-borrow.rs ... ok
test [ui] ui/borrowck/borrowck-union-borrow-nested.rs ... ok
test [ui] ui/borrowck/borrowck-union-move.rs ... ok
test [ui] ui/borrowck/borrowck-uniq-via-lend.rs ... ok
test [ui] ui/borrowck/borrowck-use-in-index-lvalue.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/ret-impl-trait-fg.rs ... ok
test [ui] ui/borrowck/borrowck-use-mut-borrow.rs ... ok
test [ui] ui/borrowck/borrowck-use-uninitialized-in-cast-trait.rs ... ok
test [ui] ui/borrowck/borrowck-use-uninitialized-in-cast.rs ... ok
test [ui] ui/borrowck/borrowck-vec-pattern-element-loan.rs ... ok
test [ui] ui/borrowck/borrowck-vec-pattern-loan-from-mut.rs ... ok
test [ui] ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-completion.rs ... ok
test [ui] ui/borrowck/borrowck-vec-pattern-move-tail.rs ... ok
test [ui] ui/borrowck/borrowck-vec-pattern-nesting.rs ... ok
test [ui] ui/borrowck/borrowck-while-break.rs ... ok
test [ui] ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs ... ok
test [ui] ui/borrowck/borrowck-while-cond.rs ... ok
test [ui] ui/borrowck/immutable-arg.rs ... ok
test [ui] ui/borrowck/disallow-possibly-uninitialized.rs ... ok
test [ui] ui/borrowck/borrowck-while.rs ... ok
test [ui] ui/borrowck/index-mut-help-with-impl.rs ... ok
test [ui] ui/borrowck/issue-10876.rs ... ok
test [ui] ui/borrowck/issue-27282-mutation-in-guard.rs ... ok
test [ui] ui/borrowck/index-mut-help.rs ... ok
test [ui] ui/borrowck/issue-41962.rs ... ok
test [ui] ui/borrowck/issue-45983.rs ... ok
test [ui] ui/borrowck/issue-31287-drop-in-guard.rs ... ok
test [ui] ui/borrowck/issue-47215-ice-from-drop-elab.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-async-fn-parameters-by-ref-binding.rs ... ok
test [ui] ui/borrowck/issue-52713-bug.rs ... ok
test [ui] ui/borrowck/issue-51117.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-async-fn-parameters.rs#nomiropt ... ok
test [ui] ui/borrowck/issue-51415.rs ... ok
test [ui] ui/borrowck/issue-53432-nested-closure-outlives-borrowed-value.rs ... ok
test [ui] ui/async-await/async-fn-size.rs ... ok
test [ui] ui/borrowck/issue-54499-field-mutation-marks-mut-as-used.rs ... ok
test [ui] ui/borrowck/issue-54499-field-mutation-of-moved-out-with-mut.rs ... ok
test [ui] ui/attr-shebang.rs ... ok
test [ui] ui/borrowck/issue-54499-field-mutation-of-moved-out.rs ... ok
test [ui] ui/borrowck/issue-54499-field-mutation-of-never-init.rs ... ok
test [ui] ui/borrowck/issue-55492-borrowck-migrate-scans-parents.rs#migrate ... ok
test [ui] ui/borrowck/issue-54597-reject-move-out-of-borrow-via-pat.rs ... ok
test [ui] ui/attr-main-2.rs ... ok
test [ui] ui/atomic-alignment.rs ... ok
test [ui] ui/borrowck/issue-55552-ascribe-wildcard-to-structured-pattern.rs ... ok
test [ui] ui/borrowck/issue-55492-borrowck-migrate-scans-parents.rs#nll ... ok
test [ui] ui/borrowck/issue-58776-borrowck-scans-children.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-async-fn-parameters.rs#default ... ok
test [ui] ui/borrowck/move-error-in-promoted-2.rs ... ok
test [ui] ui/borrowck/move-error-snippets-ext.rs ... ignored
test [ui] ui/borrowck/issue-62107-match-arm-scopes.rs ... ok
test [ui] ui/borrowck/issue-69789-iterator-mut-suggestion.rs ... ok
test [ui] ui/borrowck/issue-64453.rs ... ok
test [ui] ui/borrowck/issue-7573.rs ... ok
test [ui] ui/borrowck/move-error-in-promoted.rs ... ok
test [ui] ui/async-await/multiple-lifetimes/partial-relation.rs ... ok
test [ui] ui/borrowck/move-from-union-field-issue-66500.rs ... ok
test [ui] ui/borrowck/move-error-snippets.rs ... ok
test [ui] ui/borrowck/move-in-pattern-mut.rs ... ok
test [ui] ui/borrowck/move-in-static-initializer-issue-38520.rs ... ok
test [ui] ui/borrowck/mut-borrow-outside-loop.rs ... ok
test [ui] ui/borrowck/mut-borrow-in-loop.rs ... ok
test [ui] ui/borrowck/mut-borrow-of-mut-ref.rs ... ok
test [ui] ui/borrowck/or-patterns.rs ... ok
test [ui] ui/borrowck/mutability-errors.rs ... ok
test [ui] ui/borrowck/move-in-pattern.rs ... ok
test [ui] ui/atomic-compare_exchange.rs ... ok
test [ui] ui/borrowck/promote-ref-mut-in-let-issue-46557.rs ... ok
test [ui] ui/borrowck/reassignment_immutable_fields.rs ... ok
test [ui] ui/borrowck/mut-borrow-in-loop-2.rs ... ok
test [ui] ui/borrowck/reassignment_immutable_fields_overlapping.rs ... ok
test [ui] ui/borrowck/reassignment_immutable_fields_twice.rs ... ok
test [ui] ui/borrowck/regions-bound-missing-bound-in-impl.rs ... ok
test [ui] ui/borrowck/regions-escape-bound-fn-2.rs ... ok
test [ui] ui/augmented-assignments-feature-gate.rs ... ok
test [ui] ui/borrowck/regions-escape-bound-fn.rs ... ok
test [ui] ui/borrowck/regions-escape-unboxed-closure.rs ... ok
test [ui] ui/borrowck/return-local-binding-from-desugaring.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-when-cancelled.rs#default ... ok
test [ui] ui/async-await/multiple-lifetimes/variance.rs ... ok
test [ui] ui/borrowck/two-phase-activation-sharing-interference.rs#nll_target ... ok
test [ui] ui/borrowck/two-phase-allow-access-during-reservation.rs#nll_target ... ok
test [ui] ui/attr-main.rs ... ok
test [ui] ui/borrowck/slice-index-bounds-check-invalidation.rs ... ok
test [ui] ui/borrowck/two-phase-across-loop.rs ... ok
test [ui] ui/borrowck/two-phase-cannot-nest-mut-self-calls.rs ... ok
test [ui] ui/borrowck/two-phase-multi-mut.rs ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference-2.rs#migrate2018 ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference-2.rs#migrate2015 ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference-2.rs#nll2015 ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference-2.rs#nll2018 ... ok
test [ui] ui/borrowck/two-phase-nonrecv-autoref.rs#nll ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference.rs#nll_target ... ok
test [ui] ui/borrowck/two-phase-reservation-sharing-interference-future-compat-lint.rs ... ok
test [ui] ui/borrowck/two-phase-sneaky.rs ... ok
test [ui] ui/borrowck/unboxed-closures-move-upvar-from-non-once-ref-closure.rs ... ok
test [ui] ui/bounds-lifetime.rs ... ok
test [ui] ui/borrowck/two-phase-surprise-no-conflict.rs ... ok
test [ui] ui/auto-traits/auto-traits.rs ... ok
test [ui] ui/attr.rs ... ok
test [ui] ui/box-into-boxed-slice-fail.rs ... ok
test [ui] ui/break-outside-loop.rs ... ok
test [ui] ui/augmented-assignments-feature-gate-cross.rs ... ok
test [ui] ui/break-while-condition.rs ... ok
test [ui] ui/bound-suggestions.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-and-borrow-method-receiver.rs ... ok
test [ui] ui/auto-instantiate.rs ... ok
test [ui] ui/augmented-assignments-rpass.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-when-cancelled.rs#nomiropt ... ok
test [ui] ui/builtin-superkinds/builtin-superkinds-double-superkind.rs ... ok
test [ui] ui/atomic-access-bool.rs ... ok
test [ui] ui/async-await/drop-order/drop-order-for-temporary-in-tail-return-expr.rs#nomiropt ... ok
test [ui] ui/builtin-superkinds/builtin-superkinds-self-type.rs ... ok
test [ui] ui/builtin-superkinds/builtin-superkinds-simple.rs ... ok
test [ui] ui/builtin-superkinds/builtin-superkinds-typaram-not-send.rs ... ok
test [ui] ui/builtin-superkinds/builtin-superkinds-in-metadata.rs ... ok
test [ui] ui/by-move-pattern-binding.rs ... ok
test [ui] ui/c-variadic/variadic-ffi-1.rs ... ignored
test [ui] ui/autoref-autoderef/autoderef-method-on-trait.rs ... ok
test [ui] ui/c-variadic/variadic-ffi-2.rs ... ok
test [ui] ui/auto-traits/auto-is-contextual.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-method-priority.rs ... ok
test [ui] ui/c-variadic/variadic-ffi-4.rs ... ok
test [ui] ui/c-variadic/variadic-ffi-6.rs ... ok
test [ui] ui/c-variadic/variadic-ffi-no-fixed-args.rs ... ok
test [ui] ui/can-begin-expr-check.rs ... ok
test [ui] ui/capture1.rs ... ok
test [ui] ui/cannot-mutate-captured-non-mut-var.rs ... ok
test [ui] ui/associated-consts/associated-const-range-match-patterns.rs ... ok
test [ui] ui/cast-char.rs ... ok
test [ui] ui/autoref-autoderef/auto-ref.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-method-twice.rs ... ok
test [ui] ui/autoref-autoderef/auto-ref-sliceable.rs ... ok
test [ui] ui/autobind.rs ... ok
test [ui] ui/autoref-autoderef/auto-ref-bounded-ty-param.rs ... ok
test [ui] ui/autoref-autoderef/autoref-intermediate-types-issue-3585.rs ... ok
test [ui] ui/cast/cast-as-bool.rs ... ok
test [ui] ui/cast/cast-ptr-to-int-const.rs ... ok
test [ui] ui/cast/cast-from-nil.rs ... ok
test [ui] ui/cast/cast-errors-issue-43825.rs ... ok
test [ui] ui/binary-minus-without-space.rs ... ok
test [ui] ui/cast/cast-to-bare-fn.rs ... ok
test [ui] ui/cast/cast-rfc0401-2.rs ... ok
test [ui] ui/cast/cast-to-nil.rs ... ok
test [ui] ui/cast/cast-to-unsized-trait-object-suggestion.rs ... ok
test [ui] ui/casts-issue-46365.rs ... ok
test [ui] ui/casts-differing-anon.rs ... ok
test [ui] ui/big-literals.rs ... ok
test [ui] ui/cenum_impl_drop_cast.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-privacy.rs ... ok
test [ui] ui/bench/issue-32062.rs ... ok
test [ui] ui/cfg-rustdoc.rs ... ok
test [ui] ui/binding/bind-field-short-with-modifiers.rs ... ok
test [ui] ui/bare-static-string.rs ... ok
test [ui] ui/binding/empty-types-in-patterns.rs ... ok
test [ui] ui/async-await/async-closure.rs#default ... ok
test [ui] ui/binding/expr-match.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-method-twice-but-not-thrice.rs ... ok
test [ui] ui/async-await/issues/issue-65419/issue-65419-async-fn-resume-after-panic.rs ... ok
test [ui] ui/autoref-autoderef/autoderef-method.rs ... ok
test [ui] ui/binding/borrowed-ptr-pattern-infallible.rs ... ok
test [ui] ui/binding/borrowed-ptr-pattern.rs ... ok
test [ui] ui/binding/borrowed-ptr-pattern-2.rs ... ok
test [ui] ui/binding/borrowed-ptr-pattern-3.rs ... ok
test [ui] ui/binding/expr-match-panic-all.rs ... ok
test [ui] ui/binding/exhaustive-bool-match-sanity.rs ... ok
test [ui] ui/atomic-print.rs ... ok
test [ui] ui/chalkify/basic.rs ... ok
test [ui] ui/binding/borrowed-ptr-pattern-option.rs ... ok
test [ui] ui/binding/expr-match-generic-unique2.rs ... ok
test [ui] ui/chalkify/chalk_initial_program.rs ... ok
test [ui] ui/chalkify/closure.rs ... ok
test [ui] ui/binding/fn-pattern-expected-type.rs ... ok
test [ui] ui/chalkify/generic_impls.rs ... ok
test [ui] ui/binding/expr-match-generic-unique1.rs ... ok
test [ui] ui/binding/fat-arrow-match.rs ... ok
test [ui] ui/chalkify/impl_wf.rs ... ok
test [ui] ui/chalkify/lower_env1.rs ... ok
test [ui] ui/binding/expr-match-generic.rs ... ok
test [ui] ui/chalkify/lower_env2.rs ... ok
test [ui] ui/chalkify/lower_struct.rs ... ok
test [ui] ui/chalkify/lower_trait_higher_rank.rs ... ok
test [ui] ui/chalkify/lower_env3.rs ... ok
test [ui] ui/chalkify/lower_trait.rs ... ok
test [ui] ui/chalkify/lower_trait_where_clause.rs ... ok
test [ui] ui/chalkify/lower_impl.rs ... ok
test [ui] ui/chalkify/println.rs ... ok
test [ui] ui/chalkify/recursive_where_clause_on_type.rs ... ok
test [ui] ui/binding/expr-match-panic.rs ... ok
test [ui] ui/chalkify/type_inference.rs ... ok
test [ui] ui/chalkify/type_wf.rs ... ok
test [ui] ui/bind-by-move.rs ... ok
test [ui] ui/changing-crates.rs ... ok
test [ui] ui/check-static-immutable-mut-slices.rs ... ok
test [ui] ui/check-static-values-constraints.rs ... ok
test [ui] ui/bare-fn-implements-fn-mut.rs ... ok
test [ui] ui/binding/expr-match-unique.rs ... ok
test [ui] ui/class-cast-to-trait.rs ... ok
test [ui] ui/class-method-missing.rs ... ok
test [ui] ui/class-missing-self.rs ... ok
test [ui] ui/binding/func-arg-wild-pattern.rs ... ok
test [ui] ui/binding/fn-pattern-expected-type-2.rs ... ok
test [ui] ui/binding/func-arg-ref-pattern.rs ... ok
test [ui] ui/cleanup-rvalue-scopes-cf.rs ... ok
test [ui] ui/binding/if-let.rs ... ok
test [ui] ui/binding/inconsistent-lifetime-mismatch.rs ... ok
test [ui] ui/binding/func-arg-incomplete-pattern.rs ... ok
test [ui] ui/binding/fn-arg-incomplete-pattern-drop-order.rs ... ok
test [ui] ui/binding/let-destruct-ref.rs ... ok
test [ui] ui/binding/match-bot-2.rs ... ok
test [ui] ui/binding/irrefutable-slice-patterns.rs ... ok
test [ui] ui/closure-expected-type/expect-infer-var-appearing-twice.rs ... ok
test [ui] ui/closure-expected-type/expect-fn-supply-fn.rs ... ok
test [ui] ui/binding/match-bot.rs ... ok
test [ui] ui/closure-expected-type/expect-fn-supply-fn-multiple.rs ... ok
test [ui] ui/binding/match-enum-struct-0.rs ... ok
test [ui] ui/binding/match-enum-struct-1.rs ... ok
test [ui] ui/closure-expected-type/expect-two-infer-vars-supply-ty-with-bound-region.rs ... ok
test [ui] ui/closure-expected-type/issue-24421.rs ... ok
test [ui] ui/closure-expected-type/expect-infer-var-supply-ty-with-bound-region.rs ... ok
test [ui] ui/closure-expected-type/expect-infer-var-supply-ty-with-free-region.rs ... ok
test [ui] ui/closure_context/issue-26046-fn-mut.rs ... ok
test [ui] ui/closure_context/issue-26046-fn-once.rs ... ok
test [ui] ui/closure-expected.rs ... ok
test [ui] ui/closures/closure-bounds-static-cant-capture-borrowed.rs ... ok
test [ui] ui/closure_context/issue-42065.rs ... ok
test [ui] ui/closures/closure-bounds-cant-promote-superkind-in-struct.rs ... ok
test [ui] ui/binding/match-in-macro.rs ... ok
test [ui] ui/closures/closure-bounds-subtype.rs ... ok
test [ui] ui/closures/closure-array-break-length.rs ... ok
test [ui] ui/closures/closure-expected-type/expect-region-supply-region-2.rs ... ok
test [ui] ui/binding/match-byte-array-patterns.rs ... ok
test [ui] ui/closure_promotion.rs ... ok
test [ui] ui/closures/closure-expected-type/expect-region-supply-region.rs ... ok
test [ui] ui/binding/let-assignability.rs ... ok
test [ui] ui/closures/closure-move-sync.rs ... ok
test [ui] ui/closures/closure-no-fn-3.rs ... ok
test [ui] ui/closures/closure-referencing-itself-issue-25954.rs ... ok
test [ui] ui/closures/closure-wrong-kind.rs ... ok
test [ui] ui/closures/closure-immutable-outer-variable.rs ... ok
test [ui] ui/closures/closure-no-fn-1.rs ... ok
test [ui] ui/closures/closure-no-fn-2.rs ... ok
test [ui] ui/closures/closure-reform-bad.rs ... ok
test [ui] ui/closures/closure_no_cap_coerce_many_unsafe_0.rs ... ok
test [ui] ui/closures/closure_no_cap_coerce_many_check_pass.rs ... ok
test [ui] ui/closures/issue-41366.rs ... ok
test [ui] ui/closures/issue-46742.rs ... ok
test [ui] ui/closures/closure_cap_coerce_many_fail.rs ... ok
test [ui] ui/closures/issue-48109.rs ... ok
test [ui] ui/closures/issue-67123.rs ... ok
test [ui] ui/binding/match-arm-statics.rs ... ok
test [ui] ui/closures/issue-52437.rs ... ok
test [ui] ui/closures/issue-68025.rs ... ok
test [ui] ui/codemap_tests/coherence-overlapping-inherent-impl-trait.rs ... ok
test [ui] ui/codemap_tests/bad-format-args.rs ... ok
test [ui] ui/codemap_tests/empty_span.rs ... ok
test [ui] ui/codemap_tests/huge_multispan_highlight.rs ... ok
test [ui] ui/codemap_tests/one_line.rs ... ok
test [ui] ui/codemap_tests/overlapping_inherent_impls.rs ... ok
test [ui] ui/codemap_tests/issue-28308.rs ... ok
test [ui] ui/codemap_tests/issue-11715.rs ... ok
test [ui] ui/binding/match-naked-record.rs ... ok
test [ui] ui/codemap_tests/two_files_data.rs ... ignored
test [ui] ui/binding/match-implicit-copy-unique.rs ... ok
test [ui] ui/binding/inferred-suffix-in-pattern-range.rs ... ok
test [ui] ui/codemap_tests/tab_2.rs ... ok
test [ui] ui/codemap_tests/two_files.rs ... ok
test [ui] ui/codemap_tests/unicode.rs ... ok
test [ui] ui/codemap_tests/tab_3.rs ... ok
test [ui] ui/codemap_tests/unicode_2.rs ... ok
test [ui] ui/codemap_tests/unicode_3.rs ... ok
test [ui] ui/coercion/coerce-expect-unsized-ascribed.rs ... ok
test [ui] ui/codemap_tests/tab.rs ... ok
test [ui] ui/coercion/coerce-issue-49593-box-never.rs ... ok
test [ui] ui/coercion/coerce-overloaded-autoderef-fail.rs ... ok
test [ui] ui/binding/match-join.rs ... ok
test [ui] ui/binding/match-pattern-no-type-params.rs ... ok
test [ui] ui/coercion/coerce-mut.rs ... ok
test [ui] ui/coercion/coerce-reborrow-multi-arg-fail.rs ... ok
test [ui] ui/coercion/coerce-reborrow-multi-arg.rs ... ok
test [ui] ui/binding/match-pattern-simple.rs ... ok
test [ui] ui/binding/match-larger-const.rs ... ok
test [ui] ui/binding/match-beginning-vert.rs ... ok
test [ui] ui/coercion/coerce-to-bang-cast.rs ... ok
test [ui] ui/binding/match-range-infer.rs ... ok
test [ui] ui/binding/match-pattern-bindings.rs ... ok
test [ui] ui/binding/match-naked-record-expr.rs ... ok
test [ui] ui/coercion/coerce-to-bang.rs ... ok
test [ui] ui/coercion/coercion-slice.rs ... ok
test [ui] ui/coercion/coercion-missing-tail-expected-type.rs ... ok
test [ui] ui/binding/let-var-hygiene.rs ... ok
test [ui] ui/binding/match-reassign.rs ... ok
test [ui] ui/binding/match-path.rs ... ok
test [ui] ui/binding/match-pattern-lit.rs ... ok
test [ui] ui/binding/match-range.rs ... ok
test [ui] ui/coherence/coherence-all-remote.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-blanket-implemented.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-blanket-unimplemented.rs ... ok
test [ui] ui/coherence/coherence-bigint-param.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-specific-trait.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-specific.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-specific-multidispatch.rs ... ok
test [ui] ui/coherence/coherence-conflicting-negative-trait-impl.rs ... ok
test [ui] ui/binding/match-ref-binding-in-guard-3256.rs ... ok
test [ui] ui/binding/match-range-static.rs ... ok
test [ui] ui/binding/match-ref-unsized.rs ... ok
test [ui] ui/coherence/coherence-default-trait-impl.rs ... ok
test [ui] ui/coherence/coherence-blanket-conflicts-with-specific-cross-crate.rs ... ok
test [ui] ui/coherence/coherence-cow.rs#re_a ... ok
test [ui] ui/coherence/coherence-error-suppression.rs ... ok
test [ui] ui/coherence/coherence-fn-covariant-bound-vs-static.rs ... ok
test [ui] ui/binding/match-phi.rs ... ok
test [ui] ui/binding/match-ref-binding-mut.rs ... ok
test [ui] ui/coherence/coherence-fn-implied-bounds.rs ... ok
test [ui] ui/coherence/coherence-free-vs-bound-region.rs ... ok
test [ui] ui/coherence/coherence-fn-inputs.rs ... ok
test [ui] ui/coherence/coherence-cross-crate-conflict.rs ... ok
test [ui] ui/coherence/coherence-cow.rs#re_b ... ok
test [ui] ui/coherence/coherence-cow.rs#re_c ... ok
test [ui] ui/coherence/coherence-impl-trait-for-trait.rs ... ok
test [ui] ui/coherence/coherence-impl-trait-for-marker-trait-positive.rs ... ok
test [ui] ui/coherence/coherence-impl-trait-for-marker-trait-negative.rs ... ok
test [ui] ui/coherence/coherence-impl-trait-for-trait-object-safe.rs ... ok
test [ui] ui/coherence/coherence-impls-send.rs ... ok
test [ui] ui/binding/match-tag.rs ... ok
test [ui] ui/coherence/coherence-impls-copy.rs ... ok
test [ui] ui/binding/match-ref-binding.rs ... ok
test [ui] ui/coherence/coherence-inherited-subtyping.rs#re ... ok
test [ui] ui/coherence/coherence-inherited-subtyping.rs#old ... ok
test [ui] ui/coherence/coherence-inherited-assoc-ty-cycle-err.rs ... ok
test [ui] ui/coherence/coherence-impls-sized.rs ... ok
test [ui] ui/binding/match-struct-0.rs ... ok
test [ui] ui/coherence/coherence-fundamental-trait-objects.rs ... ok
test [ui] ui/coherence/coherence-no-direct-lifetime-dispatch.rs ... ok
test [ui] ui/coherence/coherence-negative-impls-safe.rs ... ok
test [ui] ui/coherence/coherence-overlap-all-t-and-tuple.rs ... ok
test [ui] ui/coherence/coherence-overlap-downstream-inherent.rs ... ok
test [ui] ui/coherence/coherence-overlap-downstream.rs ... ok
test [ui] ui/coherence/coherence-overlap-issue-23516-inherent.rs ... ok
test [ui] ui/coherence/coherence-lone-type-parameter.rs ... ok
test [ui] ui/coherence/coherence-overlap-issue-23516.rs ... ok
test [ui] ui/coherence/coherence-overlap-messages.rs ... ok
test [ui] ui/coherence/coherence-orphan.rs ... ok
test [ui] ui/coherence/coherence-projection-conflict-orphan.rs ... ok
test [ui] ui/coherence/coherence-overlap-upstream-inherent.rs ... ok
test [ui] ui/coherence/coherence-overlap-upstream.rs ... ok
test [ui] ui/coherence/coherence-projection-conflict-ty-param.rs ... ok
test [ui] ui/binding/match-var-hygiene.rs ... ok
test [ui] ui/coherence/coherence-overlapping-pairs.rs ... ok
test [ui] ui/coherence/coherence-pair-covered-uncovered-1.rs ... ok
test [ui] ui/coherence/coherence-projection-conflict.rs ... ok
test [ui] ui/coherence/coherence-pair-covered-uncovered.rs ... ok
test [ui] ui/coherence/coherence-projection-ok.rs ... ok
test [ui] ui/coherence/coherence-projection-ok-orphan.rs ... ok
test [ui] ui/coherence/coherence-tuple-conflict.rs ... ok
test [ui] ui/coherence/coherence-subtyping.rs ... ok
test [ui] ui/coherence/coherence-unsafe-trait-object-impl.rs ... ok
test [ui] ui/coherence/coherence-wasm-bindgen.rs ... ok
test [ui] ui/binding/match-str.rs ... ok
test [ui] ui/coherence/coherence-vec-local-2.rs ... ok
test [ui] ui/binding/match-with-ret-arm.rs ... ok
test [ui] ui/coherence/coherence-vec-local.rs ... ok
test [ui] ui/coherence/coherence_copy_like_err_fundamental_struct_ref.rs ... ok
test [ui] ui/coherence/coherence_inherent.rs ... ok
test [ui] ui/coherence/coherence_copy_like_err_fundamental_struct_tuple.rs ... ok
test [ui] ui/coherence/coherence_copy_like_err_fundamental_struct.rs ... ok
test [ui] ui/coherence/coherence_copy_like_err_struct.rs ... ok
test [ui] ui/coherence/coherence_copy_like_err_tuple.rs ... ok
test [ui] ui/binding/match-ref-binding-mut-option.rs ... ok
test [ui] ui/coherence/conflicting-impl-with-err.rs ... ok
test [ui] ui/coherence/coherence_local.rs ... ok
test [ui] ui/binding/mut-in-ident-patterns.rs ... ok
test [ui] ui/coherence/coherence_inherent_cc.rs ... ok
test [ui] ui/coherence/coherence_local_err_struct.rs ... ok
test [ui] ui/coherence/coherence_local_ref.rs ... ok
test [ui] ui/coherence/coherence_local_err_tuple.rs ... ok
test [ui] ui/binding/match-value-binding-in-guard-3291.rs ... ok
test [ui] ui/binding/match-unsized.rs ... ok
test [ui] ui/coherence/impl-foreign-for-foreign.rs ... ok
test [ui] ui/coherence/impl-foreign-for-foreign[foreign].rs ... ok
test [ui] ui/binding/nested-matchs.rs ... ok
test [ui] ui/coherence/impl-foreign-for-fundamental[foreign].rs ... ok
test [ui] ui/binding/nil-pattern.rs ... ok
test [ui] ui/coherence/impl-foreign-for-foreign[local].rs ... ok
test [ui] ui/binding/match-vec-rvalue.rs ... ok
test [ui] ui/coherence/impl-foreign-for-fundamental[local].rs ... ok
test [ui] ui/coherence/impl-foreign-for-local.rs ... ok
test [ui] ui/binding/multi-let.rs ... ok
test [ui] ui/coherence/impl-foreign-for-locally-defined-fundamental[foreign].rs ... ok
test [ui] ui/coherence/impl-foreign-for-locally-defined-fundamental.rs ... ok
test [ui] ui/coherence/impl-foreign[foreign]-for-foreign.rs ... ok
test [ui] ui/coherence/impl-foreign[fundemental[foreign]]-for-foreign.rs ... ok
test [ui] ui/coherence/impl-foreign[foreign]-for-local.rs ... ok
test [ui] ui/coherence/impl[t]-foreign-for-foreign[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign-for-fundamental[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[foreign]-for-fundamental[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[foreign[t]_local]-for-foreign.rs ... ok
test [ui] ui/coherence/impl-foreign[fundemental[local]]-for-foreign.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundamental[t]]-for-foreign.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[foreign]-for-t.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundamental[t]]-for-fundamental[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundamental[t]]-for-local.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundamental[t]_local]-for-foreign.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundamental[t]]-for-t.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[fundemental[local]]-for-foreign[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-foreign.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-fundamental[foreign[t]].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-foreign[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-fundamental[t].rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-t.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local]-for-local.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[local_fundamental[t]]-for-foreign.rs ... ok
test [ui] ui/command-line-diagnostics.rs ... ok
test [ui] ui/collections-const-new.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[t]-for-fundamental.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[t]-for-foreign.rs ... ok
test [ui] ui/commandline-argfile-badutf8.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[t]-for-local.rs ... ok
test [ui] ui/coherence/impl[t]-foreign[t]-for-t.rs ... ok
test [ui] ui/closures/deeply-nested_closures.rs ... ok
test [ui] ui/commandline-argfile-missing.rs ... ok
test [ui] ui/compare-method/region-extra.rs ... ok
test [ui] ui/compare-method/proj-outlives-region.rs ... ok
test [ui] ui/compare-method/region-extra-2.rs ... ok
test [ui] ui/compare-method/region-unrelated.rs ... ok
test [ui] ui/compare-method/reordered-type-param.rs ... ok
test [ui] ui/compare-method/trait-bound-on-type-parameter.rs ... ok
test [ui] ui/compare-method/traits-misc-mismatch-1.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-1.rs ... ok
test [ui] ui/compare-method/traits-misc-mismatch-2.rs ... ok
test [ui] ui/compile_error_macro.rs ... ok
test [ui] ui/concat.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-3.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-2.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-4.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-5.rs ... ok
test [ui] ui/conditional-compilation/cfg-arg-invalid-6.rs ... ok
test [ui] ui/commandline-argfile.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-crate-2.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-multi-invalid-1.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-cfg-2.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-empty-is-unused.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-invalid-predicate.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-multi-invalid-2.rs ... ok
test [ui] ui/conditional-compilation/cfg-empty-codemap.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-parse.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-syntax-validation.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-unknown-attribute-macro-expansion.rs ... ok
test [ui] ui/conditional-compilation/cfg-in-crate-1.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-multi-false.rs ... ok
test [ui] ui/conditional-compilation/cfg_accessible-input-validation.rs ... ok
test [ui] ui/conditional-compilation/cfg-non-opt-expr.rs ... ok
test [ui] ui/conditional-compilation/cfg-generic-params.rs ... ok
test [ui] ui/conditional-compilation/cfg-attr-multi-true.rs ... ok
test [ui] ui/conditional-compilation/cfg_accessible-unstable.rs ... ok
test [ui] ui/conditional-compilation/cfg_accessible-stuck.rs ... ok
test [ui] ui/conditional-compilation/cfg_accessible.rs ... ok
test [ui] ui/binding/optional_comma_in_match_arm.rs ... ok
test [ui] ui/conflicting-repr-hints.rs ... ok
test [ui] ui/conditional-compilation/cfg_attr_path.rs ... ok
test [ui] ui/confuse-field-and-method/issue-18343.rs ... ok
test [ui] ui/confuse-field-and-method/private-field.rs ... ok
test [ui] ui/confuse-field-and-method/issue-32128.rs ... ok
test [ui] ui/confuse-field-and-method/issue-33784.rs ... ok
test [ui] ui/const-generics/apit-with-const-param.rs ... ok
test [ui] ui/confuse-field-and-method/issue-2392.rs ... ok
test [ui] ui/conservative_impl_trait.rs ... ok
test [ui] ui/const-generics/argument_order.rs ... ok
test [ui] ui/const-generics/array-impls/alloc-traits-impls-length-32.rs ... ok
test [ui] ui/binding/match-pipe-binding.rs ... ok
test [ui] ui/binding/match-borrowed_str.rs ... ok
test [ui] ui/const-generics/array-impls/core-traits-impls-length-32.rs ... ok
test [ui] ui/const-generics/array-impls/into-iter-impls-length-32.rs ... ok
test [ui] ui/const-generics/array-impls/core-traits-no-impls-length-33.rs ... ok
test [ui] ui/const-generics/array-impls/alloc-traits-no-impls-length-33.rs ... ok
test [ui] ui/const-generics/array-impls/alloc-types-no-impls-length-33.rs ... ok
test [ui] ui/const-generics/array-size-in-generic-struct-param.rs ... ok
test [ui] ui/binding/pat-ranges.rs ... ok
test [ui] ui/const-generics/cannot-infer-const-args.rs ... ok
test [ui] ui/binding/match-vec-alternatives.rs ... ok
test [ui] ui/const-generics/array-impls/into-iter-no-impls-length-33.rs ... ok
test [ui] ui/const-generics/cannot-infer-type-for-const-param.rs ... ok
test [ui] ui/binding/nullary-or-pattern.rs ... ok
test [ui] ui/const-generics/broken-mir-2.rs ... ok
test [ui] ui/const-generics/const-arg-type-arg-misordered.rs ... ok
test [ui] ui/const-generics/const-expression-parameter.rs ... ok
test [ui] ui/binding/pat-tuple-1.rs ... ok
test [ui] ui/const-generics/const-param-after-const-literal-arg.rs ... ok
test [ui] ui/const-generics/const-param-before-other-params.rs ... ok
test [ui] ui/const-generics/const-param-elided-lifetime.rs ... ok
test [ui] ui/const-generics/const-param-from-outer-fn.rs ... ok
test [ui] ui/const-generics/const-argument-cross-crate-mismatch.rs ... ok
test [ui] ui/binding/pat-tuple-4.rs ... ok
test [ui] ui/const-generics/const-param-in-trait-ungated.rs ... ok
test [ui] ui/binding/order-drop-with-match.rs ... ok
test [ui] ui/const-generics/const-param-type-depends-on-type-param-ungated.rs ... ok
test [ui] ui/binding/pat-tuple-7.rs ... ok
test [ui] ui/const-generics/const-param-type-depends-on-type-param.rs ... ok
test [ui] ui/binding/or-pattern.rs ... ok
test [ui] ui/const-generics/const-parameter-uppercase-lint.rs ... ok
test [ui] ui/const-generics/different_byref.rs ... ok
test [ui] ui/const-generics/fn-const-param-call.rs ... ok
test [ui] ui/binding/pat-tuple-6.rs ... ok
test [ui] ui/const-generics/fn-const-param-infer.rs ... ok
test [ui] ui/binding/pat-tuple-2.rs ... ok
test [ui] ui/binops-issue-22743.rs ... ok
test [ui] ui/const-generics/derive-debug-array-wrapper.rs ... ok
test [ui] ui/const-generics/forbid-non-structural_match-types.rs ... ok
test [ui] ui/const-generics/foreign-item-const-parameter.rs ... ok
test [ui] ui/const-generics/incorrect-number-of-const-args.rs ... ok
test [ui] ui/binding/range-inclusive-pattern-precedence.rs ... ok
test [ui] ui/const-generics/infer_arr_len_from_pat.rs ... ok
test [ui] ui/binding/pat-tuple-3.rs ... ok
test [ui] ui/const-generics/integer-literal-generic-arg-in-where-clause.rs ... ok
test [ui] ui/const-generics/invalid-constant-in-args.rs ... ok
test [ui] ui/binding/simple-generic-match.rs ... ok
test [ui] ui/const-generics/issue-66596-impl-trait-for-str-const-arg.rs ... ok
test [ui] ui/const-generics/issue-61522-array-len-succ.rs ... ok
test [ui] ui/binding/use-uninit-match.rs ... ok
test [ui] ui/binding/pattern-in-closure.rs ... ok
test [ui] ui/const-generics/invalid-const-arg-for-type-param.rs ... ok
test [ui] ui/const-generics/issue-71986.rs ... ok
test [ui] ui/binding/zero_sized_subslice_match.rs ... ok
test [ui] ui/const-generics/issues/issue-60263.rs ... ok
test [ui] ui/const-generics/issues/issue-60818-struct-constructors.rs ... ok
test [ui] ui/binding/use-uninit-match2.rs ... ok
test [ui] ui/const-generics/issues/issue-61422.rs ... ok
test [ui] ui/const-generics/issues/issue-61747.rs ... ok
test [ui] ui/const-generics/issues/issue-61935.rs ... ok
test [ui] ui/const-generics/issues/issue-61336-2.rs ... ok
test [ui] ui/const-generics/issues/issue-61336.rs ... ok
test [ui] ui/const-generics/issues/issue-62220.rs ... ok
test [ui] ui/const-generics/issue-70180-2-stalled_on.rs ... ok
test [ui] ui/const-generics/issue-70180-1-stalled_on.rs ... ok
test [ui] ui/const-generics/issues/issue-62456.rs ... ok
test [ui] ui/const-generics/issues/issue-62504.rs ... ok
test [ui] ui/const-generics/issues/issue-63322-forbid-dyn.rs ... ok
test [ui] ui/const-generics/issues/issue-64519.rs ... ok
test [ui] ui/const-generics/issues/issue-67185-1.rs ... ok
test [ui] ui/const-generics/issues/issue-66205.rs ... ok
test [ui] ui/const-generics/issues/issue-61336-1.rs ... ok
test [ui] ui/const-generics/issues/issue-66906.rs ... ok
test [ui] ui/blind-item-local-shadow.rs ... ok
test [ui] ui/const-generics/issues/issue-68615-adt.rs ... ok
test [ui] ui/const-generics/issues/issue-67739.rs ... ok
test [ui] ui/const-generics/issues/issue-67185-2.rs ... ok
test [ui] ui/const-generics/issues/issue-70167.rs ... ok
test [ui] ui/blind-item-mixed-use-item.rs ... ok
test [ui] ui/const-generics/issues/issue-68977.rs ... ok
test [ui] ui/const-generics/issues/issue-68615-array.rs ... ok
test [ui] ui/block-arg-call-as.rs ... ok
test [ui] ui/const-generics/issues/issue-71381.rs ... ok
test [ui] ui/const-generics/issues/issue-71611.rs ... ok
test [ui] ui/const-generics/issues/issue-71382.rs ... ok
test [ui] ui/const-generics/issues/issue-72352.rs ... ok
test [ui] ui/const-generics/raw-ptr-const-param-deref.rs ... ok
test [ui] ui/blind-item-mixed-crate-use-item.rs ... ok
test [ui] ui/const-generics/raw-ptr-const-param.rs ... ok
test [ui] ui/const-generics/issues/issue-72819-generic-in-const-eval.rs ... ok
test [ui] ui/const-generics/issues/issue70273-assoc-fn.rs ... ok
test [ui] ui/bitwise.rs ... ok
test [ui] ui/const-generics/std/const-generics-range.rs ... ok
test [ui] ui/const-generics/struct-with-invalid-const-param.rs ... ok
test [ui] ui/binding/pattern-bound-var-in-for-each.rs ... ok
test [ui] ui/const-generics/trait-const-args.rs ... ok
test [ui] ui/const-generics/slice-const-param-mismatch.rs ... ok
test [ui] ui/binops.rs ... ok
test [ui] ui/const-generics/unused-const-param.rs ... ok
test [ui] ui/const-generics/uninferred-consts.rs ... ok
test [ui] ui/binding/match-unique-bind.rs ... ok
test [ui] ui/const-generics/wf-misc.rs ... ok
test [ui] ui/const-generics/types-mismatch-const-args.rs ... ok
test [ui] ui/const-suggest-feature.rs ... ok
test [ui] ui/constructor-lifetime-args.rs ... ok
test [ui] ui/binop/binop-fail-3.rs ... ok
test [ui] ui/block-arg.rs ... ok
test [ui] ui/consts/array-to-slice-cast.rs ... ok
test [ui] ui/const_prop/ice-assert-fail-div-by-zero.rs ... ok
test [ui] ui/const-generics/unused_braces.rs ... ok
test [ui] ui/consts/associated_const_generic.rs ... ok
test [ui] ui/binding/pat-tuple-5.rs ... ok
test [ui] ui/consts/const-address-of-mut.rs ... ok
test [ui] ui/binding/nested-pattern.rs ... ok
test [ui] ui/consts/array-literal-index-oob.rs ... ok
test [ui] ui/consts/const-address-of-interior-mut.rs ... ok
test [ui] ui/consts/const-address-of.rs ... ok
test [ui] ui/binop/binop-panic.rs ... ok
test [ui] ui/consts/const-array-oob.rs ... ok
test [ui] ui/consts/assoc_const_generic_impl.rs ... ok
test [ui] ui/bool-not.rs ... ok
test [ui] ui/borrow-by-val-method-receiver.rs ... ok
test [ui] ui/consts/const-array-oob-arith.rs ... ok
test [ui] ui/borrowck/borrowck-binding-mutbl.rs ... ok
test [ui] ui/borrowck/borrowck-closures-slice-patterns-ok.rs ... ok
test [ui] ui/bool.rs ... ok
test [ui] ui/block-iter-2.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-of-mut-base-ptr-safe.rs ... ok
test [ui] ui/borrowck/borrowck-closures-two-imm.rs ... ok
test [ui] ui/borrowck/borrowck-box-sensitivity.rs ... ok
test [ui] ui/consts/const-cast-different-types.rs ... ok
test [ui] ui/consts/const-call.rs ... ok
test [ui] ui/borrowck/borrowck-borrow-from-expr-block.rs ... ok
test [ui] ui/consts/const-block-non-item-statement.rs ... ok
test [ui] ui/borrowck/borrowck-field-sensitivity-rpass.rs ... ok
test [ui] ui/consts/const-cast-wrong-type.rs ... ok
test [ui] ui/block-explicit-types.rs ... ok
test [ui] ui/borrowck/borrowck-freeze-frozen-mut.rs ... ok
test [ui] ui/borrowck/borrowck-fixed-length-vecs.rs ... ok
test [ui] ui/block-iter-1.rs ... ok
test [ui] ui/consts/const-deref-ptr.rs ... ok
test [ui] ui/block-expr-precedence.rs ... ok
test [ui] ui/block-fn-coerce.rs ... ok
test [ui] ui/borrowck/borrowck-lend-args.rs ... ok
test [ui] ui/borrowck/borrowck-macro-interaction-issue-6304.rs ... ok
test [ui] ui/borrowck/borrowck-assignment-to-static-mut.rs ... ok
test [ui] ui/borrowck/borrowck-move-by-capture-ok.rs ... ok
test [ui] ui/borrowck/borrowck-multiple-borrows-interior-boxes.rs ... ok
test [ui] ui/borrowck/borrowck-local-borrow.rs#migrate ... ok
test [ui] ui/borrowck/borrowck-local-borrow.rs#mir ... ok
test [ui] ui/borrowck/borrowck-pat-enum.rs ... ok
test [ui] ui/borrowck/borrowck-scope-of-deref-issue-4666.rs ... ok
test [ui] ui/borrowck/borrowck-mut-uniq.rs ... ok
test [ui] ui/borrowck/borrowck-pat-reassign-no-binding.rs ... ok
test [ui] ui/borrowck/borrowck-slice-pattern-element-loan-rpass.rs ... ok
test [ui] ui/consts/const-err-early.rs ... ok
test [ui] ui/consts/const-err-multi.rs ... ok
test [ui] ui/borrowck/borrowck-trait-lifetime.rs ... ok
test [ui] ui/borrowck/borrowck-rvalues-mutable.rs ... ok
test [ui] ui/borrowck/borrowck-mut-vec-as-imm-slice.rs ... ok
test [ui] ui/consts/const-err.rs ... ok
test [ui] ui/borrowck/borrowck-uniq-via-ref.rs ... ok
test [ui] ui/borrowck/borrowck-univariant-enum.rs ... ok
test [ui] ui/borrowck/borrowck-use-mut-borrow-rpass.rs ... ok
test [ui] ui/consts/const-err2.rs#opt ... ok
test [ui] ui/consts/const-err2.rs#noopt ... ok
test [ui] ui/consts/const-err4.rs ... ok
test [ui] ui/consts/const-eval/assign-to-static-within-other-static-2.rs ... ok
test [ui] ui/consts/const-eval/assign-to-static-within-other-static.rs ... ok
test [ui] ui/borrowck/borrowck-unused-mut-locals.rs ... ok
test [ui] ui/borrowck/borrowck-unsafe-static-mutable-borrows.rs ... ok
test [ui] ui/consts/const-eval/const-eval-intrinsic-promotion.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow-2.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow-3.rs ... ok
test [ui] ui/consts/const-err2.rs#opt_with_overflow_checks ... ok
test [ui] ui/consts/const-eval/const-pointer-values-in-various-types.rs ... ignored
test [ui] ui/consts/const-eval/const-eval-overflow-3b.rs ... ok
test [ui] ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs#edition2015 ... ok
test [ui] ui/consts/const-eval/const-eval-overflow-4.rs ... ok
test [ui] ui/consts/const-eval/conditional_array_execution.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow2.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow-4b.rs ... ok
test [ui] ui/borrowck/issue-51348-multi-ref-mut-in-guard.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow2b.rs ... ok
test [ui] ui/consts/const-eval/const-eval-overflow2c.rs ... ok
test [ui] ui/consts/const-eval/const_panic.rs ... ok
test [ui] ui/consts/const-eval/const_panic_libcore.rs ... ok
test [ui] ui/consts/const-eval/const_let.rs ... ok
test [ui] ui/consts/const-eval/const_panic_libcore_main.rs ... ok
test [ui] ui/consts/const-eval/const-eval-span.rs ... ok
test [ui] ui/consts/const-eval/const_prop_errors.rs ... ok
test [ui] ui/consts/const-eval/const_raw_ptr_ops.rs ... ok
test [ui] ui/consts/const-eval/const_raw_ptr_ops2.rs ... ok
test [ui] ui/consts/const-eval/const_signed_pat.rs ... ok
test [ui] ui/consts/const-eval/dangling.rs ... ok
test [ui] ui/consts/const-eval/dont_promote_unstable_const_fn.rs ... ok
test [ui] ui/borrowck/issue-62007-assign-field.rs ... ok
test [ui] ui/consts/const-eval/const_fn_ptr_fail2.rs ... ok
test [ui] ui/consts/const-eval/double_promotion.rs ... ok
test [ui] ui/consts/const-eval/double_check2.rs ... ok
test [ui] ui/consts/const-eval/double_check.rs ... ok
test [ui] ui/borrowck/issue-52967-edition-2018-needs-two-phase-borrows.rs#edition2018 ... ok
test [ui] ui/consts/const-eval/extern_fat_pointer.rs ... ok
test [ui] ui/consts/const-eval/duration_conversion.rs ... ok
test [ui] ui/consts/const-eval/feature-gate-const_fn_union.rs ... ok
test [ui] ui/consts/const-eval/feature-gate-const_panic.rs ... ok
test [ui] ui/consts/const-eval/generic-slice.rs ... ok
test [ui] ui/consts/const-eval/dont_promote_unstable_const_fn_cross_crate.rs ... ok
test [ui] ui/consts/const-eval/ice-packed.rs ... ok
test [ui] ui/consts/const-eval/ice-generic-assoc-const.rs ... ok
test [ui] ui/consts/const-eval/index_out_of_bounds.rs ... ok
test [ui] ui/borrowck/issue-62007-assign-box.rs ... ok
test [ui] ui/borrowck/two-phase-bin-ops.rs ... ok
test [ui] ui/borrowck/two-phase-method-receivers.rs ... ok
test [ui] ui/consts/const-eval/issue-47971.rs ... ok
test [ui] ui/consts/const-eval/issue-49296.rs ... ok
test [ui] ui/consts/const-eval/issue-50706.rs ... ok
test [ui] ui/consts/const-eval/issue-52442.rs ... ok
test [ui] ui/consts/const-eval/index-out-of-bounds-never-type.rs ... ok
test [ui] ui/consts/const-eval/issue-51300.rs ... ok
test [ui] ui/consts/const-eval/index_out_of_bounds_propagated.rs ... ok
test [ui] ui/consts/const-eval/issue-43197.rs ... ok
test [ui] ui/consts/const-eval/issue-44578.rs ... ok
test [ui] ui/consts/const-eval/issue-53157.rs ... ok
test [ui] ui/consts/const-eval/issue-53401.rs ... ok
test [ui] ui/consts/const-eval/issue-50814.rs ... ok
test [ui] ui/consts/const-eval/issue-55541.rs ... ok
test [ui] ui/consts/const-eval/issue-50814-2.rs ... ok
test [ui] ui/consts/const-eval/issue-65394.rs ... ok
test [ui] ui/borrowck/two-phase-multiple-activations.rs ... ok
test [ui] ui/consts/const-eval/livedrop.rs ... ok
test [ui] ui/consts/const-eval/issue-70723.rs ... ok
test [ui] ui/consts/const-eval/match-test-ptr-null.rs ... ok
test [ui] ui/consts/const-eval/issue-70804-fn-subtyping.rs ... ok
test [ui] ui/consts/const-eval/mod-static-with-const-fn.rs ... ok
test [ui] ui/consts/const-eval/no_lint_for_statically_known_error.rs ... ok
test [ui] ui/consts/const-eval/promoted_const_fn_fail.rs ... ok
test [ui] ui/consts/const-eval/promoted_const_fn_fail_deny_const_err.rs ... ok
test [ui] ui/consts/const-eval/promote_mutable_zst_mir_borrowck.rs ... ok
test [ui] ui/consts/const-eval/promote-static.rs ... ok
test [ui] ui/consts/const-eval/panic-assoc-never-type.rs ... ok
test [ui] ui/consts/const-eval/panic-never-type.rs ... ok
test [ui] ui/borrowck/two-phase-baseline.rs ... ok
test [ui] ui/consts/const-eval/pub_const_err.rs ... ok
test [ui] ui/consts/const-eval/promoted_raw_ptr_ops.rs ... ok
test [ui] ui/box-into-boxed-slice.rs ... ok
test [ui] ui/consts/const-eval/pub_const_err_bin.rs ... ok
test [ui] ui/consts/const-eval/promoted_errors.rs#noopt ... ok
test [ui] ui/box-new.rs ... ok
test [ui] ui/consts/const-eval/ref_to_int_match.rs ... ok
test [ui] ui/consts/const-eval/shift_overflow.rs ... ok
test [ui] ui/consts/const-eval/simple_with_undef.rs ... ok
test [ui] ui/consts/const-eval/transmute-const.rs ... ok
test [ui] ui/borrowck/two-phase-control-flow-split-before-activation.rs ... ok
test [ui] ui/consts/const-eval/transmute-const-promotion.rs ... ok
test [ui] ui/consts/const-eval/promoted_errors.rs#opt ... ok
test [ui] ui/consts/const-eval/ub-int-array.rs ... ok
test [ui] ui/consts/const-eval/promoted_errors.rs#opt_with_overflow_checks ... ok
test [ui] ui/consts/const-eval/ub-nonnull.rs ... ok
test [ui] ui/consts/const-eval/ub-enum.rs ... ok
test [ui] ui/consts/const-eval/ub-ref.rs ... ok
test [ui] ui/consts/const-eval/ub-upvars.rs ... ok
test [ui] ui/consts/const-eval/ub-uninhabit.rs ... ok
test [ui] ui/consts/const-eval/union-const-eval-field.rs ... ok
test [ui] ui/consts/const-eval/union-ice.rs ... ok
test [ui] ui/consts/const-eval/ub-wide-ptr.rs ... ok
test [ui] ui/consts/const-eval/union_promotion.rs ... ok
test [ui] ui/consts/const-eval/union-ub.rs ... ok
test [ui] ui/consts/const-eval/unused-broken-const.rs ... ok
test [ui] ui/consts/const-eval/valid-const.rs ... ok
test [ui] ui/consts/const-eval/zst_operand_eval.rs ... ok
test [ui] ui/consts/const-eval/validate_uninhabited_zsts.rs ... ok
test [ui] ui/builtin-superkinds-typaram.rs ... ok
test [ui] ui/consts/const-extern-fn/const-extern-fn-call-extern-fn.rs ... ok
test [ui] ui/consts/const-extern-fn/issue-68062-const-extern-fns-dont-need-fn-specifier-2.rs ... ok
test [ui] ui/consts/const-extern-fn/const-extern-fn-min-const-fn.rs ... ok
test [ui] ui/consts/const-extern-fn/feature-gate-const_extern_fn.rs ... ok
test [ui] ui/consts/const-extern-fn/const-extern-fn-requires-unsafe.rs ... ok
test [ui] ui/builtin-superkinds-simple.rs ... ok
test [ui] ui/consts/const-extern-fn/issue-68062-const-extern-fns-dont-need-fn-specifier.rs ... ok
test [ui] ui/consts/const-expr-addr-operator.rs ... ok
test [ui] ui/bug-7295.rs ... ok
test [ui] ui/consts/const-eval/infinite_loop.rs ... ok
test [ui] ui/bug-7183-generics.rs ... ok
test [ui] ui/consts/const-fn-destructuring-arg.rs ... ok
test [ui] ui/consts/const-fn-mismatch.rs ... ok
test [ui] ui/consts/const-external-macro-const-err.rs ... ok
test [ui] ui/builtin-clone.rs ... ok
test [ui] ui/consts/const-fn-not-in-trait.rs ... ok
test [ui] ui/consts/const-fn-not-safe-for-const.rs ... ok
test [ui] ui/builtin-superkinds-in-metadata.rs ... ok
test [ui] ui/consts/const-fn-stability-calls-3.rs ... ok
test [ui] ui/consts/const-fn-zst-args.rs ... ok
test [ui] ui/builtin-superkinds-capabilities-transitive.rs ... ok
test [ui] ui/borrowck/borrowck-static-item-in-fn.rs ... ok
test [ui] ui/builtin-superkinds-capabilities.rs ... ok
test [ui] ui/can-copy-pod.rs ... ok
test [ui] ui/consts/const-int-conversion.rs ... ok
test [ui] ui/c-stack-returning-int64.rs ... ok
test [ui] ui/cancel-clean-via-immediate-rvalue-ref.rs ... ok
test [ui] ui/builtin-superkinds-phantom-typaram.rs ... ok
test [ui] ui/consts/const-int-overflowing.rs ... ok
test [ui] ui/consts/const-int-rotate.rs ... ok
test [ui] ui/byte-literals.rs ... ok
test [ui] ui/consts/const-int-sign.rs ... ok
test [ui] ui/consts/const-eval/issue-52475.rs ... ok
test [ui] ui/consts/const-int-unchecked.rs ... ok
test [ui] ui/consts/const-int-wrapping.rs ... ok
test [ui] ui/cast-does-fallback.rs ... ok
test [ui] ui/builtin-superkinds-capabilities-xc.rs ... ok
test [ui] ui/builtin-clone-unwind.rs ... ok
test [ui] ui/cast-region-to-uint.rs ... ok
test [ui] ui/cast-to-infer-ty.rs ... ok
test [ui] ui/consts/const-len-underflow-subspans.rs ... ok
test [ui] ui/consts/const-len-underflow-separate-spans.rs ... ok
test [ui] ui/cast.rs ... ok
test [ui] ui/consts/const-match-check.rs#eval2 ... ok
test [ui] ui/consts/const-match-pattern-arm.rs ... ok
test [ui] ui/consts/const-match-check.rs#eval1 ... ok
test [ui] ui/consts/const-match-check.rs#matchck ... ok
test [ui] ui/consts/const-multi-ref.rs ... ok
test [ui] ui/consts/const-mut-refs/feature-gate-const_mut_refs.rs ... ok
test [ui] ui/consts/const-mut-refs/const_mut_address_of.rs ... ok
test [ui] ui/consts/const-mut-refs/const_mut_refs.rs ... ok
test [ui] ui/cast-rfc0401-vtable-kinds.rs ... ok
test [ui] ui/consts/const-integer-bool-ops.rs ... ok
test [ui] ui/cell-does-not-clone.rs ... ok
test [ui] ui/cfg/cfg-attr-crate.rs ... ok
test [ui] ui/consts/const-pattern-irrefutable.rs ... ok
test [ui] ui/consts/const-pattern-not-const-evaluable.rs ... ok
test [ui] ui/cfg/cfg-attr-cfg.rs ... ok
test [ui] ui/consts/const-points-to-static.rs ... ok
test [ui] ui/cfg/cfg-family.rs ... ok
test [ui] ui/cfg/cfg-in-crate-1.rs ... ok
test [ui] ui/catch-unwind-bang.rs ... ok
test [ui] ui/consts/const-prop-overflowing-casts.rs ... ok
test [ui] ui/consts/const-prop-ice.rs ... ok
test [ui] ui/cast-rfc0401.rs ... ok
test [ui] ui/consts/const-prop-ice2.rs ... ok
test [ui] ui/consts/const-prop-read-static-in-const.rs ... ok
test [ui] ui/consts/const-ptr-nonnull.rs ... ok
test [ui] ui/consts/const-ptr-unique.rs ... ok
test [ui] ui/cfg/cfg-match-arm.rs ... ok
test [ui] ui/cfg/cfg-target-vendor.rs ... ok
test [ui] ui/cfg/cfg-macros-notfoo.rs ... ok
test [ui] ui/cfg/cfg-macros-foo.rs ... ok
test [ui] ui/consts/const-size_of-cycle.rs ... ok
test [ui] ui/consts/const-slice-oob.rs ... ok
test [ui] ui/cfg/cfgs-on-items.rs ... ok
test [ui] ui/cfg/cfg-target-family.rs ... ok
test [ui] ui/cfg/cfg_stmt_expr.rs ... ok
test [ui] ui/cfg/conditional-compile.rs ... ok
test [ui] ui/consts/const-tup-index-span.rs ... ok
test [ui] ui/cfg/crate-attributes-using-cfg_attr.rs ... ok
test [ui] ui/chalkify/builtin-copy-clone.rs ... ok
test [ui] ui/cfg/cfg_attr.rs ... ok
test [ui] ui/cfguard-run.rs ... ok
test [ui] ui/chalkify/inherent_impl_min.rs ... ok
test [ui] ui/chalkify/super_trait.rs ... ok
test [ui] ui/consts/const-type-mismatch.rs ... ok
test [ui] ui/consts/const-typeid-of.rs ... ok
test [ui] ui/consts/const-unsized.rs ... ok
test [ui] ui/chalkify/trait_implied_bound.rs ... ok
test [ui] ui/chalkify/inherent_impl.rs ... ok
test [ui] ui/chalkify/projection.rs ... ok
test [ui] ui/consts/const_arg_local.rs ... ignored
test [ui] ui/consts/const_arg_promotable.rs ... ignored
test [ui] ui/consts/const-validation-fail-55455.rs ... ok
test [ui] ui/consts/const_arg_wrapper.rs ... ignored
test [ui] ui/consts/const_arg_promotable2.rs ... ok
test [ui] ui/char_unicode.rs ... ok
test [ui] ui/check-static-recursion-foreign.rs ... ok
test [ui] ui/chalkify/type_implied_bound.rs ... ok
test [ui] ui/char.rs ... ok
test [ui] ui/check_const-feature-gated.rs ... ok
test [ui] ui/consts/const_forget.rs ... ok
test [ui] ui/cleanup-rvalue-during-if-and-while.rs ... ok
test [ui] ui/cleanup-arm-conditional.rs ... ok
test [ui] ui/consts/const_fn_return_nested_fn_ptr.rs ... ok
test [ui] ui/child-outlives-parent.rs ... ok
test [ui] ui/consts/const_in_pattern/custom-eq-branch-warn.rs ... ok
test [ui] ui/consts/const_in_pattern/cross-crate-fail.rs ... ok
test [ui] ui/consts/const_in_pattern/issue-65466.rs ... ignored
test [ui] ui/cleanup-rvalue-for-scope.rs ... ok
test [ui] ui/consts/const_in_pattern/no-eq-branch-fail.rs ... ok
test [ui] ui/cleanup-shortcircuit.rs ... ok
test [ui] ui/consts/const_in_pattern/reject_non_partial_eq.rs ... ok
test [ui] ui/clone-with-exterior.rs ... ok
test [ui] ui/consts/const_in_pattern/reject_non_structural.rs ... ok
test [ui] ui/close-over-big-then-small-data.rs ... ok
test [ui] ui/consts/const_let_assign3.rs ... ok
test [ui] ui/consts/const_let_assign.rs ... ok
test [ui] ui/cfg/conditional-compile-arch.rs ... ok
test [ui] ui/coercion/coerce-reborrow-imm-ptr-arg.rs ... ok
test [ui] ui/coercion/coerce-reborrow-mut-ptr-arg.rs ... ok
test [ui] ui/consts/const_let_assign2.rs ... ok
test [ui] ui/coercion/coerce-reborrow-imm-ptr-rcvr.rs ... ok
test [ui] ui/coercion/coerce-overloaded-autoderef.rs ... ok
test [ui] ui/consts/const_let_refutable.rs ... ok
test [ui] ui/cleanup-rvalue-scopes.rs ... ok
test [ui] ui/coercion/coerce-reborrow-imm-vec-arg.rs ... ok
test [ui] ui/closures/closure_no_cap_coerce_many_unsafe_1.rs ... ok
test [ui] ui/closures/closure_no_cap_coerce_many_run_pass.rs ... ok
test [ui] ui/consts/const_limit/const_eval_limit_not_reached.rs ... ok
test [ui] ui/consts/const_limit/const_eval_limit_overflow.rs ... ok
test [ui] ui/consts/const_let_irrefutable.rs ... ok
test [ui] ui/consts/const_limit/const_eval_limit_reached.rs ... ok
test [ui] ui/consts/const_prop_slice_pat_ice.rs ... ok
test [ui] ui/consts/const_short_circuit.rs ... ok
test [ui] ui/consts/const_limit/feature-gate-const_eval_limit.rs ... ok
test [ui] ui/consts/control-flow/assert.rs#panic ... ok
test [ui] ui/consts/const_let_eq_float.rs ... ok
test [ui] ui/consts/control-flow/assert.rs#stock ... ok
test [ui] ui/consts/control-flow/drop-fail.rs#precise ... ok
test [ui] ui/closures/diverging-closure.rs ... ok
test [ui] ui/consts/control-flow/drop-fail.rs#stock ... ok
test [ui] ui/cmp-default.rs ... ok
test [ui] ui/consts/control-flow/exhaustive-c-like-enum-match.rs ... ok
test [ui] ui/consts/control-flow/interior-mutability.rs ... ok
test [ui] ui/cleanup-rvalue-temp-during-incomplete-alloc.rs ... ok
test [ui] ui/consts/control-flow/feature-gate-const-if-match.rs ... ok
test [ui] ui/consts/control-flow/issue-46843.rs ... ok
test [ui] ui/codegen-object-shim.rs ... ok
test [ui] ui/coercion/coerce-expect-unsized.rs ... ok
test [ui] ui/consts/control-flow/issue-50577.rs ... ok
test [ui] ui/consts/control-flow/loop.rs ... ok
test [ui] ui/consts/control-flow/single_variant_match_ice.rs ... ok
test [ui] ui/consts/control-flow/try.rs ... ok
test [ui] ui/coercion/coerce-reborrow-imm-vec-rcvr.rs ... ok
test [ui] ui/consts/dangling-alloc-id-ice.rs ... ok
test [ui] ui/consts/dangling_raw_ptr.rs ... ok
test [ui] ui/consts/enum-discr-type-err.rs ... ok
test [ui] ui/consts/inline_asm.rs ... ok
test [ui] ui/coercion/coerce-reborrow-mut-vec-arg.rs ... ok
test [ui] ui/coercion/coerce-reborrow-mut-ptr-rcvr.rs ... ok
test [ui] ui/consts/ice-zst-static-access.rs ... ok
test [ui] ui/consts/drop_none.rs ... ok
test [ui] ui/consts/invalid_promotion.rs ... ok
test [ui] ui/consts/huge-values.rs ... ok
test [ui] ui/consts/issue-51559.rs ... ok
test [ui] ui/consts/int_ptr_for_zst_slices.rs ... ok
test [ui] ui/consts/issue-52432.rs ... ok
test [ui] ui/consts/issue-56164.rs ... ok
test [ui] ui/consts/issue-54224.rs ... ok
test [ui] ui/consts/issue-62045.rs ... ok
test [ui] ui/consts/issue-63952.rs ... ok
test [ui] ui/coercion/coerce-unify-return.rs ... ok
test [ui] ui/consts/issue-66342.rs ... ignored
test [ui] ui/consts/issue-64506.rs ... ok
test [ui] ui/consts/issue-66397.rs ... ignored
test [ui] ui/coercion/coerce-reborrow-mut-vec-rcvr.rs ... ok
test [ui] ui/consts/issue-64662.rs ... ok
test [ui] ui/cfg/cfg_inner_static.rs ... ok
test [ui] ui/consts/issue-65348.rs ... ok
test [ui] ui/consts/issue-66787.rs ... ok
test [ui] ui/consts/issue-63226.rs ... ok
test [ui] ui/consts/issue-67696-const-prop-ice.rs ... ok
test [ui] ui/consts/issue-68542-closure-in-array-len.rs ... ok
test [ui] ui/consts/issue-68684.rs ... ok
test [ui] ui/consts/issue-68264-overflow.rs ... ok
test [ui] ui/coercion/coerce-unsize-subtype.rs ... ok
test [ui] ui/consts/issue-69310-array-size-lit-wrong-ty.rs ... ok
test [ui] ui/consts/issue-69191-ice-on-uninhabited-enum-field.rs ... ok
test [ui] ui/consts/issue-69312.rs ... ok
test [ui] ui/coercion/coerce-unify.rs ... ok
test [ui] ui/consts/issue-70942-trait-vs-impl-mismatch.rs ... ok
test [ui] ui/coherence/coherence-impl-in-fn.rs ... ok
test [ui] ui/coherence/coherence-covered-type-parameter.rs ... ok
test [ui] ui/consts/match_ice.rs ... ok
test [ui] ui/consts/min_const_fn/address_of.rs ... ok
test [ui] ui/consts/min_const_fn/address_of_const.rs ... ok
test [ui] ui/coherence/coherence-blanket.rs ... ok
test [ui] ui/coherence/coherence-bigint-int.rs ... ok
test [ui] ui/coherence/coherence-bigint-vecint.rs ... ok
test [ui] ui/consts/min_const_fn/allow_const_fn_ptr.rs ... ok
test [ui] ui/consts/min_const_fn/allow_const_fn_ptr_feature_gate.rs ... ok
test [ui] ui/consts/min_const_fn/bad_const_fn_body_ice.rs ... ok
test [ui] ui/consts/min_const_fn/cast_errors.rs ... ok
test [ui] ui/consts/min_const_fn/cmp_fn_pointers.rs ... ok
test [ui] ui/coherence/coherence-negative-impls-safe-rpass.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_dyn.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_fn_ptr.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_impl_trait.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn.rs ... ok
test [ui] ui/coherence/coherence-iterator-vec-any-elem.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_unsafe_ok.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_libstd_stability.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_unsafe_bad.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_unsafe_fn_libstd_stability.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_unsafe_fn_libstd_stability2.rs ... ok
test [ui] ui/consts/min_const_fn/mutable_borrow.rs ... ok
test [ui] ui/consts/miri_unleashed/abi-mismatch.rs ... ok
test [ui] ui/consts/min_const_fn/min_const_fn_libstd.rs ... ok
test [ui] ui/consts/min_const_fn/promotion.rs ... ok
test [ui] ui/consts/miri_unleashed/box.rs ... ok
test [ui] ui/consts/miri_unleashed/const_refers_to_static2.rs ... ok
test [ui] ui/coherence/coherence-iterator-vec.rs ... ok
test [ui] ui/consts/miri_unleashed/inline_asm.rs ... ignored
test [ui] ui/consts/miri_unleashed/feature-gate-unleash_the_miri_inside_of_you.rs ... ok
test [ui] ui/coherence/coherence-multidispatch-tuple.rs ... ok
test [ui] ui/consts/miri_unleashed/assoc_const.rs ... ok
test [ui] ui/consts/miri_unleashed/assoc_const_2.rs ... ok
test [ui] ui/consts/miri_unleashed/drop.rs ... ok
test [ui] ui/consts/miri_unleashed/const_refers_to_static.rs ... ok
test [ui] ui/consts/miri_unleashed/mutable_references.rs ... ok
test [ui] ui/consts/miri_unleashed/mutating_global.rs ... ok
test [ui] ui/consts/miri_unleashed/non_const_fn.rs ... ok
test [ui] ui/consts/miri_unleashed/const_refers_to_static_cross_crate.rs ... ok
test [ui] ui/consts/miri_unleashed/ptr_arith.rs ... ok
test [ui] ui/consts/miri_unleashed/raw_mutable_const.rs ... ok
test [ui] ui/consts/miri_unleashed/mutable_references_err.rs ... ok
test [ui] ui/coherence/re-rebalance-coherence-default-generic-associated-type.rs ... ok
test [ui] ui/coherence/re-rebalance-coherence.rs ... ok
test [ui] ui/coherence/coherence-where-clause.rs ... ok
test [ui] ui/coherence/coherence-rfc447-constrained.rs ... ok
test [ui] ui/consts/miri_unleashed/tls.rs ... ok
test [ui] ui/consts/offset_from_ub.rs ... ok
test [ui] ui/consts/offset_ub.rs ... ok
test [ui] ui/coherence/coherence_copy_like.rs ... ok
test [ui] ui/consts/partial_qualif.rs ... ok
test [ui] ui/consts/projection_qualif.rs#mut_refs ... ok
test [ui] ui/complex.rs ... ok
test [ui] ui/consts/projection_qualif.rs#stock ... ok
test [ui] ui/consts/promote_const_let.rs ... ok
test [ui] ui/command/command-argv0-debug.rs ... ok
test [ui] ui/consts/promote_evaluation_unused_result.rs ... ok
test [ui] ui/consts/promote_fn_calls_std.rs ... ok
test [ui] ui/consts/promoted-validation-55454.rs ... ok
test [ui] ui/consts/qualif_overwrite_2.rs ... ok
test [ui] ui/consts/qualif_overwrite.rs ... ok
test [ui] ui/consts/promoted_regression.rs ... ok
test [ui] ui/const-generics/broken-mir-1.rs ... ok
test [ui] ui/concat-rpass.rs ... ok
test [ui] ui/consts/raw_pointer_promoted.rs ... ok
test [ui] ui/consts/promote_fn_calls.rs ... ok
test [ui] ui/consts/read_from_static_mut_ref.rs ... ok
test [ui] ui/consts/raw-ptr-const.rs ... ok
test [ui] ui/consts/recursive-zst-static.rs#default ... ok
test [ui] ui/consts/recursive-zst-static.rs#unleash ... ok
test [ui] ui/const-generics/condition-in-trait-const-arg.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/migrate-fail.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-non-const.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/migrate-pass.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/nll-pass.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/nll-fail.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/trait-error.rs ... ok
test [ui] ui/consts/self_normalization.rs ... ok
test [ui] ui/consts/self_normalization2.rs ... ok
test [ui] ui/const-generics/concrete-const-impl-method.rs ... ok
test [ui] ui/consts/static-cycle-error.rs ... ok
test [ui] ui/const-generics/array-wrapper-struct-ctor.rs ... ok
test [ui] ui/const-generics/concrete-const-as-fn-arg.rs ... ok
test [ui] ui/const-generics/const-generic-array-wrapper.rs ... ok
test [ui] ui/consts/static_mut_containing_mut_ref2.rs#mut_refs ... ok
test [ui] ui/const-generics/const-fn-with-const-param.rs ... ok
test [ui] ui/consts/static_mut_containing_mut_ref.rs ... ok
test [ui] ui/consts/static_mut_containing_mut_ref2.rs#stock ... ok
test [ui] ui/consts/static_mut_containing_mut_ref3.rs ... ok
test [ui] ui/consts/std/alloc.rs ... ok
test [ui] ui/consts/std/cell.rs ... ok
test [ui] ui/consts/too_generic_eval_ice.rs ... ok
test [ui] ui/const-generics/const-generic-type_name.rs ... ok
test [ui] ui/consts/transmute-size-mismatch-before-typeck.rs ... ok
test [ui] ui/consts/std/slice.rs ... ok
test [ui] ui/const-generics/const-param-in-trait.rs ... ok
test [ui] ui/const-generics/const-arg-in-fn.rs ... ok
test [ui] ui/const-generics/const-types.rs ... ok
test [ui] ui/const-generics/impl-const-generic-struct.rs ... ok
test [ui] ui/consts/unsizing-cast-non-null.rs ... ok
test [ui] ui/consts/unstable-const-fn-in-libcore.rs ... ok
test [ui] ui/const-generics/const-argument-cross-crate.rs ... ok
test [ui] ui/consts/union_constant.rs ... ok
test [ui] ui/consts/underscore_const_names.rs ... ok
test [ui] ui/consts/validate_never_arrays.rs ... ok
test [ui] ui/continue-after-missing-main.rs ... ok
test [ui] ui/consts/uninhabited-const-issue-61744.rs ... ok
test [ui] ui/crate-in-paths.rs ... ok
test [ui] ui/copy-a-resource.rs ... ok
test [ui] ui/const-generics/issues/issue-61432.rs ... ok
test [ui] ui/const-generics/fn-taking-const-generic-array.rs ... ok
test [ui] ui/crate-name-mismatch.rs ... ok
test [ui] ui/conversion-methods.rs ... ok
test [ui] ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs ... ok
test [ui] ui/const-generics/issues/issue-62579-no-match.rs ... ok
test [ui] ui/const-generics/infer_arg_from_pat.rs ... ok
test [ui] ui/const-generics/mut-ref-const-param-array.rs ... ok
test [ui] ui/const-generics/issues/issue-70125-1.rs ... ok
test [ui] ui/const-generics/transparent-maybeunit-array-wrapper.rs ... ok
test [ui] ui/const-generics/type_of_anon_const.rs ... ok
test [ui] ui/const-generics/slice-const-param.rs ... ok
test [ui] ui/consts/chained-constants-stackoverflow.rs ... ok
test [ui] ui/const-generics/issue-68104-print-stack-overflow.rs ... ok
test [ui] ui/consts/bswap-const.rs ... ok
test [ui] ui/consts/const-adt-align-mismatch.rs ... ok
test [ui] ui/const-generics/uninferred-consts-during-codegen-2.rs ... ok
test [ui] ui/consts/const-autoderef.rs ... ok
test [ui] ui/consts/cast-discriminant-zst-enum.rs ... ok
test [ui] ui/consts/const-big-enum.rs ... ok
test [ui] ui/cross/cross-borrow-trait.rs ... ok
test [ui] ui/cross/cross-file-errors/main.rs ... ok
test [ui] ui/cross/cross-file-errors/underscore.rs ... ignored
test [ui] ui/cross/cross-crate-macro-backtrace/main.rs ... ok
test [ui] ui/cross/cross-fn-cache-hole.rs ... ok
test [ui] ui/crt-static-on-works.rs ... ignored
test [ui] ui/custom-attribute-multisegment.rs ... ok
test [ui] ui/consts/const-block-item.rs ... ok
test [ui] ui/consts/const-binops.rs ... ok
test [ui] ui/consts/const-bitshift-rhs-inference.rs ... ok
test [ui] ui/custom_attribute.rs ... ok
test [ui] ui/consts/const-block-non-item-statement-rpass.rs ... ok
test [ui] ui/const-generics/uninferred-consts-during-codegen-1.rs ... ok
test [ui] ui/consts/const-block-item-macro-codegen.rs ... ok
test [ui] ui/consts/const-bound.rs ... ok
test [ui] ui/cycle-projection-based-on-where-clause.rs ... ok
test [ui] ui/cycle-trait/cycle-trait-default-type-trait.rs ... ok
test [ui] ui/consts/const-block-non-item-statement-3.rs ... ok
test [ui] ui/cycle-trait/cycle-trait-supertrait-direct.rs ... ok
test [ui] ui/cycle-trait/cycle-trait-supertrait-indirect.rs ... ok
test [ui] ui/consts/ascii_ctype.rs ... ok
test [ui] ui/deduplicate-diagnostics.rs#deduplicate ... ok
test [ui] ui/const-generics/issues/issue-70125-2.rs ... ok
test [ui] ui/deduplicate-diagnostics.rs#duplicate ... ok
test [ui] ui/consts/const-cast-ptr-int.rs ... ok
test [ui] ui/deduplicate-diagnostics-2.rs#deduplicate ... ok
test [ui] ui/consts/const-block.rs ... ok
test [ui] ui/deduplicate-diagnostics-2.rs#duplicate ... ok
test [ui] ui/custom_test_frameworks/mismatch.rs ... ok
test [ui] ui/consts/const-const.rs ... ok
test [ui] ui/definition-reachable/private-non-types.rs ... ok
test [ui] ui/consts/const-block-cross-crate-fn.rs ... ok
test [ui] ui/consts/const-cast.rs ... ok
test [ui] ui/definition-reachable/private-types.rs ... ok
test [ui] ui/dep-graph/dep-graph-caller-callee.rs ... ok
test [ui] ui/dep-graph/dep-graph-assoc-type-codegen.rs ... ok
test [ui] ui/dep-graph/dep-graph-trait-impl-two-traits-same-method.rs ... ok
test [ui] ui/dep-graph/dep-graph-struct-signature.rs ... ok
test [ui] ui/consts/const-contents.rs ... ok
test [ui] ui/consts/const-endianess.rs ... ok
test [ui] ui/consts/const-deref.rs ... ok
test [ui] ui/consts/const-enum-byref.rs ... ok
test [ui] ui/dep-graph/dep-graph-trait-impl.rs ... ok
test [ui] ui/dep-graph/dep-graph-trait-impl-two-traits.rs ... ok
test [ui] ui/dep-graph/dep-graph-type-alias.rs ... ok
test [ui] ui/dep-graph/dep-graph-variance-alias.rs ... ok
test [ui] ui/deprecation/deprecated_no_stack_check.rs ... ok
test [ui] ui/command/command-uid-gid.rs ... ok
test [ui] ui/deprecation/deprecation-in-staged-api.rs ... ok
test [ui] ui/deprecation/deprecation-in-future.rs ... ok
test [ui] ui/deprecation/atomic_initializers.rs ... ok
test [ui] ui/consts/const-cross-crate-const.rs ... ok
test [ui] ui/consts/const-enum-cast.rs ... ok
test [ui] ui/deprecation/deprecation-lint-nested.rs ... ok
test [ui] ui/deprecation/deprecation-sanity.rs ... ok
test [ui] ui/consts/const-enum-byref-self.rs ... ok
test [ui] ui/deprecation/deprecation-lint-2.rs ... ok
test [ui] ui/consts/const-enum-struct.rs ... ok
test [ui] ui/deprecation/invalid-literal.rs ... ok
test [ui] ui/consts/const-enum-structlike.rs ... ok
test [ui] ui/deprecation/issue-66340-deprecated-attr-non-meta-grammar.rs ... ok
test [ui] ui/deprecation/deprecation-lint-3.rs ... ok
test [ui] ui/deprecation/rustc_deprecation-in-future.rs ... ok
test [ui] ui/deprecation/derive_on_deprecated_forbidden.rs ... ok
test [ui] ui/deprecation/deprecation-lint.rs ... ok
test [ui] ui/consts/const-enum-ptr.rs ... ok
test [ui] ui/deprecation/derive_on_deprecated.rs ... ok
test [ui] ui/deref-non-pointer.rs ... ok
test [ui] ui/consts/const-cross-crate-extern.rs ... ok
test [ui] ui/deprecation/suggestion.rs ... ok
test [ui] ui/consts/const-enum-struct2.rs ... ok
test [ui] ui/derive-uninhabited-enum-38885.rs ... ok
test [ui] ui/derived-errors/issue-31997.rs ... ok
test [ui] ui/derived-errors/issue-30580.rs ... ok
test [ui] ui/derives/derive-assoc-type-not-impl.rs ... ok
test [ui] ui/derived-errors/issue-31997-1.rs ... ok
test [ui] ui/derives/derive-on-trait-item-or-impl-item.rs ... ok
test [ui] ui/deref-suggestion.rs ... ok
test [ui] ui/derives/derives-span-Clone-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-Clone-struct.rs ... ok
test [ui] ui/derives/derives-span-Clone-enum.rs ... ok
test [ui] ui/derives/derives-span-Clone-tuple-struct.rs ... ok
test [ui] ui/derives/derives-span-Debug-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-Debug-enum.rs ... ok
test [ui] ui/derives/derives-span-Debug-tuple-struct.rs ... ok
test [ui] ui/derives/derives-span-Debug-struct.rs ... ok
test [ui] ui/derives/derives-span-Default-struct.rs ... ok
test [ui] ui/derives/derives-span-Default-tuple-struct.rs ... ok
test [ui] ui/derives/derive-hygiene.rs ... ok
test [ui] ui/derives/derives-span-Eq-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-Eq-enum.rs ... ok
test [ui] ui/derives/derives-span-Eq-struct.rs ... ok
test [ui] ui/derives/derives-span-Eq-tuple-struct.rs ... ok
test [ui] ui/derives/derives-span-Hash-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-Hash-tuple-struct.rs ... ok
test [ui] ui/derives/derives-span-Hash-struct.rs ... ok
test [ui] ui/derives/derives-span-Hash-enum.rs ... ok
test [ui] ui/consts/const-enum-vector.rs ... ok
test [ui] ui/derives/derives-span-Ord-enum-struct-variant.rs ... ok
test [ui] ui/command/command-argv0.rs ... ok
test [ui] ui/consts/const-enum-tuplestruct2.rs ... ok
test [ui] ui/derives/derives-span-Ord-enum.rs ... ok
test [ui] ui/derives/derives-span-PartialEq-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-PartialEq-enum.rs ... ok
test [ui] ui/consts/const-enum-tuple.rs ... ok
test [ui] ui/derives/derives-span-Ord-struct.rs ... ok
test [ui] ui/derives/derives-span-PartialEq-struct.rs ... ok
test [ui] ui/derives/derives-span-PartialEq-tuple-struct.rs ... ok
test [ui] ui/derives/derives-span-Ord-tuple-struct.rs ... ok
test [ui] ui/consts/const-enum-tuple2.rs ... ok
test [ui] ui/derives/deriving-bounds.rs ... ok
test [ui] ui/derives/deriving-meta-unknown-trait.rs ... ok
test [ui] ui/derives/deriving-meta-empty-trait-list.rs ... ok
test [ui] ui/derives/deriving-copyclone.rs ... ok
test [ui] ui/derives/derives-span-PartialOrd-struct.rs ... ok
test [ui] ui/derives/derives-span-PartialOrd-enum-struct-variant.rs ... ok
test [ui] ui/derives/derives-span-PartialOrd-enum.rs ... ok
test [ui] ui/derives/deriving-non-type.rs ... ok
test [ui] ui/derives/derives-span-PartialOrd-tuple-struct.rs ... ok
test [ui] ui/derives/deriving-no-inner-impl-error-message.rs ... ok
test [ui] ui/consts/const-enum-vec-ptr.rs ... ok
test [ui] ui/consts/const-enum-tuplestruct.rs ... ok
test [ui] ui/consts/const-eval/const_fn_ptr_fail.rs ... ok
test [ui] ui/derives/deriving-primitive.rs ... ok
test [ui] ui/derives/deriving-with-repr-packed.rs ... ok
test [ui] ui/derives/derive-marker-tricky.rs ... ok
test [ui] ui/consts/const-eval/enum_discr.rs ... ok
test [ui] ui/consts/const-err-rpass.rs ... ok
test [ui] ui/consts/const-eval/const_fn_ptr.rs ... ok
test [ui] ui/consts/const-enum-vec-index.rs ... ok
test [ui] ui/consts/const-eval/issue-64970.rs ... ok
test [ui] ui/consts/const-eval/simd/insert_extract.rs ... ok
test [ui] ui/consts/const-eval/nrvo.rs ... ok
test [ui] ui/consts/const-eval/const_transmute.rs ... ok
test [ui] ui/consts/const-eval/issue-64908.rs ... ok
test [ui] ui/consts/const-expr-in-fixed-length-vec.rs ... ok
test [ui] ui/consts/const-eval/write-to-uninhabited-enum-variant.rs ... ok
test [ui] ui/consts/const-eval/strlen.rs ... ok
test [ui] ui/consts/const-byte-str-cast.rs ... ok
test [ui] ui/consts/assoc-const.rs ... ok
test [ui] ui/consts/const-extern-function.rs ... ok
test [ui] ui/consts/const-fn-const-eval.rs ... ok
test [ui] ui/consts/const-extern-fn/const-extern-fn.rs ... ok
test [ui] ui/consts/const-fields-and-indexing.rs ... ok
test [ui] ui/consts/const-expr-in-vec-repeat.rs ... ok
test [ui] ui/consts/const-fn-method.rs ... ok
test [ui] ui/consts/const-fn-feature-flags.rs ... ok
test [ui] ui/consts/const-fn-type-name.rs ... ok
test [ui] ui/consts/const-index-feature-gate.rs ... ok
test [ui] ui/consts/const-fn-stability-calls.rs ... ok
test [ui] ui/consts/const-int-conversion-rpass.rs ... ok
test [ui] ui/destructure-trait-ref.rs ... ok
test [ui] ui/destructuring-assignment/note-unsupported.rs ... ok
test [ui] ui/consts/const-fn.rs ... ok
test [ui] ui/did_you_mean/E0178.rs ... ok
test [ui] ui/consts/const-int-arithmetic.rs ... ok
test [ui] ui/consts/const-int-arithmetic-overflow.rs ... ok
test [ui] ui/consts/const-int-rotate-rpass.rs ... ok
test [ui] ui/did_you_mean/bad-assoc-expr.rs ... ok
test [ui] ui/consts/const-int-overflowing-rpass.rs ... ok
test [ui] ui/did_you_mean/bad-assoc-ty.rs ... ok
test [ui] ui/consts/const-fn-type-name-any.rs ... ok
test [ui] ui/did_you_mean/bad-assoc-pat.rs ... ok
test [ui] ui/did_you_mean/issue-21659-show-relevant-trait-impls-1.rs ... ok
test [ui] ui/did_you_mean/issue-34126.rs ... ok
test [ui] ui/did_you_mean/issue-31424.rs ... ok
test [ui] ui/borrowck/borrowck-assign-to-subfield.rs ... ok
test [ui] ui/did_you_mean/issue-21659-show-relevant-trait-impls-2.rs ... ok
test [ui] ui/did_you_mean/issue-34337.rs ... ok
test [ui] ui/did_you_mean/issue-35937.rs ... ok
test [ui] ui/did_you_mean/issue-37139.rs ... ok
test [ui] ui/did_you_mean/issue-36798_unknown_field.rs ... ok
test [ui] ui/did_you_mean/issue-36798.rs ... ok
test [ui] ui/consts/const-fn-nested.rs ... ok
test [ui] ui/consts/const-fn-val.rs ... ok
test [ui] ui/did_you_mean/issue-38054-do-not-show-unresolved-names.rs ... ok
test [ui] ui/consts/const-int-sign-rpass.rs ... ok
test [ui] ui/did_you_mean/issue-38147-1.rs ... ok
test [ui] ui/did_you_mean/issue-38147-2.rs ... ok
test [ui] ui/did_you_mean/issue-38147-3.rs ... ok
test [ui] ui/did_you_mean/issue-40396.rs ... ok
test [ui] ui/did_you_mean/issue-38147-4.rs ... ok
test [ui] ui/did_you_mean/issue-39544.rs ... ok
test [ui] ui/did_you_mean/issue-40823.rs ... ok
test [ui] ui/did_you_mean/issue-39802-show-5-trait-impls.rs ... ok
test [ui] ui/did_you_mean/issue-40006.rs ... ok
test [ui] ui/consts/const-int-saturating-arith.rs ... ok
test [ui] ui/did_you_mean/issue-46836-identifier-not-instead-of-negation.rs ... ok
test [ui] ui/did_you_mean/issue-46718-struct-pattern-dotdotdot.rs ... ok
test [ui] ui/did_you_mean/issue-43871-enum-instead-of-variant.rs ... ok
test [ui] ui/did_you_mean/issue-42599_available_fields_note.rs ... ok
test [ui] ui/consts/const-int-pow-rpass.rs ... ok
test [ui] ui/did_you_mean/issue-48492-tuple-destructure-missing-parens.rs ... ok
test [ui] ui/directory_ownership/macro_expanded_mod_helper/foo/bar.rs ... ignored
test [ui] ui/directory_ownership/macro_expanded_mod_helper/foo/mod.rs ... ignored
test [ui] ui/directory_ownership/mod_file_not_owning_aux1.rs ... ignored
test [ui] ui/directory_ownership/mod_file_not_owning_aux2.rs ... ignored
test [ui] ui/directory_ownership/mod_file_not_owning_aux3.rs ... ignored
test [ui] ui/did_you_mean/issue-41679-tilde-bitwise-negation-attempt.rs ... ok
test [ui] ui/did_you_mean/issue-49746-unicode-confusable-in-float-literal-expt.rs ... ok
test [ui] ui/did_you_mean/issue-56028-there-is-an-enum-variant.rs ... ok
test [ui] ui/did_you_mean/pub-macro-rules.rs ... ok
test [ui] ui/did_you_mean/recursion_limit_macro.rs ... ok
test [ui] ui/did_you_mean/issue-42764.rs ... ok
test [ui] ui/did_you_mean/trait-object-reference-without-parens-suggestion.rs ... ok
test [ui] ui/did_you_mean/recursion_limit.rs ... ok
test [ui] ui/directory_ownership/macro-expanded-mod.rs ... ok
test [ui] ui/directory_ownership/non-inline-mod-restriction.rs ... ok
test [ui] ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-let.rs ... ok
test [ui] ui/discrim/discrim-overflow-2.rs ... ok
test [ui] ui/did_you_mean/issue-54109-without-witness.rs ... ok
test [ui] ui/discrim/discrim-ill-typed.rs ... ok
test [ui] ui/did_you_mean/issue-54109-and_instead_of_ampersands.rs ... ok
test [ui] ui/disallowed-deconstructing/disallowed-deconstructing-destructing-struct-match.rs ... ok
test [ui] ui/did_you_mean/recursion_limit_deref.rs ... ok
test [ui] ui/did_you_mean/issue-53280-expected-float-found-integer-literal.rs ... ok
test [ui] ui/discrim/discrim-overflow.rs ... ok
test [ui] ui/does-nothing.rs ... ok
test [ui] ui/dollar-crate/dollar-crate-is-keyword-2.rs ... ok
test [ui] ui/dollar-crate/dollar-crate-is-keyword.rs ... ok
test [ui] ui/double-import.rs ... ok
test [ui] ui/dotdotdot-expr.rs ... ok
test [ui] ui/double-type-import.rs ... ok
test [ui] ui/diverging-tuple-parts-39485.rs ... ok
test [ui] ui/diverging-fn-tail-35849.rs ... ok
test [ui] ui/dont-suggest-private-trait-method.rs ... ok
test [ui] ui/consts/const-meth-pattern.rs ... ok
test [ui] ui/consts/const-int-wrapping-rpass.rs ... ok
test [ui] ui/consts/const-labeled-break.rs ... ok
test [ui] ui/consts/const-nullary-enum.rs ... ok
test [ui] ui/consts/const-negation.rs ... ok
test [ui] ui/consts/const-negative.rs ... ok
test [ui] ui/consts/const-needs_drop.rs ... ok
test [ui] ui/dropck/drop-on-non-struct.rs ... ok
test [ui] ui/consts/const-nonzero.rs ... ok
test [ui] ui/dropck/drop-with-active-borrows-1.rs ... ok
test [ui] ui/dropck/drop-with-active-borrows-2.rs ... ok
test [ui] ui/consts/const-nullary-univariant-enum.rs ... ok
test [ui] ui/dropck/dropck-eyepatch-implies-unsafe-impl.rs ... ok
test [ui] ui/dropck/dropck-eyepatch-reorder.rs ... ok
test [ui] ui/dropck/dropck-eyepatch.rs ... ok
test [ui] ui/dropck/dropck-eyepatch-extern-crate.rs ... ok
test [ui] ui/dropck/dropck_no_diverge_on_nonregular_1.rs ... ok
test [ui] ui/dropck/dropck-union.rs ... ok
test [ui] ui/dropck/dropck_no_diverge_on_nonregular_2.rs ... ok
test [ui] ui/consts/const-pattern-variant.rs ... ok
test [ui] ui/dropck/dropck_no_diverge_on_nonregular_3.rs ... ok
test [ui] ui/dst/dst-bad-assign-2.rs ... ok
test [ui] ui/dropck/dropck_trait_cycle_checked.rs ... ok
test [ui] ui/dst/dst-bad-assign.rs ... ok
test [ui] ui/dst/dst-bad-assign-3.rs ... ok
test [ui] ui/dst/dst-bad-coerce1.rs ... ok
test [ui] ui/dst/dst-bad-coerce2.rs ... ok
test [ui] ui/consts/const-prop-ice3.rs ... ok
test [ui] ui/dst/dst-bad-coerce3.rs ... ok
test [ui] ui/consts/const-ptr-nonnull-rpass.rs ... ok
test [ui] ui/dst/dst-bad-coerce4.rs ... ok
test [ui] ui/dst/dst-bad-deep-2.rs ... ok
test [ui] ui/dst/dst-bad-deep.rs ... ok
test [ui] ui/dst/dst-bad-coercions.rs ... ok
test [ui] ui/consts/const-struct-offsets.rs ... ok
test [ui] ui/dst/dst-object-from-unsized-type.rs ... ok
test [ui] ui/dst/dst-index.rs ... ok
test [ui] ui/dst/dst-rvalue.rs ... ok
test [ui] ui/consts/const-region-ptrs-noncopy.rs ... ok
test [ui] ui/consts/const-ptr-unique-rpass.rs ... ok
test [ui] ui/dst/dst-sized-trait-param.rs ... ok
test [ui] ui/duplicate/dupe-symbols-3.rs ... ok
test [ui] ui/duplicate/dupe-symbols-1.rs ... ok
test [ui] ui/duplicate/dupe-symbols-2.rs ... ok
test [ui] ui/duplicate/dupe-symbols-6.rs ... ok
test [ui] ui/duplicate/dupe-symbols-4.rs ... ok
test [ui] ui/duplicate/duplicate-parameter.rs ... ok
test [ui] ui/duplicate/duplicate-check-macro-exports.rs ... ok
test [ui] ui/duplicate/dupe-symbols-5.rs ... ok
test [ui] ui/consts/const-rec-and-tup.rs ... ok
test [ui] ui/duplicate/dupe-symbols-7.rs ... ok
test [ui] ui/duplicate/duplicate-type-parameter.rs ... ok
test [ui] ui/duplicate_entry_error.rs ... ok
test [ui] ui/consts/const-region-ptrs.rs ... ok
test [ui] ui/duplicate/dupe-symbols-8.rs ... ok
test [ui] ui/dyn-trait-compatibility.rs ... ok
test [ui] ui/dyn-keyword/issue-56327-dyn-trait-in-macro-is-okay.rs ... ok
test [ui] ui/dyn-keyword/dyn-2015-edition-keyword-ident-lint.rs ... ok
test [ui] ui/dyn-keyword/dyn-2015-idents-in-macros-unlinted.rs ... ok
test [ui] ui/dyn-keyword/dyn-2015-idents-in-decl-macros-unlinted.rs ... ok
test [ui] ui/dyn-keyword/dyn-2015-no-warnings-without-lints.rs ... ok
test [ui] ui/consts/const-repeated-values.rs ... ok
test [ui] ui/consts/const-struct.rs ... ok
test [ui] ui/consts/const-trait-to-trait.rs ... ok
test [ui] ui/consts/const-str-ptr.rs ... ok
test [ui] ui/consts/const-vec-syntax.rs ... ok
test [ui] ui/consts/const-unsafe-fn.rs ... ok
test [ui] ui/consts/const-tuple-struct.rs ... ok
test [ui] ui/consts/const-vec-of-fns.rs ... ok
test [ui] ui/consts/const-size_of-align_of.rs ... ok
test [ui] ui/consts/const-unit-struct.rs ... ok
test [ui] ui/consts/const-variant-count.rs ... ok
test [ui] ui/consts/const_constructor/const-construct-call.rs#const_fn ... ok
test [ui] ui/consts/const-typeid-of-rpass.rs ... ok
test [ui] ui/consts/const-vecs-and-slices.rs ... ok
test [ui] ui/editions/async-block-2015.rs ... ok
test [ui] ui/editions/edition-extern-crate-allowed.rs ... ok
test [ui] ui/editions/edition-feature-ok.rs ... ok
test [ui] ui/editions/edition-feature-redundant.rs ... ok
test [ui] ui/consts/const_constructor/const-construct-call.rs#min_const_fn ... ok
test [ui] ui/consts/const_in_pattern/cross-crate-pass.rs ... ok
test [ui] ui/consts/const_constructor/const_constructor_qpath.rs#min_const_fn ... ok
test [ui] ui/consts/const_constructor/const_constructor_qpath.rs#const_fn ... ok
test [ui] ui/editions/edition-imports-2018.rs ... ok
test [ui] ui/editions/edition-imports-2015.rs ... ok
test [ui] ui/editions/edition-imports-virtual-2015-gated.rs ... ok
test [ui] ui/consts/const_in_pattern/custom-eq-branch-pass.rs ... ok
test [ui] ui/editions/edition-imports-virtual-2015-ambiguity.rs ... ok
test [ui] ui/consts/const.rs ... ok
test [ui] ui/editions/edition-keywords-2015-2015-parsing.rs ... ok
test [ui] ui/editions/edition-keywords-2015-2018-expansion.rs ... ok
test [ui] ui/editions/edition-keywords-2015-2015-expansion.rs ... ok
test [ui] ui/editions/edition-raw-pointer-method-2015.rs ... ok
test [ui] ui/consts/const_discriminant.rs ... ok
test [ui] ui/editions/edition-keywords-2015-2018-parsing.rs ... ok
test [ui] ui/editions/edition-raw-pointer-method-2018.rs ... ok
test [ui] ui/elide-errors-on-mismatched-tuple.rs ... ok
test [ui] ui/elided-test.rs ... ok
test [ui] ui/editions/edition-keywords-2018-2018-expansion.rs ... ok
test [ui] ui/consts/const_in_pattern/issue-73431.rs ... ok
test [ui] ui/emit-artifact-notifications.rs ... ok
test [ui] ui/empty/empty-comment.rs ... ok
test [ui] ui/editions/edition-keywords-2018-2015-expansion.rs ... ok
test [ui] ui/consts/const_let_promote.rs ... ok
test [ui] ui/editions/edition-keywords-2018-2015-parsing.rs ... ok
test [ui] ui/empty/empty-linkname.rs ... ok
test [ui] ui/editions/edition-keywords-2018-2018-parsing.rs ... ok
test [ui] ui/consts/consts-in-patterns.rs ... ok
test [ui] ui/empty/empty-never-array.rs ... ok
test [ui] ui/empty/empty-macro-use.rs ... ok
test [ui] ui/consts/control-flow/drop-pass.rs#precise ... ok
test [ui] ui/empty/empty-struct-braces-pat-3.rs ... ok
test [ui] ui/empty/empty-struct-braces-pat-2.rs ... ok
test [ui] ui/empty/empty-struct-braces-pat-1.rs ... ok
test [ui] ui/consts/control-flow/drop-precise.rs ... ok
test [ui] ui/empty/empty-struct-braces-expr.rs ... ok
test [ui] ui/consts/const_let_eq.rs ... ok
test [ui] ui/enum-discriminant/arbitrary_enum_discriminant-no-repr.rs ... ok
test [ui] ui/empty/empty-struct-unit-expr.rs ... ok
test [ui] ui/empty/empty-struct-unit-pat.rs ... ok
test [ui] ui/empty/empty-struct-tuple-pat.rs ... ok
test [ui] ui/enum-discriminant/forbidden-discriminant-kind-impl.rs ... ok
test [ui] ui/enum-discriminant/feature-gate-arbitrary_enum_discriminant.rs ... ok
test [ui] ui/enum-discriminant/issue-70453-generics-in-discr-ice.rs ... ok
test [ui] ui/enum-discriminant/issue-70453-generics-in-discr-ice-2.rs ... ok
test [ui] ui/consts/const_in_pattern/accept_structural.rs ... ok
test [ui] ui/consts/const_in_pattern/warn_corner_cases.rs ... ok
test [ui] ui/enable-unstable-lib-feature.rs ... ok
test [ui] ui/consts/const_in_pattern/issue-62614.rs ... ok
test [ui] ui/consts/control-flow/drop-pass.rs#stock ... ok
test [ui] ui/enum/enum-and-module-in-same-scope.rs ... ok
test [ui] ui/enum/enum-discrim-autosizing.rs ... ok
test [ui] ui/enum/enum-discrim-too-small.rs ... ok
test [ui] ui/consts/issue-37550.rs ... ok
test [ui] ui/enum/enum-discrim-too-small2.rs ... ok
test [ui] ui/enum/enum-in-scope.rs ... ok
test [ui] ui/enum/enum-variant-type-2.rs ... ok
test [ui] ui/enum/enum-to-float-cast-2.rs ... ok
test [ui] ui/enum/enum-to-float-cast.rs ... ok
test [ui] ui/consts/control-flow/short-circuit.rs ... ok
test [ui] ui/enum/issue-67945-1.rs ... ok
test [ui] ui/enum/nested-enum.rs ... ok
test [ui] ui/enums-pats-not-idents.rs ... ok
test [ui] ui/enum/issue-67945-2.rs ... ok
test [ui] ui/enum/union-in-enum.rs ... ok
test [ui] ui/consts/is_ascii.rs ... ok
test [ui] ui/consts/control-flow/basics.rs ... ok
test [ui] ui/consts/ice-48279.rs ... ok
test [ui] ui/error-codes/E0001.rs ... ok
test [ui] ui/consts/references.rs ... ok
test [ui] ui/error-codes/E0004-2.rs ... ok
test [ui] ui/consts/control-flow/short-circuit-let.rs ... ok
test [ui] ui/error-codes/E0005.rs ... ok
test [ui] ui/error-codes/E0004.rs ... ok
test [ui] ui/consts/deref_in_pattern.rs ... ok
test [ui] ui/error-codes/E0007.rs ... ok
test [ui] ui/error-codes/E0010-teach.rs ... ok
test [ui] ui/error-codes/E0010.rs ... ok
test [ui] ui/error-codes/E0017.rs ... ok
test [ui] ui/error-codes/E0023.rs ... ok
test [ui] ui/error-codes/E0026-teach.rs ... ok
test [ui] ui/error-codes/E0025.rs ... ok
test [ui] ui/error-codes/E0026.rs ... ok
test [ui] ui/error-codes/E0029-teach.rs ... ok
test [ui] ui/consts/issue-64059.rs#opt_with_overflow_checks ... ok
test [ui] ui/error-codes/E0029.rs ... ok
test [ui] ui/error-codes/E0027.rs ... ok
test [ui] ui/error-codes/E0027-teach.rs ... ok
test [ui] ui/consts/issue-64059.rs#opt ... ok
test [ui] ui/error-codes/E0030-teach.rs ... ok
test [ui] ui/error-codes/E0030.rs ... ok
test [ui] ui/error-codes/E0034.rs ... ok
test [ui] ui/error-codes/E0033-teach.rs ... ok
test [ui] ui/error-codes/E0033.rs ... ok
test [ui] ui/error-codes/E0038.rs ... ok
test [ui] ui/error-codes/E0044.rs ... ok
test [ui] ui/error-codes/E0045.rs ... ok
test [ui] ui/error-codes/E0050.rs ... ok
test [ui] ui/error-codes/E0049.rs ... ok
test [ui] ui/error-codes/E0040.rs ... ok
test [ui] ui/consts/issue-66345.rs ... ok
test [ui] ui/error-codes/E0054.rs ... ok
test [ui] ui/consts/issue-67529.rs ... ok
test [ui] ui/error-codes/E0060.rs ... ok
test [ui] ui/error-codes/E0061.rs ... ok
test [ui] ui/error-codes/E0059.rs ... ok
test [ui] ui/error-codes/E0062.rs ... ok
test [ui] ui/error-codes/E0055.rs ... ok
test [ui] ui/error-codes/E0063.rs ... ok
test [ui] ui/error-codes/E0057.rs ... ok
test [ui] ui/consts/issue-64059.rs#noopt ... ok
test [ui] ui/error-codes/E0069.rs ... ok
test [ui] ui/error-codes/E0076.rs ... ok
test [ui] ui/error-codes/E0075.rs ... ok
test [ui] ui/error-codes/E0071.rs ... ok
test [ui] ui/error-codes/E0077.rs ... ok
test [ui] ui/error-codes/E0067.rs ... ok
test [ui] ui/error-codes/E0081.rs ... ok
test [ui] ui/consts/issue-67641.rs ... ok
test [ui] ui/error-codes/E0080.rs ... ok
test [ui] ui/error-codes/E0107.rs ... ok
test [ui] ui/error-codes/E0092.rs ... ok
test [ui] ui/error-codes/E0091.rs ... ok
test [ui] ui/error-codes/E0106.rs ... ok
test [ui] ui/error-codes/E0093.rs ... ok
test [ui] ui/error-codes/E0109.rs ... ok
test [ui] ui/error-codes/E0094.rs ... ok
test [ui] ui/error-codes/E0084.rs ... ok
test [ui] ui/consts/issue-70773-mir-typeck-lt-norm.rs ... ok
test [ui] ui/error-codes/E0110.rs ... ok
test [ui] ui/error-codes/E0070.rs ... ok
test [ui] ui/error-codes/E0116.rs ... ok
test [ui] ui/error-codes/E0117.rs ... ok
test [ui] ui/error-codes/E0124.rs ... ok
test [ui] ui/error-codes/E0120.rs ... ok
test [ui] ui/error-codes/E0121.rs ... ok
test [ui] ui/error-codes/E0118.rs ... ok
test [ui] ui/error-codes/E0130.rs ... ok
test [ui] ui/error-codes/E0128.rs ... ok
test [ui] ui/error-codes/E0119.rs ... ok
test [ui] ui/error-codes/E0131.rs ... ok
test [ui] ui/consts/issue-67640.rs ... ok
test [ui] ui/error-codes/E0132.rs ... ok
test [ui] ui/error-codes/E0137.rs ... ok
test [ui] ui/error-codes/E0138.rs ... ok
test [ui] ui/error-codes/E0152.rs ... ok
test [ui] ui/error-codes/E0133.rs ... ok
test [ui] ui/error-codes/E0161.rs#edition ... ok
test [ui] ui/error-codes/E0161.rs#editionul ... ok
test [ui] ui/error-codes/E0161.rs#migrateul ... ok
test [ui] ui/error-codes/E0161.rs#migrate ... ok
test [ui] ui/error-codes/E0161.rs#nll ... ok
test [ui] ui/error-codes/E0161.rs#nllul ... ok
test [ui] ui/error-codes/E0161.rs#zflags ... ok
test [ui] ui/error-codes/E0161.rs#zflagsul ... ok
test [ui] ui/error-codes/E0186.rs ... ok
test [ui] ui/error-codes/E0185.rs ... ok
test [ui] ui/error-codes/E0184.rs ... ok
test [ui] ui/error-codes/E0164.rs ... ok
test [ui] ui/error-codes/E0197.rs ... ok
test [ui] ui/error-codes/E0191.rs ... ok
test [ui] ui/consts/issue-67862.rs ... ok
test [ui] ui/error-codes/E0195.rs ... ok
test [ui] ui/error-codes/E0198.rs ... ok
test [ui] ui/error-codes/E0199.rs ... ok
test [ui] ui/error-codes/E0194.rs ... ok
test [ui] ui/error-codes/E0207.rs ... ok
test [ui] ui/error-codes/E0200.rs ... ok
test [ui] ui/error-codes/E0201.rs ... ok
test [ui] ui/error-codes/E0206.rs ... ok
test [ui] ui/error-codes/E0220.rs ... ok
test [ui] ui/error-codes/E0214.rs ... ok
test [ui] ui/error-codes/E0229.rs ... ok
test [ui] ui/error-codes/E0225.rs ... ok
test [ui] ui/error-codes/E0223.rs ... ok
test [ui] ui/error-codes/E0221.rs ... ok
test [ui] ui/consts/locals-in-const-fn.rs ... ok
test [ui] ui/error-codes/E0253.rs ... ok
test [ui] ui/error-codes/E0252.rs ... ok
test [ui] ui/error-codes/E0254.rs ... ok
test [ui] ui/error-codes/E0263.rs ... ok
test [ui] ui/error-codes/E0255.rs ... ok
test [ui] ui/error-codes/E0259.rs ... ok
test [ui] ui/error-codes/E0260.rs ... ok
test [ui] ui/error-codes/E0262.rs ... ok
test [ui] ui/error-codes/E0261.rs ... ok
test [ui] ui/consts/issue-broken-mir.rs ... ok
test [ui] ui/error-codes/E0264.rs ... ok
test [ui] ui/error-codes/E0267.rs ... ok
test [ui] ui/error-codes/E0268.rs ... ok
test [ui] ui/error-codes/E0271.rs ... ok
test [ui] ui/error-codes/E0275.rs ... ok
test [ui] ui/error-codes/E0276.rs ... ok
test [ui] ui/error-codes/E0277-2.rs ... ok
test [ui] ui/error-codes/E0277.rs ... ok
test [ui] ui/error-codes/E0328.rs ... ok
test [ui] ui/error-codes/E0308-4.rs ... ok
test [ui] ui/error-codes/E0308.rs ... ok
test [ui] ui/error-codes/E0283.rs ... ok
test [ui] ui/error-codes/E0365.rs ... ok
test [ui] ui/error-codes/E0282.rs ... ok
test [ui] ui/error-codes/E0375.rs ... ok
test [ui] ui/error-codes/E0374.rs ... ok
test [ui] ui/error-codes/E0370.rs ... ok
test [ui] ui/error-codes/E0376.rs ... ok
test [ui] ui/error-codes/E0297.rs ... ok
test [ui] ui/error-codes/E0388.rs ... ok
test [ui] ui/error-codes/E0390.rs ... ok
test [ui] ui/error-codes/E0392.rs ... ok
test [ui] ui/error-codes/E0389.rs ... ok
test [ui] ui/error-codes/E0393.rs ... ok
test [ui] ui/error-codes/E0401.rs ... ok
test [ui] ui/error-codes/E0403.rs ... ok
test [ui] ui/error-codes/E0404.rs ... ok
test [ui] ui/error-codes/E0407.rs ... ok
test [ui] ui/error-codes/E0395.rs ... ok
test [ui] ui/error-codes/E0396.rs ... ok
test [ui] ui/error-codes/E0405.rs ... ok
test [ui] ui/error-codes/E0396-fixed.rs ... ok
test [ui] ui/error-codes/E0408.rs ... ok
test [ui] ui/error-codes/E0416.rs ... ok
test [ui] ui/error-codes/E0415.rs ... ok
test [ui] ui/error-codes/E0424.rs ... ok
test [ui] ui/error-codes/E0412.rs ... ok
test [ui] ui/error-codes/E0411.rs ... ok
test [ui] ui/error-codes/E0423.rs ... ok
test [ui] ui/error-codes/E0430.rs ... ok
test [ui] ui/error-codes/E0426.rs ... ok
test [ui] ui/error-codes/E0431.rs ... ok
test [ui] ui/error-codes/E0428.rs ... ok
test [ui] ui/error-codes/E0429.rs ... ok
test [ui] ui/error-codes/E0425.rs ... ok
test [ui] ui/error-codes/E0433.rs ... ok
test [ui] ui/error-codes/E0432.rs ... ok
test [ui] ui/error-codes/E0434.rs ... ok
test [ui] ui/error-codes/E0435.rs ... ok
test [ui] ui/error-codes/E0438.rs ... ok
test [ui] ui/error-codes/E0463.rs ... ok
test [ui] ui/error-codes/E0439.rs ... ok
test [ui] ui/error-codes/E0437.rs ... ok
test [ui] ui/error-codes/E0449.rs ... ok
test [ui] ui/error-codes/E0453.rs ... ok
test [ui] ui/error-codes/E0446.rs ... ok
test [ui] ui/error-codes/E0459.rs ... ok
test [ui] ui/error-codes/E0452.rs ... ok
test [ui] ui/error-codes/E0454.rs ... ok
test [ui] ui/error-codes/E0458.rs ... ok
test [ui] ui/error-codes/E0445.rs ... ok
test [ui] ui/error-codes/E0451.rs ... ok
test [ui] ui/error-codes/E0478.rs ... ok
test [ui] ui/error-codes/E0496.rs ... ok
test [ui] ui/error-codes/E0490.rs ... ok
test [ui] ui/error-codes/E0492.rs ... ok
test [ui] ui/error-codes/E0501.rs ... ok
test [ui] ui/error-codes/E0499.rs ... ok
test [ui] ui/error-codes/E0505.rs ... ok
test [ui] ui/error-codes/E0502.rs ... ok
test [ui] ui/error-codes/E0508.rs ... ok
test [ui] ui/error-codes/E0508-fail.rs ... ok
test [ui] ui/error-codes/E0506.rs ... ok
test [ui] ui/error-codes/E0503.rs ... ok
test [ui] ui/error-codes/E0504.rs ... ok
test [ui] ui/error-codes/E0507.rs ... ok
test [ui] ui/error-codes/E0516.rs ... ok
test [ui] ui/error-codes/E0512.rs ... ok
test [ui] ui/consts/offset_from.rs ... ok
test [ui] ui/error-codes/E0509.rs ... ok
test [ui] ui/error-codes/E0518.rs ... ok
test [ui] ui/error-codes/E0522.rs ... ok
test [ui] ui/error-codes/E0517.rs ... ok
test [ui] ui/error-codes/E0528.rs ... ok
test [ui] ui/error-codes/E0534.rs ... ok
test [ui] ui/error-codes/E0559.rs ... ok
test [ui] ui/error-codes/E0529.rs ... ok
test [ui] ui/error-codes/E0527.rs ... ok
test [ui] ui/error-codes/E0530.rs ... ok
test [ui] ui/consts/match-const-fn-structs.rs ... ok
test [ui] ui/error-codes/E0532.rs ... ok
test [ui] ui/error-codes/E0520.rs ... ok
test [ui] ui/error-codes/E0565-1.rs ... ok
test [ui] ui/error-codes/E0560.rs ... ok
test [ui] ui/error-codes/E0565-2.rs ... ok
test [ui] ui/consts/min_const_fn/allow_const_fn_ptr_run_pass.rs ... ok
test [ui] ui/error-codes/E0565.rs ... ok
test [ui] ui/error-codes/E0583.rs ... ok
test [ui] ui/error-codes/E0594.rs ... ok
test [ui] ui/error-codes/E0582.rs ... ok
test [ui] ui/error-codes/E0585.rs ... ok
test [ui] ui/error-codes/E0601.rs ... ok
test [ui] ui/error-codes/E0572.rs ... ok
test [ui] ui/error-codes/E0596.rs ... ok
test [ui] ui/error-codes/E0586.rs ... ok
test [ui] ui/error-codes/E0600.rs ... ok
test [ui] ui/error-codes/E0602.rs ... ok
test [ui] ui/error-codes/E0597.rs ... ok
test [ui] ui/error-codes/E0511.rs ... ok
test [ui] ui/error-codes/E0606.rs ... ok
test [ui] ui/error-codes/E0604.rs ... ok
test [ui] ui/error-codes/E0603.rs ... ok
test [ui] ui/consts/mozjs-error.rs ... ok
test [ui] ui/error-codes/E0605.rs ... ok
test [ui] ui/error-codes/E0607.rs ... ok
test [ui] ui/consts/non-scalar-cast.rs ... ok
test [ui] ui/error-codes/E0599.rs ... ok
test [ui] ui/error-codes/E0614.rs ... ok
test [ui] ui/error-codes/E0618.rs ... ok
test [ui] ui/error-codes/E0608.rs ... ok
test [ui] ui/error-codes/E0615.rs ... ok
test [ui] ui/error-codes/E0617.rs ... ok
test [ui] ui/error-codes/E0620.rs ... ok
test [ui] ui/error-codes/E0622.rs ... ok
test [ui] ui/consts/miri_unleashed/slice_eq.rs ... ok
test [ui] ui/error-codes/E0610.rs ... ok
test [ui] ui/error-codes/E0609.rs ... ok
test [ui] ui/error-codes/E0657.rs ... ok
test [ui] ui/error-codes/E0621-does-not-trigger-for-closures.rs ... ok
test [ui] ui/error-codes/E0616.rs ... ok
test [ui] ui/error-codes/E0648.rs ... ok
test [ui] ui/error-codes/E0637.rs ... ok
test [ui] ui/error-codes/E0659.rs ... ok
test [ui] ui/error-codes/E0658.rs ... ok
test [ui] ui/error-codes/E0646.rs ... ok
test [ui] ui/consts/offset.rs ... ok
test [ui] ui/error-codes/E0647.rs ... ok
test [ui] ui/error-codes/E0624.rs ... ok
test [ui] ui/error-codes/E0663.rs ... ok
test [ui] ui/error-codes/E0662.rs ... ok
test [ui] ui/error-codes/E0664.rs ... ok
test [ui] ui/error-codes/E0660.rs ... ok
test [ui] ui/error-codes/E0661.rs ... ok
test [ui] ui/error-codes/E0718.rs ... ok
test [ui] ui/error-codes/E0665.rs ... ok
test [ui] ui/consts/promote_borrowed_field.rs ... ok
test [ui] ui/error-codes/E0705.rs ... ok
test [ui] ui/error-codes/E0719.rs ... ok
test [ui] ui/error-codes/E0730.rs ... ok
test [ui] ui/error-codes/E0767.rs ... ok
test [ui] ui/explain.rs ... ok
test [ui] ui/error-codes/e0119/issue-27403.rs ... ok
test [ui] ui/error-codes/e0119/conflict-with-std.rs ... ok
test [ui] ui/error-codes/e0119/so-37347311.rs ... ok
test [ui] ui/error-codes/ex-E0612.rs ... ok
test [ui] ui/error-codes/E0642.rs ... ok
test [ui] ui/eval-enum.rs ... ok
test [ui] ui/expanded-cfg.rs ... ok
test [ui] ui/error-codes/e0119/issue-28981.rs ... ok
test [ui] ui/exclusive-drop-and-copy.rs ... ok
test [ui] ui/error-codes/ex-E0611.rs ... ok
test [ui] ui/error-should-say-copy-not-pod.rs ... ok
test [ui] ui/explicit/explicit-self-lifetime-mismatch.rs ... ok
test [ui] ui/explicit/explicit-call-to-dtor.rs ... ok
test [ui] ui/error-festival.rs ... ok
test [ui] ui/explicit/explicit-call-to-supertrait-dtor.rs ... ok
test [ui] ui/export-fully-qualified.rs ... ok
test [ui] ui/export-import.rs ... ok
test [ui] ui/estr-subtyping.rs ... ok
test [ui] ui/export-tag-variant.rs ... ok
test [ui] ui/export.rs ... ok
test [ui] ui/export2.rs ... ok
test [ui] ui/consts/packed_pattern2.rs ... ok
test [ui] ui/error-codes/e0119/complex-impl.rs ... ok
test [ui] ui/error-codes/E0746.rs ... ok
test [ui] ui/error-codes/e0119/issue-23563.rs ... ok
test [ui] ui/consts/packed_pattern.rs ... ok
test [ui] ui/consts/promotion.rs ... ok
test [ui] ui/explore-issue-38412.rs ... ok
test [ui] ui/ext-nonexistent.rs ... ok
test [ui] ui/expr_attr_paren_order.rs ... ok
test [ui] ui/extenv/extenv-arg-2-not-string-literal.rs ... ok
test [ui] ui/extenv/extenv-no-args.rs ... ok
test [ui] ui/extenv/extenv-not-defined-custom.rs ... ok
test [ui] ui/extenv/extenv-not-defined-default.rs ... ok
test [ui] ui/extenv/extenv-not-string-literal.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/run-pass.rs ... ok
test [ui] ui/extenv/extenv-too-many-args.rs ... ok
test [ui] ui/consts/repeat_match.rs ... ok
test [ui] ui/consts/signed_enum_discr.rs ... ok
test [ui] ui/consts/transmute-const.rs ... ok
test [ui] ui/consts/rfc-2203-const-array-repeat-exprs/fn-call-in-const.rs ... ok
test [ui] ui/extenv/issue-55897.rs ... ok
test [ui] ui/consts/static-raw-pointer-interning.rs ... ok
test [ui] ui/extern-flag/noprelude-and-prelude.rs ... ok
test [ui] ui/extern-flag/multiple-opts.rs ... ok
test [ui] ui/extern-flag/noprelude-resolves.rs ... ok
test [ui] ui/consts/promoted_div_by_zero.rs ... ok
test [ui] ui/consts/static-raw-pointer-interning2.rs ... ok
test [ui] ui/extern-flag/noprelude.rs ... ok
test [ui] ui/consts/tuple-struct-constructors.rs ... ok
test [ui] ui/consts/trait_specialization.rs ... ok
test [ui] ui/consts/zst_no_llvm_alloc.rs ... ok
test [ui] ui/consts/std/iter.rs ... ok
test [ui] ui/crate-leading-sep.rs ... ok
test [ui] ui/extern-flag/public-and-private.rs ... ok
test [ui] ui/extern/extern-methods.rs ... ignored
test [ui] ui/extern-prelude-fail.rs ... ok
test [ui] ui/extern/extern-crate-visibility.rs ... ok
test [ui] ui/extern/extern-ffi-fn-with-body.rs ... ok
test [ui] ui/extern/extern-macro.rs ... ok
test [ui] ui/extern/extern-main-fn.rs ... ok
test [ui] ui/extern/extern-const.rs ... ok
test [ui] ui/crate-name-attr-used.rs ... ok
test [ui] ui/cross-crate/cross-crate-const-pat.rs ... ok
test [ui] ui/extern/extern-thiscall.rs ... ignored
test [ui] ui/extern/extern-crate-rename.rs ... ok
test [ui] ui/extern/extern-types-distinct-types.rs ... ok
test [ui] ui/extern-prelude.rs ... ok
test [ui] ui/crate-method-reexport-grrrrrrr.rs ... ok
test [ui] ui/extern/extern-types-not-sync-send.rs ... ok
test [ui] ui/cross-crate/cci_borrow.rs ... ok
test [ui] ui/cross-crate/cross-crate-newtype-struct-pat.rs ... ok
test [ui] ui/cross-crate/cci_impl_exe.rs ... ok
test [ui] ui/cross-crate/cci_no_inline_exe.rs ... ok
test [ui] ui/extern/extern-vectorcall.rs ... ignored
test [ui] ui/extern/extern-types-unsized.rs ... ok
test [ui] ui/cross-crate/cci_capture_clause.rs ... ok
test [ui] ui/extern/extern-with-type-bounds.rs ... ok
test [ui] ui/extern/extern-wrong-value-type.rs ... ok
test [ui] ui/extern/external-doc-error.rs ... ok
test [ui] ui/extern/issue-36122-accessing-externed-dst.rs ... ok
test [ui] ui/cross-crate/cci_iter_exe.rs ... ok
test [ui] ui/cross-crate/static-array-across-crate.rs ... ok
test [ui] ui/cross-crate/cci_nested_exe.rs ... ok
test [ui] ui/cross-crate/xcrate-trait-lifetime-param.rs ... ok
test [ui] ui/cross-crate/issue-64872/issue-64872.rs ... ok
test [ui] ui/cross-crate/xcrate-address-insignificant.rs ... ok
test [ui] ui/cross-crate/xcrate-static-addresses.rs ... ok
test [ui] ui/cross-crate/xcrate-unit-struct.rs ... ok
test [ui] ui/cross-crate/xcrate_generic_fn_nested_return.rs ... ok
test [ui] ui/consts/return-in-const-fn.rs ... ok
test [ui] ui/crt-static-off-works.rs ... ok
test [ui] ui/cross-crate/moves-based-on-type-cross-crate.rs ... ok
test [ui] ui/cycle-generic-bound.rs ... ok
test [ui] ui/cross-crate/reexported-static-methods-cross-crate.rs ... ok
test [ui] ui/custom-test-frameworks-simple.rs ... ok
test [ui] ui/extoption_env-no-args.rs ... ok
test [ui] ui/extoption_env-not-string-literal.rs ... ok
test [ui] ui/defaults-well-formedness.rs ... ok
test [ui] ui/extoption_env-too-many-args.rs ... ok
test [ui] ui/fail-simple.rs ... ok
test [ui] ui/default-method-parsing.rs ... ok
test [ui] ui/deep.rs ... ok
test [ui] ui/deprecation-in-force-unstable.rs ... ok
test [ui] ui/fat-ptr-cast.rs ... ok
test [ui] ui/definition-reachable/private-use.rs ... ok
test [ui] ui/feature-gate-optimize_attribute.rs ... ok
test [ui] ui/default-method-simple.rs ... ok
test [ui] ui/deprecation/deprecated-macro_escape.rs ... ok
test [ui] ui/feature-gate/allow-features-empty.rs ... ok
test [ui] ui/deref-mut-on-ref.rs ... ok
test [ui] ui/feature-gate/allow-features.rs ... ok
test [ui] ui/feature-gate/feature-gate-c_variadic.rs ... ok
test [ui] ui/feature-gate/duplicate-features.rs ... ok
test [ui] ui/feature-gate/feature-gate-static-nobundle-2.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-bench.rs ... ok
test [ui] ui/default-associated-types.rs ... ok
test [ui] ui/deprecation/deprecated-macro_escape-inner.rs ... ok
test [ui] ui/definition-reachable/field-method.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-deprecated.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-derive-2.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-inline.rs ... ok
test [ui] ui/definition-reachable/nested-fn.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-builtin-attrs.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-macro_escape.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-proc_macro_derive.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-derive.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-macro_use.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-rustc_deprecated.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-stable.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-test.rs ... ok
test [ui] ui/feature-gate/issue-49983-see-issue-0.rs ... ok
test [ui] ui/feature-gate/issue-43106-gating-of-unstable.rs ... ok
test [ui] ui/feature-gates/feature-gate-abi.rs ... ignored
test [ui] ui/feature-gate/unknown-feature.rs ... ok
test [ui] ui/feature-gate/stability-attribute-consistency.rs ... ok
test [ui] ui/feature-gate/rustc-private.rs ... ok
test [ui] ui/feature-gate/unstable-attribute-allow-issue-0.rs ... ok
test [ui] ui/feature-gated-feature-in-macro-arg.rs ... ok
test [ui] ui/feature-gates/feature-gate-abi-avr-interrupt.rs ... ok
test [ui] ui/feature-gates/feature-gate-abi-msp430-interrupt.rs ... ok
test [ui] ui/deref-rc.rs ... ok
test [ui] ui/feature-gates/bench.rs ... ok
test [ui] ui/feature-gates/feature-gate-abi_unadjusted.rs ... ok
test [ui] ui/deref-on-ref.rs ... ok
test [ui] ui/feature-gates/feature-gate-allow-internal-unstable-nested-macro.rs ... ok
test [ui] ui/feature-gates/feature-gate-alloc-error-handler.rs ... ok
test [ui] ui/feature-gates/feature-gate-allow-internal-unsafe-nested-macro.rs ... ok
test [ui] ui/deref-lval.rs ... ok
test [ui] ui/feature-gates/feature-gate-allocator_internals.rs ... ok
test [ui] ui/deref.rs ... ok
test [ui] ui/feature-gates/feature-gate-allow-internal-unstable.rs ... ok
test [ui] ui/feature-gates/feature-gate-allow-internal-unstable-struct.rs ... ok
test [ui] ui/feature-gates/feature-gate-allow_fail.rs ... ok
test [ui] ui/custom_test_frameworks/full.rs ... ok
test [ui] ui/feature-gates/feature-gate-arbitrary_self_types-raw-pointer.rs ... ok
test [ui] ui/deriving/deriving-clone-enum.rs ... ok
test [ui] ui/feature-gates/feature-gate-asm.rs ... ok
test [ui] ui/feature-gates/feature-gate-arbitrary-self-types.rs ... ok
test [ui] ui/feature-gates/feature-gate-assoc-type-defaults.rs ... ok
test [ui] ui/feature-gates/feature-gate-box-expr.rs ... ok
test [ui] ui/feature-gates/feature-gate-cfg-target-has-atomic.rs ... ok
test [ui] ui/feature-gates/feature-gate-box_syntax.rs ... ok
test [ui] ui/feature-gates/feature-gate-box_patterns.rs ... ok
test [ui] ui/feature-gates/feature-gate-asm2.rs ... ok
test [ui] ui/feature-gates/feature-gate-cfg_sanitize.rs ... ok
test [ui] ui/feature-gates/feature-gate-cfg-version.rs ... ok
test [ui] ui/feature-gates/feature-gate-compiler-builtins.rs ... ok
test [ui] ui/feature-gates/feature-gate-concat_idents2.rs ... ok
test [ui] ui/feature-gates/feature-gate-associated_type_bounds.rs ... ok
test [ui] ui/feature-gates/feature-gate-concat_idents.rs ... ok
test [ui] ui/feature-gates/feature-gate-const_generics.rs ... ok
test [ui] ui/feature-gates/feature-gate-const_generics-ptr.rs ... ok
test [ui] ui/feature-gates/feature-gate-const_fn.rs ... ok
test [ui] ui/feature-gates/feature-gate-concat_idents3.rs ... ok
test [ui] ui/feature-gates/feature-gate-const_fn_transmute.rs ... ok
test [ui] ui/feature-gates/feature-gate-crate_visibility_modifier.rs ... ok
test [ui] ui/feature-gates/feature-gate-custom_attribute.rs ... ok
test [ui] ui/feature-gates/feature-gate-custom_attribute2.rs ... ok
test [ui] ui/feature-gates/feature-gate-custom_test_frameworks.rs ... ok
test [ui] ui/feature-gates/feature-gate-decl_macro.rs ... ok
test [ui] ui/deriving/deriving-bounds.rs ... ok
test [ui] ui/feature-gates/feature-gate-default_type_parameter_fallback.rs ... ok
test [ui] ui/feature-gates/feature-gate-doc_keyword.rs ... ok
test [ui] ui/feature-gates/feature-gate-doc_alias.rs ... ok
test [ui] ui/feature-gates/feature-gate-doc_masked.rs ... ok
test [ui] ui/feature-gates/feature-gate-doc_cfg.rs ... ok
test [ui] ui/feature-gates/feature-gate-extern_prelude.rs ... ok
test [ui] ui/feature-gates/feature-gate-const_in_array_repeat_expressions.rs ... ok
test [ui] ui/feature-gates/feature-gate-exclusive-range-pattern.rs ... ok
test [ui] ui/custom_test_frameworks/dynamic.rs ... ok
test [ui] ui/feature-gates/feature-gate-cfg-target-thread-local.rs ... ok
test [ui] ui/feature-gates/feature-gate-extern_absolute_paths.rs ... ok
test [ui] ui/feature-gates/feature-gate-exhaustive-patterns.rs ... ok
test [ui] ui/feature-gates/feature-gate-extern_types.rs ... ok
test [ui] ui/feature-gates/feature-gate-external_doc.rs ... ok
test [ui] ui/feature-gates/feature-gate-const-indexing.rs ... ok
test [ui] ui/feature-gates/feature-gate-ffi_const.rs ... ok
test [ui] ui/feature-gates/feature-gate-ffi_pure.rs ... ok
test [ui] ui/feature-gates/feature-gate-generators.rs ... ok
test [ui] ui/feature-gates/feature-gate-ffi_returns_twice.rs ... ok
test [ui] ui/feature-gates/feature-gate-feature-gate.rs ... ok
test [ui] ui/feature-gates/feature-gate-fundamental.rs ... ok
test [ui] ui/feature-gates/feature-gate-format_args_nl.rs ... ok
test [ui] ui/feature-gates/feature-gate-generic_associated_types.rs ... ok
test [ui] ui/feature-gates/feature-gate-global_asm.rs ... ok
test [ui] ui/feature-gates/feature-gate-impl_trait_in_bindings.rs ... ok
test [ui] ui/feature-gates/feature-gate-infer_static_outlives_requirements.rs ... ok
test [ui] ui/feature-gates/feature-gate-label_break_value.rs ... ok
test [ui] ui/feature-gates/feature-gate-intrinsics.rs ... ok
test [ui] ui/feature-gates/feature-gate-link_args.rs ... ok
test [ui] ui/feature-gates/feature-gate-lang-items.rs ... ok
test [ui] ui/feature-gates/feature-gate-in_band_lifetimes.rs ... ok
test [ui] ui/feature-gates/feature-gate-main.rs ... ok
test [ui] ui/feature-gates/feature-gate-linkage.rs ... ok
test [ui] ui/feature-gates/feature-gate-lint-reasons.rs ... ok
test [ui] ui/feature-gates/feature-gate-is_sorted.rs ... ok
test [ui] ui/feature-gates/feature-gate-log_syntax.rs ... ok
test [ui] ui/deriving/deriving-clone-generic-struct.rs ... ok
test [ui] ui/feature-gates/feature-gate-link_cfg.rs ... ok
test [ui] ui/feature-gates/feature-gate-link_llvm_intrinsics.rs ... ok
test [ui] ui/feature-gates/feature-gate-log_syntax2.rs ... ok
test [ui] ui/feature-gates/feature-gate-may-dangle.rs ... ok
test [ui] ui/feature-gates/feature-gate-marker_trait_attr.rs ... ok
test [ui] ui/feature-gates/feature-gate-needs-allocator.rs ... ok
test [ui] ui/feature-gates/feature-gate-member-constraints.rs ... ok
test [ui] ui/feature-gates/feature-gate-naked_functions.rs ... ok
test [ui] ui/feature-gates/feature-gate-never_type.rs ... ok
test [ui] ui/feature-gates/feature-gate-min_const_fn.rs ... ok
test [ui] ui/feature-gates/feature-gate-negate-unsigned.rs ... ok
test [ui] ui/feature-gates/feature-gate-no_core.rs ... ok
test [ui] ui/deriving/deriving-clone-array.rs ... ok
test [ui] ui/feature-gates/feature-gate-overlapping_marker_traits.rs ... ok
test [ui] ui/feature-gates/feature-gate-no_sanitize.rs ... ok
test [ui] ui/feature-gates/feature-gate-object_safe_for_dispatch.rs ... ok
test [ui] ui/feature-gates/feature-gate-nll.rs ... ok
test [ui] ui/feature-gates/feature-gate-plugin_registrar.rs ... ok
test [ui] ui/feature-gates/feature-gate-optin-builtin-traits.rs ... ok
test [ui] ui/feature-gates/feature-gate-omit-gdb-pretty-printer-section.rs ... ok
test [ui] ui/feature-gates/feature-gate-non_ascii_idents.rs ... ok
test [ui] ui/feature-gates/feature-gate-prelude_import.rs ... ok
test [ui] ui/feature-gates/feature-gate-profiler-runtime.rs ... ok
test [ui] ui/feature-gates/feature-gate-rustc-attrs.rs ... ok
test [ui] ui/feature-gates/feature-gate-register_attr.rs ... ok
test [ui] ui/feature-gates/feature-gate-rustc-attrs-1.rs ... ok
test [ui] ui/feature-gates/feature-gate-register_tool.rs ... ok
test [ui] ui/feature-gates/feature-gate-repr-simd.rs ... ok
test [ui] ui/feature-gates/feature-gate-repr128.rs ... ok
test [ui] ui/feature-gates/feature-gate-precise_pointer_size_matching.rs ... ok
test [ui] ui/feature-gates/feature-gate-rustc_const_unstable.rs ... ok
test [ui] ui/feature-gates/feature-gate-staged_api.rs ... ok
test [ui] ui/feature-gates/feature-gate-stmt_expr_attributes.rs ... ok
test [ui] ui/feature-gates/feature-gate-start.rs ... ok
test [ui] ui/feature-gates/feature-gate-simd.rs ... ok
test [ui] ui/feature-gates/feature-gate-static-nobundle.rs ... ok
test [ui] ui/feature-gates/feature-gate-simd-ffi.rs ... ok
test [ui] ui/feature-gates/feature-gate-thread_local.rs ... ok
test [ui] ui/feature-gates/feature-gate-trace_macros.rs ... ok
test [ui] ui/feature-gates/feature-gate-trait-alias.rs ... ok
test [ui] ui/feature-gates/feature-gate-type_ascription.rs ... ok
test [ui] ui/feature-gates/feature-gate-try_reserve.rs ... ok
test [ui] ui/feature-gates/feature-gate-transparent_unions.rs ... ok
test [ui] ui/feature-gates/feature-gate-unboxed-closures-manual-impls.rs ... ok
test [ui] ui/feature-gates/feature-gate-unboxed-closures-method-calls.rs ... ok
test [ui] ui/feature-gates/feature-gate-unsafe_block_in_unsafe_fn.rs ... ok
test [ui] ui/ffi_const.rs ... ok
test [ui] ui/feature-gates/feature-gate-unwind-attributes.rs ... ok
test [ui] ui/feature-gates/feature-gate-unsized_tuple_coercion.rs ... ok
test [ui] ui/feature-gates/feature-gate-try_blocks.rs ... ok
test [ui] ui/feature-gates/feature-gate-unboxed-closures-ufcs-calls.rs ... ok
test [ui] ui/feature-gates/feature-gate-unsized_locals.rs ... ok
test [ui] ui/feature-gates/feature-gate-type_alias_impl_trait.rs ... ok
test [ui] ui/feature-gates/feature-gate-untagged_unions.rs ... ok
test [ui] ui/feature-gates/feature-gate-unboxed-closures.rs ... ok
test [ui] ui/feature-gates/feature-gate-trivial_bounds.rs ... ok
test [ui] ui/ffi_returns_twice.rs ... ok
test [ui] ui/ffi_const2.rs ... ok
test [ui] ui/ffi_pure.rs ... ok
test [ui] ui/fmt/feature-gate-format-args-capture.rs ... ok
test [ui] ui/fmt/format-args-capture-macro-hygiene.rs ... ok
test [ui] ui/fmt/format-string-error.rs ... ok
test [ui] ui/fmt/format-string-error-2.rs ... ok
test [ui] ui/fmt/format-args-capture-missing-variables.rs ... ok
test [ui] ui/fn-in-pat.rs ... ok
test [ui] ui/fn/fn-compare-mismatch.rs ... ok
test [ui] ui/fmt/send-sync.rs ... ok
test [ui] ui/fn/fn-closure-mutable-capture.rs ... ok
test [ui] ui/float-literal-inference-restrictions.rs ... ok
test [ui] ui/fn/fn-bad-block-type.rs ... ok
test [ui] ui/fn_must_use.rs ... ok
test [ui] ui/fn/fn-item-type.rs ... ok
test [ui] ui/fn/fn-trait-formatting.rs ... ok
test [ui] ui/deriving/deriving-via-extension-c-enum.rs ... ok
test [ui] ui/core-run-destroy.rs ... ok
test [ui] ui/deriving/deriving-default-box.rs ... ok
test [ui] ui/deriving/deriving-cmp-generic-struct.rs ... ok
test [ui] ui/deriving/deriving-meta-multiple.rs ... ok
test [ui] ui/deriving/deriving-show.rs ... ok
test [ui] ui/deriving/deriving-hash.rs ... ok
test [ui] ui/deriving/deriving-in-macro.rs ... ok
test [ui] ui/deriving/deriving-self-lifetime-totalord-totaleq.rs ... ok
test [ui] ui/deriving/deriving-cmp-generic-enum.rs ... ok
test [ui] ui/deriving/deriving-eq-ord-boxed-slice.rs ... ok
test [ui] ui/deriving/deriving-cmp-shortcircuit.rs ... ok
test [ui] ui/deriving/deriving-copyclone.rs ... ok
test [ui] ui/deriving/deriving-clone-generic-enum.rs ... ok
test [ui] ui/deriving/deriving-clone-generic-tuple-struct.rs ... ok
test [ui] ui/deriving/deriving-cmp-generic-tuple-struct.rs ... ok
test [ui] ui/deriving/derive-partialord-correctness.rs ... ok
test [ui] ui/cross-crate/xcrate-associated-type-defaults.rs ... ok
test [ui] ui/deriving/deriving-meta.rs ... ok
test [ui] ui/deriving/deriving-clone-tuple-struct.rs ... ok
test [ui] ui/deriving/deriving-cmp-generic-struct-enum.rs ... ok
test [ui] ui/deriving/deriving-clone-struct.rs ... ok
test [ui] ui/deriving/derive-no-std.rs ... ok
test [ui] ui/deriving/deriving-associated-types.rs ... ok
test [ui] ui/deriving/deriving-show-2.rs ... ok
test [ui] ui/debuginfo-lto.rs ... ok
test [ui] ui/command/command-pre-exec.rs ... ok
test [ui] ui/deriving/deriving-via-extension-hash-enum.rs ... ok
test [ui] ui/default-alloc-error-hook.rs ... ok
test [ui] ui/deriving/deriving-via-extension-struct.rs ... ok
test [ui] ui/deriving/deriving-via-extension-struct-empty.rs ... ok
test [ui] ui/deriving/deriving-via-extension-enum.rs ... ok
test [ui] ui/deriving/deriving-via-extension-type-params.rs ... ok
test [ui] ui/deriving/deriving-via-extension-struct-like-enum-variant.rs ... ok
test [ui] ui/deriving/deriving-via-extension-hash-struct.rs ... ok
test [ui] ui/deriving/deriving-via-extension-struct-tuple.rs ... ok
test [ui] ui/for/for-expn.rs ... ok
test [ui] ui/for/for-c-in-str.rs ... ok
test [ui] ui/for/for-loop-bogosity.rs ... ok
test [ui] ui/for/for-loop-refutable-pattern-error-message.rs ... ok
test [ui] ui/for/for-loop-type-error.rs ... ok
test [ui] ui/for/for-loop-unconstrained-element-type.rs ... ok
test [ui] ui/foreign-unsafe-fn-called.rs ... ok
test [ui] ui/deriving/deriving-in-fn.rs ... ok
test [ui] ui/foreign-fn-return-lifetime.rs ... ok
test [ui] ui/double-ref.rs ... ok
test [ui] ui/deriving/deriving-with-repr-packed.rs ... ok
test [ui] ui/diverging-fallback-option.rs ... ok
test [ui] ui/diverging-fallback-method-chain.rs ... ok
test [ui] ui/drop/drop-on-empty-block-exit.rs ... ok
test [ui] ui/fully-qualified-type/fully-qualified-type-name1.rs ... ok
test [ui] ui/fully-qualified-type/fully-qualified-type-name2.rs ... ok
test [ui] ui/drop/drop-uninhabited-enum.rs ... ok
test [ui] ui/drop/drop-trait-generic.rs ... ok
test [ui] ui/fully-qualified-type/fully-qualified-type-name4.rs ... ok
test [ui] ui/drop/drop-on-ret.rs ... ok
test [ui] ui/functional-struct-update/functional-struct-update-noncopyable.rs ... ok
test [ui] ui/functional-struct-update/functional-struct-update-respects-privacy.rs ... ok
test [ui] ui/drop/drop-with-type-ascription-1.rs ... ok
test [ui] ui/drop/no-drop-flag-size.rs ... ok
test [ui] ui/drop/drop-trait.rs ... ok
test [ui] ui/drop/drop-with-type-ascription-2.rs ... ok
test [ui] ui/drop/nondrop-cycle.rs ... ok
test [ui] ui/dropck/dropck_fn_type.rs ... ok
test [ui] ui/drop/drop-struct-as-object.rs ... ok
test [ui] ui/dropck/dropck_traits.rs ... ok
test [ui] ui/drop/dropck-eyepatch.rs ... ok
test [ui] ui/dynamically-sized-types/dst-coercions.rs ... ok
test [ui] ui/drop/dropck-eyepatch-reorder.rs ... ok
test [ui] ui/dynamically-sized-types/dst-deref-mut.rs ... ok
test [ui] ui/dynamically-sized-types/dst-irrefutable-bind.rs ... ok
test [ui] ui/drop/dropck-eyepatch-extern-crate.rs ... ok
test [ui] ui/dynamically-sized-types/dst-raw.rs ... ok
test [ui] ui/dynamically-sized-types/dst-deref.rs ... ok
test [ui] ui/deriving/deriving-enum-single-variant.rs ... ok
test [ui] ui/dynamically-sized-types/dst-coerce-rc.rs ... ok
test [ui] ui/dynamically-sized-types/dst-struct-sole.rs ... ok
test [ui] ui/dynamically-sized-types/dst-index.rs ... ok
test [ui] ui/backtrace.rs ... ok
test [ui] ui/dynamically-sized-types/dst-field-align.rs ... ok
test [ui] ui/drop/drop-trait-enum.rs ... ok
test [ui] ui/dynamically-sized-types/dst-struct.rs ... ok
test [ui] ui/dynamically-sized-types/dst-tuple-sole.rs ... ok
test [ui] ui/early-ret-binop-add.rs ... ok
test [ui] ui/early-vtbl-resolution.rs ... ok
test [ui] ui/edition-keywords-2015-2018.rs ... ok
test [ui] ui/dynamically-sized-types/dst-coerce-custom.rs ... ok
test [ui] ui/dynamically-sized-types/dst-trait-tuple.rs ... ok
test [ui] ui/dynamically-sized-types/dst-trait.rs ... ok
test [ui] ui/edition-keywords-2018-2015.rs ... ok
test [ui] ui/edition-keywords-2015-2015.rs ... ok
test [ui] ui/future-incompatible-lint-group.rs ... ok
test [ui] ui/gated-bad-feature.rs ... ok
test [ui] ui/edition-keywords-2018-2018.rs ... ok
test [ui] ui/generator/async-generator-issue-67158.rs ... ok
test [ui] ui/generator/auto-trait-regions.rs ... ok
test [ui] ui/dynamically-sized-types/dst-tuple.rs ... ok
test [ui] ui/generator/borrowing.rs ... ok
test [ui] ui/drop/dropck_legal_cycles.rs ... ok
test [ui] ui/empty-type-parameter-list.rs ... ok
test [ui] ui/empty-allocation-rvalue-non-null.rs ... ok
test [ui] ui/else-if.rs ... ok
test [ui] ui/empty-allocation-non-null.rs ... ok
test [ui] ui/empty_global_asm.rs ... ok
test [ui] ui/enum-discriminant/arbitrary_enum_discriminant.rs ... ok
test [ui] ui/enum-discriminant/discriminant_size.rs ... ok
test [ui] ui/generator/dropck-resume.rs ... ok
test [ui] ui/enum-discriminant/discriminant_value-wrapper.rs ... ok
test [ui] ui/enum-discriminant/actually_not_an_enum-discriminant.rs ... ok
test [ui] ui/generator/dropck.rs ... ok
test [ui] ui/enum-discriminant/issue-70453-polymorphic-ctfe.rs ... ok
test [ui] ui/generator/generator-region-requirements.rs ... ok
test [ui] ui/enum-discriminant/discriminant_value.rs ... ok
test [ui] ui/enum-discriminant/issue-70509-partial_eq.rs ... ok
test [ui] ui/generator/generator-with-nll.rs ... ok
test [ui] ui/generator/generator-yielding-or-returning-itself.rs ... ok
test [ui] ui/generator/issue-48048.rs ... ok
test [ui] ui/enum-discriminant/repr128.rs ... ok
test [ui] ui/generator/issue-53548.rs ... ok
test [ui] ui/generator/issue-53548-1.rs ... ok
test [ui] ui/enum-discriminant/niche.rs ... ok
test [ui] ui/generator/issue-61442-stmt-expr-with-drop.rs ... ok
test [ui] ui/generator/issue-64620-yield-array-element.rs ... ok
test [ui] ui/generator/issue-62506-two_awaits.rs ... ok
test [ui] ui/generator/issue-68112.rs ... ok
test [ui] ui/epoch-gate-feature.rs ... ok
test [ui] ui/generator/issue-69017.rs ... ok
test [ui] ui/enum/enum-size-variance.rs ... ok
test [ui] ui/eq-multidispatch.rs ... ok
test [ui] ui/env-null-vars.rs ... ok
test [ui] ui/generator/not-send-sync.rs ... ok
test [ui] ui/env-vars.rs ... ok
test [ui] ui/env-home-dir.rs ... ok
test [ui] ui/explicit-i-suffix.rs ... ok
test [ui] ui/export-multi.rs ... ok
test [ui] ui/export-glob-imports-target.rs ... ok
test [ui] ui/expr-block-fn.rs ... ok
test [ui] ui/generator/partial-initialization-across-yield.rs ... ok
test [ui] ui/generator/pattern-borrow.rs ... ok
test [ui] ui/generator/ref-escapes-but-not-over-yield.rs ... ok
test [ui] ui/expr-block-unique.rs ... ok
test [ui] ui/export-non-interference3.rs ... ok
test [ui] ui/generator/resume-arg-late-bound.rs ... ok
test [ui] ui/expr-empty-ret.rs ... ok
test [ui] ui/expr-block-slot.rs ... ok
test [ui] ui/generator/retain-resume-ref.rs ... ok
test [ui] ui/expr-block-generic-unique1.rs ... ok
test [ui] ui/generator/sized-yield.rs ... ok
test [ui] ui/expr-block-generic.rs ... ok
test [ui] ui/expr-copy.rs ... ok
test [ui] ui/estr-uniq.rs ... ok
test [ui] ui/expr-block-generic-unique2.rs ... ok
test [ui] ui/extern/extern-prelude-core.rs ... ok
test [ui] ui/exec-env.rs ... ok
test [ui] ui/export-non-interference2.rs ... ok
test [ui] ui/expr-block.rs ... ok
test [ui] ui/generator/static-not-unpin.rs ... ok
test [ui] ui/generator/too-many-parameters.rs ... ok
test [ui] ui/expr-if-panic-all.rs ... ok
test [ui] ui/generator/static-mut-reference-across-yield.rs ... ok
test [ui] ui/generator/static-reference-across-yield.rs ... ok
test [ui] ui/expr-scope.rs ... ok
test [ui] ui/generator/type-mismatch-error.rs ... ok
test [ui] ui/generator/type-mismatch-signature-deduction.rs ... ok
test [ui] ui/expr-if-unique.rs ... ok
test [ui] ui/generator/yield-in-args.rs ... ok
test [ui] ui/expr-if-panic.rs ... ok
test [ui] ui/expr-if-generic.rs ... ok
test [ui] ui/generator/yield-in-const.rs ... ok
test [ui] ui/generator/yield-in-function.rs ... ok
test [ui] ui/generator/yield-in-static.rs ... ok
test [ui] ui/generator/yield-while-local-borrowed.rs ... ok
test [ui] ui/generator/yield-while-iterating.rs ... ok
test [ui] ui/generator/yield-while-ref-reborrowed.rs ... ok
test [ui] ui/expr-if.rs ... ok
test [ui] ui/expr-fn.rs ... ok
test [ui] ui/ext-expand-inner-exprs.rs ... ok
test [ui] ui/generic-associated-types/construct_with_other_type.rs ... ok
test [ui] ui/generic-associated-types/empty_generics.rs ... ok
test [ui] ui/generic-associated-types/collections-project-default.rs ... ok
test [ui] ui/generic-associated-types/gat-dont-ice-on-absent-feature-2.rs ... ok
test [ui] ui/generic-associated-types/gat-dont-ice-on-absent-feature.rs ... ok
test [ui] ui/exterior.rs ... ok
test [ui] ui/generic-associated-types/generic-associated-types-where.rs ... ok
test [ui] ui/generic-associated-types/generic_associated_type_undeclared_lifetimes.rs ... ok
test [ui] ui/extern/extern-1.rs ... ok
test [ui] ui/generic-associated-types/impl_bounds_ok.rs ... ok
test [ui] ui/generic-associated-types/issue-47206-where-clause.rs ... ok
test [ui] ui/generic-associated-types/impl_bounds.rs ... ok
test [ui] ui/generic-associated-types/issue-62326-parameter-out-of-range.rs ... ok
test [ui] ui/extern/extern-mod-abi.rs ... ok
test [ui] ui/generic-associated-types/issue-58694-parameter-out-of-range.rs ... ok
test [ui] ui/generic-associated-types/issue-67424.rs ... ok
test [ui] ui/extend-for-unit.rs ... ok
test [ui] ui/generic-associated-types/issue-68653.rs ... ok
test [ui] ui/generic-associated-types/issue-68642-broken-llvm-ir.rs ... ok
test [ui] ui/generic-associated-types/issue-68643-broken-mir.rs ... ok
test [ui] ui/generic-associated-types/issue-68641-check-gat-bounds.rs ... ok
test [ui] ui/generic-associated-types/issue-68645-codegen-fulfillment.rs ... ok
test [ui] ui/extern/extern-prelude-no-speculative.rs ... ok
test [ui] ui/generic-associated-types/issue-68644-codegen-selection.rs ... ok
test [ui] ui/extern/extern-foreign-crate.rs ... ok
test [ui] ui/generic-associated-types/parse/in-trait-impl.rs ... ok
test [ui] ui/generic-associated-types/parse/in-trait.rs ... ok
test [ui] ui/generic-associated-types/issue-68656-unsized-values.rs ... ok
test [ui] ui/generic-associated-types/parameter_number_and_kind.rs ... ok
test [ui] ui/generic-associated-types/parameter_number_and_kind_impl.rs ... ok
test [ui] ui/generic-associated-types/shadowing.rs ... ok
test [ui] ui/extern/extern-pub.rs ... ok
test [ui] ui/generic-associated-types/pointer_family.rs ... ok
test [ui] ui/generic-associated-types/unsatisfied-outlives-bound.rs ... ok
test [ui] ui/generic/generic-arg-mismatch-recover.rs ... ok
test [ui] ui/generic/generic-extern-lifetime.rs ... ok
test [ui] ui/generic/generic-extern.rs ... ok
test [ui] ui/extern/extern-prelude-std.rs ... ok
test [ui] ui/generic/generic-impl-more-params-with-defaults.rs ... ok
test [ui] ui/generic/generic-impl-less-params-with-defaults.rs ... ok
test [ui] ui/generic/generic-non-trailing-defaults.rs ... ok
test [ui] ui/generic/generic-lifetime-trait-impl.rs ... ok
test [ui] ui/extern/extern-rust.rs ... ok
test [ui] ui/generic/generic-type-less-params-with-defaults.rs ... ok
test [ui] ui/generic/generic-type-params-forward-mention.rs ... ok
test [ui] ui/extern/extern-types-inherent-impl.rs ... ok
test [ui] ui/generic/generic-type-more-params-with-defaults.rs ... ok
test [ui] ui/extern/extern-mod-ordering-exe.rs ... ok
test [ui] ui/generic-associated-types/missing-bounds.rs ... ok
test [ui] ui/env-funky-keys.rs ... ok
test [ui] ui/generic/generic-no-mangle.rs ... ok
test [ui] ui/generic/generic-param-attrs.rs ... ok
test [ui] ui/extern/extern-types-pointer-cast.rs ... ok
test [ui] ui/extern/extern-types-manual-sync-send.rs ... ok
test [ui] ui/extern/extern-types-size_of_val.rs ... ok
test [ui] ui/generic/generic-type-params-name-repr.rs ... ok
test [ui] ui/extern/extern-types-thin-pointer.rs ... ok
test [ui] ui/extern/extern-calling-convention-test.rs ... ok
test [ui] ui/extern/extern-take-value.rs ... ok
test [ui] ui/extern/extern-types-trait-impl.rs ... ok
test [ui] ui/extern/extern_fat_drop.rs ... ok
test [ui] ui/extern/extern-compare-with-return-type.rs ... ok
test [ui] ui/command/command-exec.rs ... ok
test [ui] ui/eprint-on-tls-drop.rs ... ok
test [ui] ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs#no ... ok
test [ui] ui/generics/issue-61631-default-type-param-can-reference-self-in-trait.rs ... ok
test [ui] ui/generics/issue-61631-default-type-param-cannot-reference-self.rs ... ok
test [ui] ui/generics/issue-65285-incorrect-explicit-lifetime-name-needed.rs ... ok
test [ui] ui/glob-cycles.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#no0 ... ok
test [ui] ui/glob-resolve1.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#no1 ... ok
test [ui] ui/half-open-range-patterns/exclusive_range_pattern_syntax_collision.rs ... ok
test [ui] ui/half-open-range-patterns/exclusive_range_pattern_syntax_collision2.rs ... ok
test [ui] ui/half-open-range-patterns/exclusive_range_pattern_syntax_collision3.rs ... ok
test [ui] ui/half-open-range-patterns/feature-gate-half-open-range-patterns.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#no2 ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-bad-types.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-exhaustive-pass.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#no3 ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-hair-lower-empty.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-inclusive-dotdotdot-bad-syntax.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-inclusive-no-end.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-ref-ambiguous-interp.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-syntactic-pass.rs ... ok
test [ui] ui/half-open-range-patterns/pat-tuple-4.rs ... ok
test [ui] ui/half-open-range-patterns/pat-tuple-5.rs ... ok
test [ui] ui/hashmap/hashmap-iter-value-lifetime.rs ... ok
test [ui] ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs#thin ... ok
test [ui] ui/hashmap/hashmap-lifetimes.rs ... ok
test [ui] ui/drop/dynamic-drop.rs ... ok
test [ui] ui/extoption_env-not-defined.rs ... ok
test [ui] ui/hidden-rt-injection.rs ... ok
test [ui] ui/hello_world/main.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#thin0 ... ok
test [ui] ui/hidden-rt-injection2.rs ... ok
test [ui] ui/higher-lifetime-bounds.rs ... ok
test [ui] ui/fact.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat0 ... ok
test [ui] ui/fat-ptr-cast-rpass.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#thin1 ... ok
test [ui] ui/drop/dynamic-drop-async.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#thin2 ... ok
test [ui] ui/env-args-reverse-iterator.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#thin3 ... ok
test [ui] ui/feature-gates/feature-gate-trivial_bounds-lint.rs ... ok
test [ui] ui/feature-gates/feature-gate-public_private_dependencies.rs ... ok
test [ui] ui/filter-block-view-items.rs ... ok
test [ui] ui/for-loop-while/for-loop-no-std.rs ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_a_b_ret_a_vs_bound_a_ret_a ... ok
test [ui] ui/for-loop-while/auto-loop.rs ... ok
test [ui] ui/fn/dyn-fn-alignment.rs ... ok
test [ui] ui/fixup-deref-mut.rs ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_a_b_vs_bound_a ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_a_vs_bound_a ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_a_vs_free_x ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_a_vs_bound_b ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_co_a_co_b_ret_contra_a ... ok
test [ui] ui/for-loop-while/break-value.rs ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_co_a_b_vs_bound_co_a ... ok
test [ui] ui/for-loop-while/for-loop-mut-ref-element.rs ... ok
test [ui] ui/for-loop-while/for-loop-macro.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat1 ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_co_a_vs_bound_co_b ... ok
test [ui] ui/for-loop-while/for-loop-goofiness.rs ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#free_x_vs_free_y ... ok
test [ui] ui/hr-subtype/return-static.rs ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#free_inv_x_vs_free_inv_y ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_inv_a_b_vs_bound_inv_a ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#free_x_vs_free_x ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_inv_a_vs_bound_inv_b ... ok
test [ui] ui/hr-subtype/hr-subtype.rs#bound_contra_a_contra_b_ret_co_a ... ok
test [ui] ui/for-loop-while/for-loop-has-unit-body.rs ... ok
test [ui] ui/hrtb/due-to-where-clause.rs ... ok
test [ui] ui/hrtb/hrtb-cache-issue-54302.rs ... ok
test [ui] ui/fn/expr-fn-panic.rs ... ok
test [ui] ui/hrtb/hrtb-exists-forall-trait-contravariant.rs ... ok
test [ui] ui/hrtb/hrtb-exists-forall-fn.rs ... ok
test [ui] ui/hrtb/hrtb-conflate-regions.rs ... ok
test [ui] ui/hrtb/hrtb-exists-forall-trait-invariant.rs ... ok
test [ui] ui/hrtb/hrtb-debruijn-in-receiver.rs ... ok
test [ui] ui/hrtb/hrtb-exists-forall-trait-covariant.rs ... ok
test [ui] ui/hrtb/hrtb-higher-ranker-supertraits-transitive.rs ... ok
test [ui] ui/huge-array-simple-32.rs ... ignored
test [ui] ui/hrtb/hrtb-higher-ranker-supertraits.rs ... ok
test [ui] ui/hrtb/hrtb-perfect-forwarding.rs ... ok
test [ui] ui/hrtb/hrtb-just-for-static.rs ... ok
test [ui] ui/hrtb/hrtb-identity-fn-borrows.rs ... ok
test [ui] ui/for-loop-while/for-destruct.rs ... ok
test [ui] ui/for-loop-while/for-loop-panic.rs ... ok
test [ui] ui/hrtb/issue-46989.rs ... ok
test [ui] ui/hrtb/issue-57639.rs ... ok
test [ui] ui/hrtb/issue-58451.rs ... ok
test [ui] ui/hrtb/issue-62203-hrtb-ice.rs ... ok
test [ui] ui/for-loop-while/for-loop-lifetime-of-unbound-values.rs ... ok
test [ui] ui/hrtb/issue-30786.rs#migrate ... ok
test [ui] ui/hrtb/issue-30786.rs#nll ... ok
test [ui] ui/hygiene/assoc_item_ctxt.rs ... ok
test [ui] ui/hygiene/arguments.rs ... ok
test [ui] ui/hygiene/assoc_ty_bindings.rs ... ok
test [ui] ui/hygiene/duplicate_lifetimes.rs ... ok
test [ui] ui/for-loop-while/for-loop-into-iterator.rs ... ok
test [ui] ui/hygiene/eager-from-opaque-2.rs ... ok
test [ui] ui/hygiene/expansion-info-reset.rs ... ok
test [ui] ui/hygiene/fields-definition.rs ... ok
test [ui] ui/hygiene/eager-from-opaque.rs ... ok
test [ui] ui/hygiene/extern-prelude-from-opaque-fail.rs ... ok
test [ui] ui/hygiene/fields-numeric-borrowck.rs ... ok
test [ui] ui/huge-array.rs ... ok
test [ui] ui/hygiene/fields-move.rs ... ok
test [ui] ui/huge-array-simple-64.rs ... ok
test [ui] ui/huge-enum.rs ... ok
test [ui] ui/huge-struct.rs ... ok
test [ui] ui/hygiene/fields.rs ... ok
test [ui] ui/hygiene/generate-mod.rs ... ok
test [ui] ui/hygiene/for-loop.rs ... ok
test [ui] ui/hygiene/globs.rs ... ok
test [ui] ui/hygiene/dollar-crate-modern.rs ... ok
test [ui] ui/hygiene/hygienic-label-2.rs ... ok
test [ui] ui/hygiene/hygienic-label-1.rs ... ok
test [ui] ui/hygiene/format-args.rs ... ok
test [ui] ui/hygiene/generic_params.rs ... ok
test [ui] ui/hygiene/hygienic-label-4.rs ... ok
test [ui] ui/hygiene/hygienic-label-3.rs ... ok
test [ui] ui/fmt/format-args-capture.rs ... ok
test [ui] ui/hygiene/issue-47311.rs ... ok
test [ui] ui/hygiene/impl_items.rs ... ok
test [ui] ui/hygiene/items.rs ... ok
test [ui] ui/hygiene/issue-44128.rs ... ok
test [ui] ui/hygiene/issue-47312.rs ... ok
test [ui] ui/hygiene/issue-61574-const-parameters.rs ... ok
test [ui] ui/hygiene/lexical.rs ... ok
test [ui] ui/hygiene/missing-self-diag.rs ... ok
test [ui] ui/hygiene/no_implicit_prelude-2018.rs ... ok
test [ui] ui/hygiene/pattern-macro.rs ... ok
test [ui] ui/hygiene/no_implicit_prelude.rs ... ok
test [ui] ui/hygiene/nested_macro_privacy.rs ... ok
test [ui] ui/hygiene/legacy_interaction.rs ... ok
test [ui] ui/hygiene/privacy-early.rs ... ok
test [ui] ui/hygiene/privacy.rs ... ok
test [ui] ui/hygiene/intercrate.rs ... ok
test [ui] ui/hygiene/local_inner_macros.rs ... ok
test [ui] ui/hygiene/rustc-macro-transparency.rs ... ok
test [ui] ui/hygiene/stdlib-prelude-from-opaque-late.rs ... ok
test [ui] ui/hygiene/trait_items-2.rs ... ok
test [ui] ui/hygiene/unpretty-debug.rs ... ok
test [ui] ui/hygiene/prelude-import-hygiene.rs#rust2015 ... ok
test [ui] ui/hygiene/trait_items.rs ... ok
test [ui] ui/hygiene/prelude-import-hygiene.rs#rust2018 ... ok
test [ui] ui/hygiene/stdlib-prelude-from-opaque-early.rs ... ok
test [ui] ui/if-attrs/bad-cfg.rs ... ok
test [ui] ui/if-attrs/builtin-if-attr.rs ... ok
test [ui] ui/if-attrs/cfg-false-if-attr.rs ... ok
test [ui] ui/if-attrs/else-attrs.rs ... ok
test [ui] ui/if-attrs/let-chains-attr.rs ... ok
test [ui] ui/if-attrs/stmt-expr-gated.rs ... ok
test [ui] ui/hygiene/transparent-basic.rs ... ok
test [ui] ui/for-loop-while/break.rs ... ok
test [ui] ui/hygiene/wrap_unhygienic_example.rs ... ok
test [ui] ui/if/if-branch-types.rs ... ok
test [ui] ui/if-else-type-mismatch.rs ... ok
test [ui] ui/for-loop-while/loop-break-cont-1.rs ... ok
test [ui] ui/for-loop-while/labeled-break.rs ... ok
test [ui] ui/for-loop-while/loop-no-reinit-needed-post-bot.rs ... ok
test [ui] ui/for-loop-while/liveness-loop-break.rs ... ok
test [ui] ui/for-loop-while/liveness-move-in-loop.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators.rs ... ok
test [ui] ui/if/if-let.rs ... ok
test [ui] ui/if/if-loop.rs ... ok
test [ui] ui/if/if-no-match-bindings.rs ... ok
test [ui] ui/if/if-without-block.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators-break.rs ... ok
test [ui] ui/if/if-let-arm-types.rs ... ok
test [ui] ui/if/if-without-else-result.rs ... ok
test [ui] ui/if/if-without-else-as-fn-expr.rs ... ok
test [ui] ui/for-loop-while/foreach-put-structured.rs ... ok
test [ui] ui/if/ifmt-bad-format-args.rs ... ok
test [ui] ui/if/if-typeck.rs ... ok
test [ui] ui/if/ifmt-unknown-trait.rs ... ok
test [ui] ui/if/ifmt-unimpl.rs ... ok
test [ui] ui/illegal-ufcs-drop.rs ... ok
test [ui] ui/immut-function-arguments.rs ... ok
test [ui] ui/impl-duplicate-methods.rs ... ok
test [ui] ui/impl-bounds-checking.rs ... ok
test [ui] ui/impl-header-lifetime-elision/assoc-type.rs ... ok
test [ui] ui/if/ifmt-bad-arg.rs ... ok
test [ui] ui/extern/issue-64655-allow-unwind-when-calling-panic-directly.rs#fat ... ok
test [ui] ui/impl-header-lifetime-elision/dyn-trait.rs ... ok
test [ui] ui/impl-header-lifetime-elision/path-elided.rs ... ok
test [ui] ui/impl-header-lifetime-elision/trait-elided.rs ... ok
test [ui] ui/impl-header-lifetime-elision/inherent-impl.rs ... ok
test [ui] ui/for-loop-while/loop-labeled-break-value.rs ... ok
test [ui] ui/for-loop-while/liveness-assign-imm-local-after-loop.rs ... ok
test [ui] ui/for-loop-while/loop-diverges.rs ... ok
test [ui] ui/impl-trait-in-bindings-issue-73003.rs ... ok
test [ui] ui/for-loop-while/foreach-nested.rs ... ok
test [ui] ui/for-loop-while/for-loop-unconstrained-element-type-i32-fallback.rs ... ok
test [ui] ui/for-loop-while/loop-scope.rs ... ok
test [ui] ui/for-loop-while/foreach-simple-outer-slot.rs ... ok
test [ui] ui/fds-are-cloexec.rs ... ok
test [ui] ui/impl-trait/associated-impl-trait-type-generic-trait.rs ... ok
test [ui] ui/impl-trait/associated-impl-trait-type-trivial.rs ... ok
test [ui] ui/impl-trait/associated-impl-trait-type.rs ... ok
test [ui] ui/for-loop-while/loop-break-cont.rs ... ok
test [ui] ui/impl-trait/auto-trait-leak2.rs ... ok
test [ui] ui/impl-trait/auto-trait-leak.rs ... ok
test [ui] ui/impl-trait/binding-without-value.rs ... ok
test [ui] ui/impl-trait/auto-trait.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat2 ... ok
test [ui] ui/impl-trait/bindings-opaque.rs ... ok
test [ui] ui/impl-trait/bound-normalization-fail.rs ... ok
test [ui] ui/impl-trait/bindings.rs ... ok
test [ui] ui/impl-trait/bound-normalization-pass.rs ... ok
test [ui] ui/impl-trait/closure-calling-parent-fn.rs ... ok
test [ui] ui/impl-trait/does-not-live-long-enough.rs ... ok
test [ui] ui/impl-trait/dyn-trait-elided-two-inputs-assoc.rs ... ok
test [ui] ui/impl-trait/dyn-trait-elided-two-inputs-param.rs ... ok
test [ui] ui/impl-trait/can-return-unconstrained-closure.rs ... ok
test [ui] ui/impl-trait/dyn-trait-elided-two-inputs-ref-assoc.rs ... ok
test [ui] ui/impl-trait/deprecated_annotation.rs ... ok
test [ui] ui/impl-trait/dyn-trait-elided-two-inputs-ref-param.rs ... ok
test [ui] ui/impl-trait/equal-hidden-lifetimes.rs ... ok
test [ui] ui/impl-trait/equality.rs ... ok
test [ui] ui/impl-trait/equality2.rs ... ok
test [ui] ui/impl-trait/hidden-lifetimes.rs ... ok
test [ui] ui/impl-trait/extra-item.rs ... ok
test [ui] ui/impl-trait/dyn-trait-return-should-be-impl-trait.rs ... ok
test [ui] ui/impl-trait/impl-trait-plus-priority.rs ... ok
test [ui] ui/impl-trait/impl-generic-mismatch-ab.rs ... ok
test [ui] ui/impl-trait/impl-generic-mismatch.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators-loop.rs ... ok
test [ui] ui/impl-trait/impl_trait_projections.rs ... ok
test [ui] ui/impl-trait/issue-55872.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators-nested.rs ... ok
test [ui] ui/for-loop-while/label_break_value.rs ... ok
test [ui] ui/impl-trait/issue-55872-2.rs ... ok
test [ui] ui/impl-trait/issue-55872-1.rs ... ok
test [ui] ui/impl-trait/issue-56445.rs ... ok
test [ui] ui/impl-trait/issue-57200.rs ... ok
test [ui] ui/impl-trait/issue-57201.rs ... ok
test [ui] ui/impl-trait/issue-60473.rs ... ok
test [ui] ui/impl-trait/issue-67166.rs ... ok
test [ui] ui/impl-trait/issue-68532.rs ... ok
test [ui] ui/impl-trait/issue-69840.rs ... ok
test [ui] ui/impl-trait/issues/infinite-impl-trait-issue-38064.rs ... ok
test [ui] ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs ... ok
test [ui] ui/for-loop-while/loop-label-shadowing.rs ... ok
test [ui] ui/impl-trait/issues/issue-42479.rs ... ok
test [ui] ui/impl-trait/issues/issue-49376.rs ... ok
test [ui] ui/extern/issue-64655-extern-rust-must-allow-unwind.rs#fat3 ... ok
test [ui] ui/for-loop-while/loop-break-value.rs ... ok
test [ui] ui/impl-trait/issues/issue-52128.rs ... ok
test [ui] ui/for-loop-while/while-flow-graph.rs ... ok
test [ui] ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs ... ok
test [ui] ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs ... ok
test [ui] ui/impl-trait/issues/issue-57464-unexpected-regions.rs ... ok
test [ui] ui/impl-trait/issues/issue-55608-captures-empty-region.rs ... ok
test [ui] ui/impl-trait/issues/issue-53457.rs ... ok
test [ui] ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs ... ok
test [ui] ui/impl-trait/issues/universal-issue-48703.rs ... ok
test [ui] ui/impl-trait/issues/universal-turbofish-in-method-issue-50950.rs ... ok
test [ui] ui/impl-trait/method-suggestion-no-duplication.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/inverse-bounds.rs#migrate ... ok
test [ui] ui/impl-trait/multiple-lifetimes/inverse-bounds.rs#mir ... ok
test [ui] ui/impl-trait/multiple-lifetimes/error-handling.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/error-handling-2.rs ... ok
test [ui] ui/for-loop-while/linear-for-loop.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs#migrate ... ok
test [ui] ui/impl-trait/multiple-lifetimes.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-type-alias-impl-trait.rs#mir ... ok
test [ui] ui/for-loop-while/while-cont.rs ... ok
test [ui] ui/for-loop-while/while-label.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-elided.rs#migrate ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-unrelated.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original-elided.rs#mir ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-unsuited.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original.rs#mir ... ok
test [ui] ui/impl-trait/needs_least_region_or_bound.rs ... ok
test [ui] ui/impl-trait/nested-return-type.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-other.rs#migrate ... ok
test [ui] ui/impl-trait/must_outlive_least_region_or_bound.rs ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-original.rs#migrate ... ok
test [ui] ui/impl-trait/multiple-lifetimes/ordinary-bounds-pick-other.rs#mir ... ok
test [ui] ui/impl-trait/negative-reasoning.rs ... ok
test [ui] ui/impl-trait/object-unsafe-trait-in-return-position-dyn-trait.rs ... ok
test [ui] ui/impl-trait/no-trait.rs ... ok
test [ui] ui/impl-trait/recursive-impl-trait-type-direct.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators-hashmap.rs ... ok
test [ui] ui/impl-trait/recursive-impl-trait-type-through-non-recursive.rs ... ok
test [ui] ui/impl-trait/region-escape-via-bound.rs ... ok
test [ui] ui/impl-trait/recursive-impl-trait-type-indirect.rs ... ok
test [ui] ui/for-loop-while/foreach-external-iterators-hashmap-break-restart.rs ... ok
test [ui] ui/impl-trait/trait_type.rs ... ok
test [ui] ui/impl-trait/static-return-lifetime-infered.rs ... ok
test [ui] ui/impl-trait/object-unsafe-trait-in-return-position-impl-trait.rs ... ok
test [ui] ui/impl-trait/type_parameters_captured.rs ... ok
test [ui] ui/impl-trait/universal-two-impl-traits.rs ... ok
test [ui] ui/impl-trait/return-position-impl-trait-minimal.rs ... ok
test [ui] ui/impl-trait/universal-mismatched-type.rs ... ok
test [ui] ui/for-loop-while/while.rs ... ok
test [ui] ui/impl-trait/no-method-suggested-traits.rs ... ok
test [ui] ui/impl-trait/type-alias-impl-trait-in-fn-body.rs ... ok
test [ui] ui/for-loop-while/while-loop-constraints-2.rs ... ok
test [ui] ui/impl-trait/universal_wrong_bounds.rs ... ok
test [ui] ui/impl-trait/unsafety-checking-cycle.rs ... ok
test [ui] ui/impl-trait/where-allowed-2.rs ... ok
test [ui] ui/for-loop-while/while-prelude-drop.rs ... ok
test [ui] ui/impl-trait/where-allowed.rs ... ok
test [ui] ui/impl-unused-rps-in-assoc-type.rs ... ok
test [ui] ui/impl-unused-tps-inherent.rs ... ok
test [ui] ui/impl-unused-tps.rs ... ok
test [ui] ui/implicit-method-bind.rs ... ok
test [ui] ui/import2.rs ... ok
test [ui] ui/import.rs ... ok
test [ui] ui/import3.rs ... ok
test [ui] ui/imports/duplicate.rs ... ok
test [ui] ui/import4.rs ... ok
test [ui] ui/for-loop-while/while-with-break.rs ... ok
test [ui] ui/imports/extern-crate-self/extern-crate-self-fail.rs ... ok
test [ui] ui/imports/extern-crate-used.rs ... ok
test [ui] ui/imports/extern-crate-self/extern-crate-self-pass.rs ... ok
test [ui] ui/imports/extern-crate-self/extern-crate-self-macro-item.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-cfg.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-absolute-expanded.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-fail.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-restricted-shadowing.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-pass.rs ... ok
test [ui] ui/imports/extern-prelude-extern-crate-shadowing.rs ... ok
test [ui] ui/imports/glob-shadowing.rs ... ok
test [ui] ui/imports/gensymed.rs ... ok
test [ui] ui/imports/glob-conflict-cross-crate.rs ... ok
test [ui] ui/imports/import-from-missing.rs ... ok
test [ui] ui/imports/import-crate-var.rs ... ok
test [ui] ui/format-no-std.rs ... ok
test [ui] ui/imports/import-glob-0.rs ... ok
test [ui] ui/foreign/foreign-truncated-arguments.rs ... ok
test [ui] ui/foreign/foreign-int-types.rs ... ok
test [ui] ui/fat-lto.rs ... ok
test [ui] ui/imports/import-glob-circular.rs ... ok
test [ui] ui/foreign/foreign-mod-unused-const.rs ... ok
test [ui] ui/imports/import-loop-2.rs ... ok
test [ui] ui/imports/import-loop.rs ... ok
test [ui] ui/imports/import-prefix-macro-1.rs ... ok
test [ui] ui/imports/import-prefix-macro-2.rs ... ok
test [ui] ui/for-loop-while/while-let.rs ... ok
test [ui] ui/foreign/foreign2.rs ... ok
test [ui] ui/imports/import-trait-method.rs ... ok
test [ui] ui/fsu-moves-and-copies.rs ... ok
test [ui] ui/format-ref-cell.rs ... ok
test [ui] ui/fun-indirect-call.rs ... ok
test [ui] ui/functions-closures/capture-clauses-unboxed-closures.rs ... ok
test [ui] ui/functions-closures/closure-expected-type/expect-infer-supply-two-infers.rs ... ok
test [ui] ui/fun-call-variants.rs ... ok
test [ui] ui/functions-closures/closure-expected-type/supply-just-return-type.rs ... ok
test [ui] ui/functions-closures/closure-expected-type/issue-38714.rs ... ok
test [ui] ui/functions-closures/capture-clauses-boxed-closures.rs ... ok
test [ui] ui/foreign/foreign-fn-linkname.rs ... ok
test [ui] ui/functions-closures/call-closure-from-overloaded-op.rs ... ok
test [ui] ui/imports/issue-53140.rs ... ok
test [ui] ui/imports/issue-53512.rs ... ok
test [ui] ui/imports/issue-53269.rs ... ok
test [ui] ui/imports/issue-55457.rs ... ok
test [ui] ui/imports/issue-55884-1.rs ... ok
test [ui] ui/imports/issue-55884-2.rs ... ok
test [ui] ui/functions-closures/closure-immediate.rs ... ok
test [ui] ui/imports/issue-56263.rs ... ok
test [ui] ui/functions-closures/clone-closure.rs ... ok
test [ui] ui/imports/issue-55811.rs ... ok
test [ui] ui/imports/issue-57015.rs ... ok
test [ui] ui/imports/issue-57539.rs ... ok
test [ui] ui/imports/local-modularized-tricky-fail-1.rs ... ok
test [ui] ui/imports/issue-62767.rs ... ok
test [ui] ui/imports/issue-56125.rs ... ok
test [ui] ui/imports/local-modularized-tricky-fail-2.rs ... ok
test [ui] ui/functions-closures/closure-inference.rs ... ok
test [ui] ui/functions-closures/closure-expected-type/supply-nothing.rs ... ok
test [ui] ui/imports/local-modularized-tricky-fail-3.rs ... ok
test [ui] ui/backtrace-debuginfo.rs ... test [ui] ui/backtrace-debuginfo.rs has been running for over 60 seconds
test [ui] ui/imports/reexports.rs ... ok
test [ui] ui/imports/rfc-1560-warning-cycle.rs ... ok
test [ui] ui/functions-closures/closure-inference2.rs ... ok
test [ui] ui/imports/unused-macro-use.rs ... ok
test [ui] ui/imports/unused.rs ... ok
test [ui] ui/imports/local-modularized.rs ... ok
test [ui] ui/imports/local-modularized-tricky-pass.rs ... ok
test [ui] ui/imports/unresolved-imports-used.rs ... ok
test [ui] ui/imports/macros.rs ... ok
test [ui] ui/imports/macro-paths.rs ... ok
test [ui] ui/functions-closures/closure-returning-closure.rs ... ok
test [ui] ui/in-band-lifetimes/E0687.rs ... ok
test [ui] ui/in-band-lifetimes/E0687_where.rs ... ok
test [ui] ui/imports/shadow_builtin_macros.rs ... ok
test [ui] ui/in-band-lifetimes/E0688.rs ... ok
test [ui] ui/in-band-lifetimes/issue-61124-anon-lifetime-in-struct-declaration.rs ... ok
test [ui] ui/in-band-lifetimes/mismatched.rs ... ok
test [ui] ui/in-band-lifetimes/mismatched_trait_impl.rs ... ok
test [ui] ui/in-band-lifetimes/mismatched_trait_impl-2.rs ... ok
test [ui] ui/in-band-lifetimes/mismatched_trait.rs ... ok
test [ui] ui/impossible_range.rs ... ok
test [ui] ui/functions-closures/closure-bounds-can-capture-chan.rs ... ok
test [ui] ui/in-band-lifetimes/mut_while_borrow.rs ... ok
test [ui] ui/include-single-expr-helper-1.rs ... ignored
test [ui] ui/include-single-expr-helper.rs ... ignored
test [ui] ui/in-band-lifetimes/no_in_band_in_struct.rs ... ok
test [ui] ui/in-band-lifetimes/nested-items.rs ... ok
test [ui] ui/in-band-lifetimes/no_introducing_in_band_in_locals.rs ... ok
test [ui] ui/in-band-lifetimes/shadow.rs ... ok
test [ui] ui/functions-closures/closure_to_fn_coercion-expected-types.rs ... ok
test [ui] ui/in-band-lifetimes/elided-lifetimes.rs ... ok
test [ui] ui/include-single-expr.rs ... ok
test [ui] ui/index-bot.rs ... ok
test [ui] ui/index_message.rs ... ok
test [ui] ui/index-help.rs ... ok
test [ui] ui/include-macros/mismatched-types.rs ... ok
test [ui] ui/indexing-requires-a-uint.rs ... ok
test [ui] ui/inference/cannot-infer-async.rs ... ok
test [ui] ui/inference/cannot-infer-async-enabled-impl-trait-bindings.rs ... ok
test [ui] ui/functions-closures/closure-to-fn-coercion.rs ... ok
test [ui] ui/inference/cannot-infer-closure.rs ... ok
test [ui] ui/inference/inference-variable-behind-raw-pointer.rs ... ok
test [ui] ui/inference/infer-binary-operand-behind-reference.rs ... ok
test [ui] ui/infinite/infinite-macro-expansion.rs ... ok
test [ui] ui/infinite/infinite-recursion-const-fn.rs ... ok
test [ui] ui/infinite/infinite-tag-type-recursion.rs ... ok
test [ui] ui/format-nan.rs ... ok
test [ui] ui/infinite/infinite-vec-type-recursion.rs ... ok
test [ui] ui/inference/inference_unstable_forced.rs ... ok
test [ui] ui/infinite/infinite-instantiation.rs ... ok
test [ui] ui/infinite/infinite-autoderef.rs ... ok
test [ui] ui/functions-closures/closure-reform.rs ... ok
test [ui] ui/functions-closures/fn-bare-coerce-to-block.rs ... ok
test [ui] ui/inference/inference_unstable_featured.rs ... ok
test [ui] ui/inner-static-type-parameter.rs ... ok
test [ui] ui/functions-closures/copy-closure.rs ... ok
test [ui] ui/inline-asm-bad-constraint.rs ... ok
test [ui] ui/inline-asm-bad-operand.rs ... ok
test [ui] ui/integer-literal-suffix-inference.rs ... ok
test [ui] ui/integral-indexing.rs ... ok
test [ui] ui/interior-mutability/interior-mutability.rs ... ok
test [ui] ui/internal/internal-unstable-const.rs ... ok
test [ui] ui/functions-closures/fn-bare-assign.rs ... ok
test [ui] ui/integral-variable-unification-error.rs ... ok
test [ui] ui/intrinsics-always-extern.rs ... ok
test [ui] ui/functions-closures/fn-bare-item.rs ... ok
test [ui] ui/functions-closures/fn-bare-size.rs ... ok
test [ui] ui/internal/internal-unstable-noallow.rs ... ok
test [ui] ui/internal/internal-unstable-thread-local.rs ... ok
test [ui] ui/internal/internal-unstable.rs ... ok
test [ui] ui/functions-closures/fn-bare-spawn.rs ... ok
test [ui] ui/functions-closures/fn-lval.rs ... ok
test [ui] ui/functions-closures/fn-item-type-cast.rs ... ok
test [ui] ui/functions-closures/fn-abi.rs ... ok
test [ui] ui/functions-closures/fn-type-infer.rs ... ok
test [ui] ui/functions-closures/fn-item-type-coerce.rs ... ok
test [ui] ui/functions-closures/fn-item-type-zero-sized.rs ... ok
test [ui] ui/functions-closures/implied-bounds-closure-arg-outlives.rs ... ok
test [ui] ui/intrinsics/issue-28575.rs ... ok
test [ui] ui/intrinsics/unchecked_math_unstable.rs ... ok
test [ui] ui/intrinsics/unchecked_math_unsafe.rs ... ok
test [ui] ui/invalid-module-declaration/invalid-module-declaration.rs ... ok
test [ui] ui/invalid-self-argument/bare-fn-start.rs ... ok
test [ui] ui/functions-closures/return-from-closure.rs ... ok
test [ui] ui/functions-closures/parallel-codegen-closures.rs ... ok
test [ui] ui/invalid-self-argument/bare-fn.rs ... ok
test [ui] ui/invalid-self-argument/trait-fn.rs ... ok
test [ui] ui/invalid/invalid-crate-type.rs ... ok
test [ui] ui/functions-closures/fn-coerce-field.rs ... ok
test [ui] ui/invalid/invalid-inline.rs ... ok
test [ui] ui/invalid/invalid-no-sanitize.rs ... ok
test [ui] ui/invalid/invalid-macro-matcher.rs ... ok
test [ui] ui/invalid/invalid-plugin-attr.rs ... ok
test [ui] ui/invalid/invalid-path-in-const.rs ... ok
test [ui] ui/invalid_crate_type_syntax.rs ... ok
test [ui] ui/invalid_dispatch_from_dyn_impls.rs ... ok
test [ui] ui/generator/borrow-in-tail-expr.rs ... ok
test [ui] ui/generator/conditional-drop.rs#default ... ok
test [ui] ui/generator/addassign-yield.rs ... ok
test [ui] ui/issues-71798.rs ... ok
test [ui] ui/issues/issue-10200.rs ... ok
test [ui] ui/issue-73914.rs ... ok
test [ui] ui/issues/issue-10291.rs ... ok
test [ui] ui/issues/issue-10176.rs ... ok
test [ui] ui/functions-closures/nullable-pointer-opt-closures.rs ... ok
test [ui] ui/issues/issue-10401.rs ... ok
test [ui] ui/issues/issue-10398.rs ... ok
test [ui] ui/issues/issue-10396.rs ... ok
test [ui] ui/generator/drop-and-replace.rs ... ok
test [ui] ui/generator/control-flow.rs#default ... ok
test [ui] ui/issues/issue-10412.rs ... ok
test [ui] ui/issues/issue-10545.rs ... ok
test [ui] ui/issues/issue-10536.rs ... ok
test [ui] ui/issues/issue-10456.rs ... ok
test [ui] ui/generator/conditional-drop.rs#nomiropt ... ok
test [ui] ui/issues/issue-10465.rs ... ok
test [ui] ui/issues/issue-10656.rs ... ok
test [ui] ui/generator/control-flow.rs#nomiropt ... ok
test [ui] ui/generator/drop-env.rs#default ... ok
test [ui] ui/generator/drop-env.rs#nomiropt ... ok
test [ui] ui/generator/issue-52398.rs ... ok
test [ui] ui/issues/issue-10763.rs ... ok
test [ui] ui/issues/issue-10764.rs ... ok
test [ui] ui/generator/issue-58888.rs ... ok
test [ui] ui/issues/issue-10853.rs ... ok
test [ui] ui/generator/issue-44197.rs ... ok
test [ui] ui/generator/issue-57084.rs ... ok
test [ui] ui/issues/issue-10877.rs ... ok
test [ui] ui/generator/match-bindings.rs ... ok
test [ui] ui/issues/issue-10902.rs ... ok
test [ui] ui/issues/issue-10991.rs ... ok
test [ui] ui/issues/issue-10969.rs ... ok
test [ui] ui/issues/issue-11004.rs ... ok
test [ui] ui/generator/issue-69039.rs ... ok
test [ui] ui/generator/nested_generators.rs ... ok
test [ui] ui/generator/niche-in-generator.rs ... ok
test [ui] ui/generator/generator-resume-after-panic.rs ... ok
test [ui] ui/generator/live-upvar-across-yield.rs ... ok
test [ui] ui/generator/non-static-is-unpin.rs ... ok
test [ui] ui/issues/issue-11192.rs ... ok
test [ui] ui/generator/iterator-count.rs ... ok
test [ui] ui/generator/overlap-locals.rs ... ok
test [ui] ui/issues/issue-11154.rs ... ok
test [ui] ui/generator/discriminant.rs ... ok
test [ui] ui/issues/issue-11374.rs ... ok
test [ui] ui/issues/issue-11319.rs ... ok
test [ui] ui/issues/issue-11384.rs ... ok
test [ui] ui/issues/issue-11493.rs ... ok
test [ui] ui/generator/resume-arg-size.rs ... ok
test [ui] ui/generator/pin-box-generator.rs ... ok
test [ui] ui/issues/issue-11515.rs ... ok
test [ui] ui/generator/reborrow-mut-upvar.rs ... ok
test [ui] ui/issues/issue-11592.rs ... ok
test [ui] ui/issues/issue-11612.rs ... ok
test [ui] ui/issues/issue-11593.rs ... ok
test [ui] ui/generator/size-moved-locals.rs ... ok
test [ui] ui/issues/issue-11681.rs ... ok
test [ui] ui/issues/issue-11680.rs ... ok
test [ui] ui/issues/issue-11692-1.rs ... ok
test [ui] ui/issues/issue-11692-2.rs ... ok
test [ui] ui/generator/static-generators.rs ... ok
test [ui] ui/generator/panic-drops.rs ... ok
test [ui] ui/generator/panic-drops-resume.rs ... ok
test [ui] ui/issues/issue-11740.rs ... ok
test [ui] ui/issues/issue-11844.rs ... ok
test [ui] ui/issues/issue-11771.rs ... ok
test [ui] ui/issues/issue-11869.rs ... ok
test [ui] ui/generator/yield-in-args-rev.rs ... ok
test [ui] ui/issues/issue-11873.rs ... ok
test [ui] ui/generator/too-live-local-in-immovable-gen.rs ... ok
test [ui] ui/issues/issue-12028.rs ... ok
test [ui] ui/generator/resume-live-across-yield.rs ... ok
test [ui] ui/issues/issue-12041.rs ... ok
test [ui] ui/generator/yield-in-box.rs ... ok
test [ui] ui/issues/issue-12116.rs ... ok
test [ui] ui/issues/issue-12127.rs ... ok
test [ui] ui/issues/issue-12187-1.rs ... ok
test [ui] ui/generator/resume-after-return.rs ... ok
test [ui] ui/issues/issue-12187-2.rs ... ok
test [ui] ui/issues/issue-12369.rs ... ok
test [ui] ui/issues/issue-12470.rs ... ok
test [ui] ui/generator/smoke-resume-args.rs#nomiropt ... ok
test [ui] ui/issues/issue-1251.rs ... ok
test [ui] ui/issues/issue-12511.rs ... ok
test [ui] ui/issues/issue-12552.rs ... ok
test [ui] ui/issues/issue-12567.rs ... ok
test [ui] ui/generator/xcrate-reachable.rs ... ok
test [ui] ui/generator/smoke-resume-args.rs#default ... ok
test [ui] ui/generator/panic-safe.rs ... ok
test [ui] ui/generator/yield-in-initializer.rs ... ok
test [ui] ui/generator/yield-subtype.rs ... ok
test [ui] ui/generic-associated-types/gat-incomplete-warning.rs ... ok
test [ui] ui/issues/issue-12729.rs ... ok
test [ui] ui/issues/issue-12796.rs ... ok
test [ui] ui/generics/generic-fn-infer.rs ... ok
test [ui] ui/generics/generic-extern-mangle.rs ... ok
test [ui] ui/generics/generic-fn-twice.rs ... ok
test [ui] ui/generic-associated-types/streaming_iterator.rs ... ok
test [ui] ui/issues/issue-12863.rs ... ok
test [ui] ui/generic-associated-types/collections.rs ... ok
test [ui] ui/issues/issue-12997-1.rs ... ok
test [ui] ui/generics/generic-default-type-params.rs ... ok
test [ui] ui/issues/issue-13033.rs ... ok
test [ui] ui/issues/issue-12997-2.rs ... ok
test [ui] ui/generics/generic-derived-type.rs ... ok
test [ui] ui/issues/issue-13058.rs ... ok
test [ui] ui/generic-associated-types/iterable.rs ... ok
test [ui] ui/issues/issue-13105.rs ... ok
test [ui] ui/issues/issue-13167.rs ... ok
test [ui] ui/generics/generic-alias-unique.rs ... ok
test [ui] ui/generator/xcrate.rs ... ok
test [ui] ui/generics/generic-newtype-struct.rs ... ok
test [ui] ui/generics/generic-exterior-unique.rs ... ok
test [ui] ui/issues/issue-13214.rs ... ok
test [ui] ui/issues/issue-13359.rs ... ok
test [ui] ui/generics/generic-recursive-tag.rs ... ok
test [ui] ui/issues/issue-13404.rs ... ok
test [ui] ui/generics/generic-default-type-params-cross-crate.rs ... ok
test [ui] ui/issues/issue-13405.rs ... ok
test [ui] ui/issues/issue-13466.rs ... ok
test [ui] ui/issues/issue-13407.rs ... ok
test [ui] ui/generics/generic-tag-local.rs ... ok
test [ui] ui/generics/generic-ivec-leak.rs ... ok
test [ui] ui/issues/issue-13482-2.rs ... ok
test [ui] ui/generics/generic-fn-unique.rs ... ok
test [ui] ui/issues/issue-13482.rs ... ok
test [ui] ui/generics/generic-fn.rs ... ok
test [ui] ui/issues/issue-13483.rs ... ok
test [ui] ui/issues/issue-13446.rs ... ok
test [ui] ui/issues/issue-13497.rs ... ok
test [ui] ui/issues/issue-13497-2.rs ... ok
test [ui] ui/issues/issue-1362.rs ... ok
test [ui] ui/issues/issue-13641.rs ... ok
test [ui] ui/issues/issue-13703.rs ... ok
test [ui] ui/issues/issue-13727.rs ... ok
test [ui] ui/generics/generic-object.rs ... ok
test [ui] ui/issues/issue-13775.rs ... ok
test [ui] ui/generics/generic-tag-match.rs ... ok
test [ui] ui/issues/issue-13853-5.rs ... ok
test [ui] ui/issues/issue-13837.rs ... ok
test [ui] ui/issues/issue-13853-2.rs ... ok
test [ui] ui/issues/issue-13847.rs ... ok
test [ui] ui/issues/issue-13853.rs ... ok
test [ui] ui/issues/issue-14082.rs ... ok
test [ui] ui/issues/issue-14091-2.rs ... ok
test [ui] ui/issues/issue-14091.rs ... ok
test [ui] ui/issues/issue-14092.rs ... ok
test [ui] ui/generics/generic-tag-corruption.rs ... ok
test [ui] ui/issues/issue-14227.rs ... ok
test [ui] ui/issues/issue-14221.rs ... ok
test [ui] ui/generics/generic-temporary.rs ... ok
test [ui] ui/generics/generic-type.rs ... ok
test [ui] ui/generics/generic-unique.rs ... ok
test [ui] ui/generics/generic-tag-values.rs ... ok
test [ui] ui/generics/generic-tag.rs ... ok
test [ui] ui/generics/generic-tup.rs ... ok
test [ui] ui/global-scope.rs ... ok
test [ui] ui/issues/issue-14285.rs ... ok
test [ui] ui/issues/issue-14330.rs ... ok
test [ui] ui/issues/issue-14254.rs ... ok
test [ui] ui/issues/issue-14309.rs ... ok
test [ui] ui/issues/issue-14366.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-debruijn-object-types-in-closures.rs ... ok
test [ui] ui/generator/smoke.rs#nomiropt ... ok
test [ui] ui/generator/smoke.rs#default ... ok
test [ui] ui/issues/issue-1448-2.rs ... ok
test [ui] ui/issues/issue-14541.rs ... ok
test [ui] ui/half-open-range-patterns/half-open-range-pats-semantics.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-binder-levels-in-object-types.rs ... ok
test [ui] ui/hello.rs ... ok
test [ui] ui/issues/issue-1476.rs ... ok
test [ui] ui/issues/issue-14772.rs ... ok
test [ui] ui/issues/issue-14721.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-fn-like-trait-object.rs ... ok
test [ui] ui/issues/issue-14845.rs ... ok
test [ui] ui/issues/issue-14837.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-parse.rs ... ok
test [ui] ui/issues/issue-14853.rs ... ok
test [ui] ui/issues/issue-14901.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-precedence-of-plus-where-clause.rs ... ok
test [ui] ui/issues/issue-14915.rs ... ok
test [ui] ui/issues/issue-14933.rs ... ok
test [ui] ui/issues/issue-14936.rs ... ok
test [ui] ui/hashmap/hashmap-capacity-overflow.rs ... ok
test [ui] ui/issues/issue-14959.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-resolve-lifetime.rs ... ok
test [ui] ui/issues/issue-15034.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-fn-like-trait.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-precedence-of-plus.rs ... ok
test [ui] ui/issues/issue-15094.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-trait-object-paren-notation.rs ... ok
test [ui] ui/hygiene/hygiene.rs ... ok
test [ui] ui/hygiene/hygiene-dodging-1.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-unboxed-closure-trait.rs ... ok
test [ui] ui/html-literals.rs ... ok
test [ui] ui/issues/issue-15129.rs ... ok
test [ui] ui/hygiene/hygienic-labels.rs ... ok
test [ui] ui/issues/issue-15167.rs ... ok
test [ui] ui/hygiene/hygienic-labels-in-let.rs ... ok
test [ui] ui/issues/issue-15207.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-trait-object-passed-to-closure.rs ... ok
test [ui] ui/issues/issue-15260.rs ... ok
test [ui] ui/hygiene/macro-metavars-legacy.rs ... ok
test [ui] ui/hygiene/macro-metavars-transparent.rs ... ok
test [ui] ui/hygiene/specialization.rs ... ok
test [ui] ui/issues/issue-15381.rs ... ok
test [ui] ui/hygiene/cross-crate-codegen-attrs.rs ... ok
test [ui] ui/issues/issue-15524.rs ... ok
test [ui] ui/issues/issue-15261.rs ... ok
test [ui] ui/if-attrs/gate-whole-expr.rs ... ok
test [ui] ui/issues/issue-15689-2.rs ... ok
test [ui] ui/hashmap/hashmap-memory.rs ... ok
test [ui] ui/guards.rs ... ok
test [ui] ui/generics/generic-static-methods.rs ... ok
test [ui] ui/issues/issue-15735.rs ... ok
test [ui] ui/issues/issue-15756.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-type-outlives.rs ... ok
test [ui] ui/issues/issue-15783.rs ... ok
test [ui] ui/ignore-all-the-things.rs ... ok
test [ui] ui/if-ret.rs ... ok
test [ui] ui/impl-header-lifetime-elision/ref-underscore.rs ... ok
test [ui] ui/higher-rank-trait-bounds/hrtb-opt-in-copy.rs ... ok
test [ui] ui/issues/issue-15919-32.rs ... ignored
test [ui] ui/impl-inherent-non-conflict.rs ... ok
test [ui] ui/generics/generic-type-synonym.rs ... ok
test [ui] ui/if-bot.rs ... ok
test [ui] ui/impl-header-lifetime-elision/trait-underscore.rs ... ok
test [ui] ui/issues/issue-15896.rs ... ok
test [ui] ui/impl-not-adjacent-to-type.rs ... ok
test [ui] ui/issues/issue-15965.rs ... ok
test [ui] ui/issues/issue-16048.rs ... ok
test [ui] ui/issues/issue-16149.rs ... ok
test [ui] ui/impl-header-lifetime-elision/explicit-and-elided-same-header.rs ... ok
test [ui] ui/issues/issue-16098.rs ... ok
test [ui] ui/impl-privacy-xc-1.rs ... ok
test [ui] ui/impl-trait/auto-trait-leak-rpass.rs ... ok
test [ui] ui/if-check.rs ... ok
test [ui] ui/issues/issue-16250.rs ... ok
test [ui] ui/impl-trait-in-bindings.rs ... ok
test [ui] ui/issues/issue-16338.rs ... ok
test [ui] ui/issues/issue-15919-64.rs ... ok
test [ui] ui/issues/issue-16401.rs ... ok
test [ui] ui/hygiene/xcrate.rs ... ok
test [ui] ui/issues/issue-16562.rs ... ok
test [ui] ui/issues/issue-16538.rs ... ok
test [ui] ui/issues/issue-16596.rs ... ok
test [ui] ui/if/if-check-panic.rs ... ok
test [ui] ui/impl-trait/bounds_regression.rs ... ok
test [ui] ui/impl-trait/equality-rpass.rs ... ok
test [ui] ui/impl-privacy-xc-2.rs ... ok
test [ui] ui/impl-trait/region-escape-via-bound-contravariant-closure.rs ... ok
test [ui] ui/if/expr-if-panic-fn.rs ... ok
test [ui] ui/if/expr-if-panic.rs ... ok
test [ui] ui/impl-trait/example-st.rs ... ok
test [ui] ui/impl-trait/region-escape-via-bound-contravariant.rs ... ok
test [ui] ui/impl-trait/type-alias-generic-param.rs ... ok
test [ui] ui/issues/issue-16668.rs ... ok
test [ui] ui/issues/issue-16683.rs ... ok
test [ui] ui/impl-header-lifetime-elision/path-underscore.rs ... ok
test [ui] ui/impl-trait/universal_hrtb_anon.rs ... ok
test [ui] ui/issues/issue-16725.rs ... ok
test [ui] ui/impl-trait/universal_hrtb_named.rs ... ok
test [ui] ui/issues/issue-16922.rs ... ok
test [ui] ui/issues/issue-16939.rs ... ok
test [ui] ui/if/if-cond-bot.rs ... ok
test [ui] ui/impl-trait/nesting.rs ... ok
test [ui] ui/issues/issue-16966.rs ... ok
test [ui] ui/issues/issue-1697.rs ... ok
test [ui] ui/issues/issue-16994.rs ... ok
test [ui] ui/issues/issue-17001.rs ... ok
test [ui] ui/issues/issue-17033.rs ... ok
test [ui] ui/impl-trait/universal_in_trait_defn_parameters.rs ... ok
test [ui] ui/impl-trait/universal_in_adt_in_parameters.rs ... ok
test [ui] ui/impl-trait/universal_multiple_bounds.rs ... ok
test [ui] ui/issues/issue-17121.rs ... ok
test [ui] ui/impl-trait/xcrate.rs ... ok
test [ui] ui/imports/extern-crate-self/extern-crate-self-macro-self.rs ... ok
test [ui] ui/issues/issue-17252.rs ... ok
test [ui] ui/issues/issue-17263.rs ... ok
test [ui] ui/impl-trait/xcrate_simple.rs ... ok
test [ui] ui/issues/issue-17336.rs ... ok
test [ui] ui/issues/issue-17337.rs ... ok
test [ui] ui/impl-trait/universal_in_impl_trait_in_parameters.rs ... ok
test [ui] ui/impl-trait/lifetimes.rs ... ok
test [ui] ui/issues/issue-17373.rs ... ok
test [ui] ui/issues/issue-17385.rs ... ok
test [ui] ui/issues/issue-17405.rs ... ok
test [ui] ui/imports/import-crate-with-invalid-spans/main.rs ... ok
test [ui] ui/imports/extern-crate-self/extern-crate-self-macro-alias.rs ... ok
test [ui] ui/issues/issue-17431-1.rs ... ok
test [ui] ui/issues/issue-17431-2.rs ... ok
test [ui] ui/issues/issue-17431-3.rs ... ok
test [ui] ui/issues/issue-17431-5.rs ... ok
test [ui] ui/issues/issue-17431-4.rs ... ok
test [ui] ui/issues/issue-17431-6.rs ... ok
test [ui] ui/issues/issue-17431-7.rs ... ok
test [ui] ui/issues/issue-17441.rs ... ok
test [ui] ui/issues/issue-17444.rs ... ok
test [ui] ui/issues/issue-17458.rs ... ok
test [ui] ui/issues/issue-17545.rs ... ok
test [ui] ui/issues/issue-17450.rs ... ok
test [ui] ui/issues/issue-17551.rs ... ok
test [ui] ui/issues/issue-17546.rs ... ok
test [ui] ui/imports/import-from.rs ... ok
test [ui] ui/imports/import-glob-1.rs ... ok
test [ui] ui/issues/issue-17718-const-bad-values.rs ... ok
test [ui] ui/issues/issue-17651.rs ... ok
test [ui] ui/imports/import-in-block.rs ... ok
test [ui] ui/imports/import-glob-crate.rs ... ok
test [ui] ui/issues/issue-17718-const-borrow.rs ... ok
test [ui] ui/issues/issue-17718-const-destructors.rs ... ok
test [ui] ui/imports/import-glob-0-rpass.rs ... ok
test [ui] ui/issues/issue-17718-const-naming.rs ... ok
test [ui] ui/issues/issue-17718-constants-not-static.rs ... ok
test [ui] ui/imports/import-prefix-macro.rs ... ok
test [ui] ui/imports/glob-use-std.rs ... ok
test [ui] ui/issues/issue-17718-patterns.rs ... ok
test [ui] ui/issues/issue-17718-references.rs ... ok
test [ui] ui/issues/issue-17718-static-move.rs ... ok
test [ui] ui/issues/issue-17718-const-privacy.rs ... ok
test [ui] ui/issues/issue-17718-static-sync.rs ... ok
test [ui] ui/issues/issue-17732.rs ... ok
test [ui] ui/issues/issue-17740.rs ... ok
test [ui] ui/issues/issue-17728.rs ... ok
test [ui] ui/issues/issue-17746.rs ... ok
test [ui] ui/issues/issue-17758.rs ... ok
test [ui] ui/imports/import-trailing-comma.rs ... ok
test [ui] ui/imports/import-rename.rs ... ok
test [ui] ui/issues/issue-17800.rs ... ok
test [ui] ui/imports/import2.rs ... ok
test [ui] ui/imports/import.rs ... ok
test [ui] ui/issues/issue-17904-2.rs ... ok
test [ui] ui/issues/issue-17904.rs ... ok
test [ui] ui/issues/issue-17905-2.rs ... ok
test [ui] ui/issues/issue-17913.rs ... ok
test [ui] ui/imports/import6.rs ... ok
test [ui] ui/issues/issue-17933.rs ... ok
test [ui] ui/imports/import4.rs ... ok
test [ui] ui/issues/issue-17954.rs ... ok
test [ui] ui/issues/issue-17959.rs ... ok
test [ui] ui/issues/issue-17994.rs ... ok
test [ui] ui/imports/import3.rs ... ok
test [ui] ui/issues/issue-18058.rs ... ok
test [ui] ui/issues/issue-17999.rs ... ok
test [ui] ui/ifmt.rs ... ok
test [ui] ui/issues/issue-18083.rs ... ok
test [ui] ui/imports/imports.rs ... ok
test [ui] ui/issues/issue-18088.rs ... ok
test [ui] ui/issues/issue-18118-2.rs ... ok
test [ui] ui/issues/issue-18107.rs ... ok
test [ui] ui/issues/issue-18118.rs ... ok
test [ui] ui/issues/issue-18159.rs ... ok
test [ui] ui/issues/issue-18119.rs ... ok
test [ui] ui/imports/import7.rs ... ok
test [ui] ui/in-band-lifetimes.rs ... ok
test [ui] ui/issues/issue-1821.rs ... ok
test [ui] ui/issues/issue-18183.rs ... ok
test [ui] ui/issues/issue-18188.rs ... ok
test [ui] ui/imports/import8.rs ... ok
test [ui] ui/issues/issue-18294.rs ... ok
test [ui] ui/issues/issue-18389.rs ... ok
test [ui] ui/issues/issue-18400.rs ... ok
test [ui] ui/inc-range-pat.rs ... ok
test [ui] ui/issues/issue-18423.rs ... ok
test [ui] ui/inlined-main.rs ... ok
test [ui] ui/include-macros/normalization.rs ... ok
test [ui] ui/inference/inference_unstable.rs ... ok
test [ui] ui/infer-fn-tail-expr.rs ... ok
test [ui] ui/issues/issue-18446-2.rs ... ok
test [ui] ui/issues/issue-18446.rs ... ok
test [ui] ui/issues/issue-18532.rs ... ok
test [ui] ui/issues/issue-18566.rs ... ok
test [ui] ui/instantiable.rs ... ok
test [ui] ui/issues/issue-18611.rs ... ok
test [ui] ui/inner-static.rs ... ok
test [ui] ui/inner-attrs-on-impl.rs ... ok
test [ui] ui/intrinsics/intrinsic-alignment.rs ... ok
test [ui] ui/init-res-into-things.rs ... ok
test [ui] ui/inner-module.rs ... ok
test [ui] ui/issues/issue-1871.rs ... ok
test [ui] ui/issues/issue-1866.rs ... ok
test [ui] ui/issues/issue-18738.rs ... ok
test [ui] ui/init-large-type.rs ... ok
test [ui] ui/intrinsics/intrinsic-nearby.rs ... ok
test [ui] ui/intrinsics/intrinsic-unreachable.rs ... ok
test [ui] ui/intrinsics/intrinsic-atomics-cc.rs ... ok
test [ui] ui/issues/issue-18809.rs ... ok
test [ui] ui/issues/issue-18819.rs ... ok
test [ui] ui/issues/issue-18783.rs ... ok
test [ui] ui/intrinsics/intrinsic-move-val.rs ... ok
test [ui] ui/issues/issue-10025.rs ... ok
test [ui] ui/impl-trait/example-calendar.rs ... ok
test [ui] ui/intrinsics/intrinsics-math.rs ... ok
test [ui] ui/issues/issue-18906.rs ... ok
test [ui] ui/issues/issue-18919.rs ... ok
test [ui] ui/issues/issue-18937.rs ... ok
test [ui] ui/issues/issue-10228.rs ... ok
test [ui] ui/issues/issue-18959.rs ... ok
test [ui] ui/issues/issue-1900.rs ... ok
test [ui] ui/issues/issue-18988.rs ... ok
test [ui] ui/issues/issue-10392.rs ... ok
test [ui] ui/issues/issue-19037.rs ... ok
test [ui] ui/issues/issue-19081.rs ... ok
test [ui] ui/intrinsics/intrinsic-volatile.rs ... ok
test [ui] ui/intrinsics/intrinsic-atomics.rs ... ok
test [ui] ui/issues/issue-19086.rs ... ok
test [ui] ui/issues/issue-19097.rs ... ok
test [ui] ui/issues/issue-19098.rs ... ok
test [ui] ui/issues/issue-19129-1.rs ... ok
test [ui] ui/issues/issue-19129-2.rs ... ok
test [ui] ui/issues/issue-19102.rs ... ok
test [ui] ui/issues/issue-10031.rs ... ok
test [ui] ui/issues/issue-10436.rs ... ok
test [ui] ui/issues/issue-10682.rs ... ok
test [ui] ui/issues/issue-10028.rs ... ok
test [ui] ui/issues/issue-19163.rs ... ok
test [ui] ui/issues/issue-1920-1.rs ... ok
test [ui] ui/issues/issue-1920-2.rs ... ok
test [ui] ui/issues/issue-10638.rs ... ok
test [ui] ui/issues/issue-19244-1.rs ... ok
test [ui] ui/issues/issue-1920-3.rs ... ok
test [ui] ui/issues/issue-19244-2.rs ... ok
test [ui] ui/issues/issue-19380.rs ... ok
test [ui] ui/issues/issue-10718.rs ... ok
test [ui] ui/issues/issue-19398.rs ... ok
test [ui] ui/issues/issue-10734.rs ... ok
test [ui] ui/intrinsics/intrinsics-integer.rs ... ok
test [ui] ui/issues/issue-19479.rs ... ok
test [ui] ui/issues/issue-19482.rs ... ok
test [ui] ui/issues/issue-19498.rs ... ok
test [ui] ui/issues/issue-19538.rs ... ok
test [ui] ui/issues/issue-19404.rs ... ok
test [ui] ui/issues/issue-19521.rs ... ok
test [ui] ui/imports/import5.rs ... ok
test [ui] ui/issues/issue-10767.rs ... ok
test [ui] ui/issues/issue-19601.rs ... ok
test [ui] ui/issues/issue-19631.rs ... ok
test [ui] ui/issues/issue-19660.rs ... ok
test [ui] ui/issues/issue-19707.rs ... ok
test [ui] ui/issues/issue-19632.rs ... ok
test [ui] ui/issues/issue-19692.rs ... ok
test [ui] ui/issues/issue-1962.rs ... ok
test [ui] ui/issues/issue-19734.rs ... ok
test [ui] ui/issues/issue-10683.rs ... ok
test [ui] ui/issues/issue-19883.rs ... ok
test [ui] ui/issues/issue-19850.rs ... ok
test [ui] ui/issues/issue-19922.rs ... ok
test [ui] ui/issues/issue-19982.rs ... ok
test [ui] ui/issues/issue-11085.rs ... ok
test [ui] ui/intrinsics/intrinsic-assume.rs ... ok
test [ui] ui/issues/issue-19991.rs ... ok
test [ui] ui/issues/issue-20005.rs ... ok
test [ui] ui/issues/issue-20009.rs ... ok
test [ui] ui/issues/issue-20162.rs ... ok
test [ui] ui/issues/issue-10806.rs ... ok
test [ui] ui/issues/issue-20186.rs ... ok
test [ui] ui/issues/issue-10764-rpass.rs ... ok
test [ui] ui/issues/issue-10802.rs ... ok
test [ui] ui/issues/issue-20225.rs ... ok
test [ui] ui/issues/issue-20313.rs ... ok
test [ui] ui/issues/issue-20261.rs ... ok
test [ui] ui/issues/issue-20396.rs ... ok
test [ui] ui/issues/issue-11047.rs ... ok
test [ui] ui/issues/issue-20413.rs ... ok
test [ui] ui/issues/issue-20414.rs ... ok
test [ui] ui/issues/issue-20433.rs ... ok
test [ui] ui/issues/issue-20454.rs ... ok
test [ui] ui/issues/issue-1112.rs ... ok
test [ui] ui/intrinsics/intrinsic-move-val-cleanups.rs ... ok
test [ui] ui/issues/issue-11224.rs ... ok
test [ui] ui/issues/issue-11225-3.rs ... ok
test [ui] ui/issues/issue-20616-1.rs ... ok
test [ui] ui/issues/issue-20616-3.rs ... ok
test [ui] ui/issues/issue-20616-2.rs ... ok
test [ui] ui/intrinsics/panic-uninitialized-zeroed.rs ... ok
test [ui] ui/issues/issue-20605.rs ... ok
test [ui] ui/issues/issue-20616-4.rs ... ok
test [ui] ui/issues/issue-20616-5.rs ... ok
test [ui] ui/issues/issue-20616-6.rs ... ok
test [ui] ui/issues/issue-20616-7.rs ... ok
test [ui] ui/issues/issue-20616-9.rs ... ok
test [ui] ui/issues/issue-20616-8.rs ... ok
test [ui] ui/issues/issue-11205.rs ... ok
test [ui] ui/issues/issue-2063-resource.rs ... ok
test [ui] ui/issues/issue-11267.rs ... ok
test [ui] ui/issues/issue-20714.rs ... ok
test [ui] ui/issues/issue-20692.rs ... ok
test [ui] ui/issues/issue-20763-1.rs ... ok
test [ui] ui/issues/issue-20763-2.rs ... ok
test [ui] ui/issues/issue-20644.rs ... ok
test [ui] ui/issues/issue-20772.rs ... ok
test [ui] ui/issues/issue-20801.rs ... ok
test [ui] ui/issues/issue-11225-1.rs ... ok
test [ui] ui/issues/issue-20825-2.rs ... ok
test [ui] ui/issues/issue-11552.rs ... ok
test [ui] ui/issues/issue-20797.rs ... ok
test [ui] ui/issues/issue-11820.rs ... ok
test [ui] ui/issues/issue-11529.rs ... ok
test [ui] ui/issues/issue-20825.rs ... ok
test [ui] ui/issues/issue-11577.rs ... ok
test [ui] ui/issues/issue-20831-debruijn.rs ... ok
test [ui] ui/issues/issue-20939.rs ... ok
test [ui] ui/issues/issue-11709.rs ... ok
test [ui] ui/issues/issue-2111.rs ... ok
test [ui] ui/issues/issue-21140.rs ... ok
test [ui] ui/issues/issue-21146.rs ... ok
test [ui] ui/issues/issue-11225-2.rs ... ok
test [ui] ui/issues/issue-11382.rs ... ok
test [ui] ui/issues/issue-21160.rs ... ok
test [ui] ui/issues/issue-11958.rs ... ok
test [ui] ui/issues/issue-21174.rs ... ok
test [ui] ui/issues/issue-21174-2.rs ... ok
test [ui] ui/issues/issue-11940.rs ... ok
test [ui] ui/issues/issue-12033.rs ... ok
test [ui] ui/issues/issue-21177.rs ... ok
test [ui] ui/issues/issue-21332.rs ... ok
test [ui] ui/issues/issue-11677.rs ... ok
test [ui] ui/issues/issue-21356.rs ... ok
test [ui] ui/issues/issue-21245.rs ... ok
test [ui] ui/issues/issue-21363.rs ... ok
test [ui] ui/issues/issue-21402.rs ... ok
test [ui] ui/issues/issue-21202.rs ... ok
test [ui] ui/issues/issue-11508.rs ... ok
test [ui] ui/issues/issue-21449.rs ... ok
test [ui] ui/issues/issue-2150.rs ... ok
test [ui] ui/issues/issue-2151.rs ... ok
test [ui] ui/issues/issue-21546.rs ... ok
test [ui] ui/issues/issue-21520.rs ... ok
test [ui] ui/issues/issue-21554.rs ... ok
test [ui] ui/issues/issue-12133-2.rs ... ok
test [ui] ui/issues/issue-12133-1.rs ... ok
test [ui] ui/issues/issue-21622.rs ... ok
test [ui] ui/issues/issue-21600.rs ... ok
test [ui] ui/issues/issue-12582.rs ... ok
test [ui] ui/issues/issue-21596.rs ... ok
test [ui] ui/issues/issue-21562.rs ... ok
test [ui] ui/issues/issue-21701.rs ... ok
test [ui] ui/issues/issue-12133-3.rs ... ok
test [ui] ui/issues/issue-21726.rs ... ok
test [ui] ui/issues/issue-1257.rs ... ok
test [ui] ui/issues/issue-12699.rs ... ok
test [ui] ui/issues/issue-21837.rs ... ok
test [ui] ui/issues/issue-21763.rs ... ok
test [ui] ui/issues/issue-12285.rs ... ok
test [ui] ui/issues/issue-21946.rs ... ok
test [ui] ui/issues/issue-21891.rs ... ok
test [ui] ui/issues/issue-12677.rs ... ok
test [ui] ui/issues/issue-21974.rs ... ok
test [ui] ui/issues/issue-21950.rs ... ok
test [ui] ui/issues/issue-22034.rs ... ok
test [ui] ui/issues/issue-12660.rs ... ok
test [ui] ui/issues/issue-12612.rs ... ok
test [ui] ui/issues/issue-13027.rs ... ok
test [ui] ui/issues/issue-12744.rs ... ok
test [ui] ui/issues/issue-22037.rs ... ok
test [ui] ui/issues/issue-22066.rs ... ok
test [ui] ui/issues/issue-13259-windows-tcb-trash.rs ... ok
test [ui] ui/issues/issue-22289.rs ... ok
test [ui] ui/issues/issue-22312.rs ... ok
test [ui] ui/issues/issue-22356.rs ... ok
test [ui] ui/issues/issue-22370.rs ... ok
test [ui] ui/issues/issue-22375.rs ... ok
test [ui] ui/issues/issue-13264.rs ... ok
test [ui] ui/issues/issue-13204.rs ... ok
test [ui] ui/issues/issue-22384.rs ... ok
test [ui] ui/issues/issue-22434.rs ... ok
test [ui] ui/issues/issue-22468.rs ... ok
test [ui] ui/issues/issue-22471.rs ... ok
test [ui] ui/issues/issue-13323.rs ... ok
test [ui] ui/issues/issue-13665.rs ... ok
test [ui] ui/issues/issue-13655.rs ... ok
test [ui] ui/issues/issue-22560.rs ... ok
test [ui] ui/issues/issue-13763.rs ... ok
test [ui] ui/issues/issue-22599.rs ... ok
test [ui] ui/issues/issue-13902.rs ... ok
test [ui] ui/issues/issue-22603.rs ... ok
test [ui] ui/issues/issue-13434.rs ... ok
test [ui] ui/inherit-env.rs ... ok
test [ui] ui/issues/issue-22673.rs ... ok
test [ui] ui/issues/issue-22644.rs ... ok
test [ui] ui/issues/issue-22706.rs ... ok
test [ui] ui/issues/issue-12909.rs ... ok
test [ui] ui/issues/issue-13202.rs ... ok
test [ui] ui/issues/issue-22777.rs ... ok
test [ui] ui/issues/issue-22684.rs ... ok
test [ui] ui/issues/issue-22789.rs ... ok
test [ui] ui/issues/issue-22781.rs ... ok
test [ui] ui/issues/issue-13808.rs ... ok
test [ui] ui/issues/issue-2281-part1.rs ... ok
test [ui] ui/issues/issue-22814.rs ... ok
test [ui] ui/issues/issue-13867.rs ... ok
test [ui] ui/issues/issue-22874.rs ... ok
test [ui] ui/issues/issue-22872.rs ... ok
test [ui] ui/issues/issue-22886.rs ... ok
test [ui] ui/issues/issue-22933-1.rs ... ok
test [ui] ui/issues/issue-22894.rs ... ok
test [ui] ui/issues/issue-14393.rs ... ok
test [ui] ui/issues/issue-14229.rs ... ok
test [ui] ui/issues/issue-13620.rs ... ok
test [ui] ui/issues/issue-22933-2.rs ... ok
test [ui] ui/issues/issue-23024.rs ... ok
test [ui] ui/issues/issue-23041.rs ... ok
test [ui] ui/issues/issue-14399.rs ... ok
test [ui] ui/issues/issue-13872.rs ... ok
test [ui] ui/issues/issue-23073.rs ... ok
test [ui] ui/issues/issue-23046.rs ... ok
test [ui] ui/issues/issue-2311-2.rs ... ok
test [ui] ui/issues/issue-2311.rs ... ok
test [ui] ui/issues/issue-2312.rs ... ok
test [ui] ui/issues/issue-23122-1.rs ... ok
test [ui] ui/issues/issue-14382.rs ... ok
test [ui] ui/issues/issue-23189.rs ... ok
test [ui] ui/issues/issue-13507-2.rs ... ok
test [ui] ui/issues/issue-23173.rs ... ok
test [ui] ui/issues/issue-23122-2.rs ... ok
test [ui] ui/issues/issue-23253.rs ... ok
test [ui] ui/issues/issue-23217.rs ... ok
test [ui] ui/issues/issue-23281.rs ... ok
test [ui] ui/issues/issue-23302-1.rs ... ok
test [ui] ui/issues/issue-2330.rs ... ok
test [ui] ui/issues/issue-23302-2.rs ... ok
test [ui] ui/issues/issue-23302-3.rs ... ok
test [ui] ui/issues/issue-14421.rs ... ok
test [ui] ui/issues/issue-14344.rs ... ok
test [ui] ui/issues/issue-1451.rs ... ok
test [ui] ui/issues/issue-14589.rs ... ok
test [ui] ui/issues/issue-14422.rs ... ok
test [ui] ui/issues/issue-14308.rs ... ok
test [ui] ui/issues/issue-10626.rs ... ok
test [ui] ui/issues/issue-23406.rs ... ok
test [ui] ui/issues/issue-1460.rs ... ok
test [ui] ui/issues/issue-23458.rs ... ignored
test [ui] ui/issues/issue-23442.rs ... ok
test [ui] ui/issues/issue-14865.rs ... ok
test [ui] ui/issues/issue-23477.rs ... ok
test [ui] ui/issues/issue-23543.rs ... ok
test [ui] ui/issues/issue-14958.rs ... ok
test [ui] ui/issues/issue-23544.rs ... ok
test [ui] ui/issues/issue-14821.rs ... ok
test [ui] ui/issues/issue-15104.rs ... ok
test [ui] ui/issues/issue-23595-2.rs ... ok
test [ui] ui/issues/issue-23589.rs ... ok
test [ui] ui/issues/issue-15043.rs ... ok
test [ui] ui/issues/issue-23550.rs ... ok
test [ui] ui/issues/issue-15080.rs ... ok
test [ui] ui/issues/issue-12920.rs ... ok
test [ui] ui/issues/issue-14919.rs ... ok
test [ui] ui/issues/issue-23716.rs ... ok
test [ui] ui/issues/issue-15063.rs ... ok
test [ui] ui/issues/issue-23649-3.rs ... ok
test [ui] ui/issues/issue-14875.rs ... ok
test [ui] ui/issues/issue-15221.rs ... ok
test [ui] ui/issues/issue-15155.rs ... ok
test [ui] ui/issues/issue-15189.rs ... ok
test [ui] ui/issues/issue-15523-big.rs ... ok
test [ui] ui/issues/issue-23966.rs ... ok
test [ui] ui/issues/issue-15444.rs ... ok
test [ui] ui/issues/issue-15673.rs ... ok
test [ui] ui/issues/issue-22638.rs ... ok
test [ui] ui/issues/issue-24013.rs ... ok
test [ui] ui/issues/issue-15730.rs ... ok
test [ui] ui/issues/issue-15689-1.rs ... ok
test [ui] ui/issues/issue-15487.rs ... ok
test [ui] ui/issues/issue-24081.rs ... ok
test [ui] ui/issues/issue-24085.rs ... ok
test [ui] ui/issues/issue-24036.rs ... ok
test [ui] ui/issues/issue-15129-rpass.rs ... ok
test [ui] ui/issues/issue-24161.rs ... ok
test [ui] ui/issues/issue-15523.rs ... ok
test [ui] ui/issues/issue-24204.rs ... ok
test [ui] ui/issues/issue-24227.rs ... ok
test [ui] ui/issues/issue-24267-flow-exit.rs ... ok
test [ui] ui/issues/issue-15734.rs ... ok
test [ui] ui/issues/issue-15562.rs ... ok
test [ui] ui/issues/issue-24338.rs ... ok
test [ui] ui/issues/issue-24322.rs ... ok
test [ui] ui/issues/issue-24352.rs ... ok
test [ui] ui/issues/issue-15763.rs ... ok
test [ui] ui/issues/issue-15774.rs ... ok
test [ui] ui/issues/issue-24357.rs ... ok
test [ui] ui/issues/issue-24363.rs ... ok
test [ui] ui/issues/issue-24424.rs ... ok
test [ui] ui/issues/issue-24389.rs ... ok
test [ui] ui/issues/issue-24434.rs ... ok
test [ui] ui/issues/issue-24365.rs ... ok
test [ui] ui/issues/issue-24446.rs ... ok
test [ui] ui/issues/issue-15881-model-lexer-dotdotdot.rs ... ok
test [ui] ui/issues/issue-15793.rs ... ok
test [ui] ui/issues/issue-16452.rs ... ok
test [ui] ui/issues/issue-16256.rs ... ok
test [ui] ui/issues/issue-16278.rs ... ok
test [ui] ui/issues/issue-24682.rs ... ok
test [ui] ui/issues/issue-15858.rs ... ok
test [ui] ui/issues/issue-16441.rs ... ok
test [ui] ui/issues/issue-16530.rs ... ok
test [ui] ui/issues/issue-13304.rs ... ok
test [ui] ui/issues/issue-16151.rs ... ok
test [ui] ui/issues/issue-24819.rs ... ok
test [ui] ui/issues/issue-24883.rs ... ok
test [ui] ui/issues/issue-2487-a.rs ... ok
test [ui] ui/issues/issue-1660.rs ... ok
test [ui] ui/issues/issue-16602-1.rs ... ok
test [ui] ui/issues/issue-16602-3.rs ... ok
test [ui] ui/issues/issue-16602-2.rs ... ok
test [ui] ui/issues/issue-2502.rs ... ok
test [ui] ui/issues/issue-25076.rs ... ok
test [ui] ui/issues/issue-25180.rs ... ok
test [ui] ui/issues/issue-16492.rs ... ok
test [ui] ui/issues/issue-16648.rs ... ok
test [ui] ui/issues/issue-16643.rs ... ok
test [ui] ui/issues/issue-16560.rs ... ok
test [ui] ui/issues/issue-16783.rs ... ok
test [ui] ui/issues/issue-14456.rs ... ok
test [ui] ui/issues/issue-25368.rs ... ok
test [ui] ui/issues/issue-25385.rs ... ok
test [ui] ui/issues/issue-25386.rs ... ok
test [ui] ui/issues/issue-16671.rs ... ok
test [ui] ui/issues/issue-25394.rs ... ok
test [ui] ui/issues/issue-25396.rs ... ok
test [ui] ui/issues/issue-16922-rpass.rs ... ok
test [ui] ui/issues/issue-16745.rs ... ok
test [ui] ui/issues/issue-16739.rs ... ok
test [ui] ui/issues/issue-25439.rs ... ok
test [ui] ui/issues/issue-16819.rs ... ok
test [ui] ui/issues/issue-17068.rs ... ok
test [ui] ui/issues/issue-25579.rs ... ok
test [ui] ui/issues/issue-17233.rs ... ok
test [ui] ui/issues/issue-17170.rs ... ok
test [ui] ui/issues/issue-25700.rs ... ok
test [ui] ui/issues/issue-17074.rs ... ok
test [ui] ui/issues/issue-16774.rs ... ok
test [ui] ui/issues/issue-17216.rs ... ok
test [ui] ui/issues/issue-25793.rs ... ok
test [ui] ui/issues/issue-25826.rs ... ok
test [ui] ui/issues/issue-2590.rs ... ok
test [ui] ui/issues/issue-17302.rs ... ok
test [ui] ui/issues/issue-25901.rs ... ok
test [ui] ui/issues/issue-26056.rs ... ok
test [ui] ui/issues/issue-26093.rs ... ok
test [ui] ui/issues/issue-26094.rs ... ok
test [ui] ui/issues/issue-26095.rs ... ok
test [ui] ui/issues/issue-2611-3.rs ... ok
test [ui] ui/issues/issue-17361.rs ... ok
test [ui] ui/issues/issue-17718-borrow-interior.rs ... ok
test [ui] ui/issues/issue-17322.rs ... ok
test [ui] ui/issues/issue-26205.rs ... ok
test [ui] ui/issues/issue-26217.rs ... ok
test [ui] ui/issues/issue-26237.rs ... ok
test [ui] ui/issues/issue-26262.rs ... ok
test [ui] ui/issues/issue-17771.rs ... ok
test [ui] ui/issues/issue-17734.rs ... ok
test [ui] ui/issues/issue-17756.rs ... ok
test [ui] ui/issues/issue-17718-parse-const.rs ... ok
test [ui] ui/issues/issue-1696.rs ... ok
test [ui] ui/issues/issue-17877.rs ... ok
test [ui] ui/issues/issue-1701.rs ... ok
test [ui] ui/issues/issue-26448-2.rs ... ok
test [ui] ui/issues/issue-26448-3.rs ... ok
test [ui] ui/issues/issue-18060.rs ... ok
test [ui] ui/issues/issue-26459.rs ... ok
test [ui] ui/issues/issue-26472.rs ... ok
test [ui] ui/issues/issue-26545.rs ... ok
test [ui] ui/issues/issue-14940.rs ... ok
test [ui] ui/issues/issue-26614.rs ... ok
test [ui] ui/issues/issue-26619.rs ... ok
test [ui] ui/issues/issue-26638.rs ... ok
test [ui] ui/issues/issue-17662.rs ... ok
test [ui] ui/issues/issue-17718.rs ... ok
test [ui] ui/issues/issue-17816.rs ... ok
test [ui] ui/issues/issue-17718-static-unsafe-interior.rs ... ok
test [ui] ui/issues/issue-17905.rs ... ok
test [ui] ui/issues/issue-17503.rs ... ok
test [ui] ui/issues/issue-16597-empty.rs ... ok
test [ui] ui/issues/issue-26646.rs ... ok
test [ui] ui/issues/issue-18173.rs ... ok
test [ui] ui/issues/issue-17351.rs ... ok
test [ui] ui/issues/issue-26812.rs ... ok
test [ui] ui/issues/issue-18110.rs ... ok
test [ui] ui/issues/issue-26996.rs ... ignored
test [ui] ui/issues/issue-26886.rs ... ok
test [ui] ui/issues/issue-26905.rs ... ok
test [ui] ui/issues/issue-27021.rs ... ignored
test [ui] ui/issues/issue-17897.rs ... ok
test [ui] ui/issues/issue-26930.rs ... ok
test [ui] ui/issues/issue-26948.rs ... ok
test [ui] ui/issues/issue-27033.rs ... ok
test [ui] ui/issues/issue-27060-2.rs ... ok
test [ui] ui/issues/issue-27008.rs ... ok
test [ui] ui/issues/issue-26997.rs ... ok
test [ui] ui/issues/issue-27042.rs ... ok
test [ui] ui/issues/issue-18425.rs ... ok
test [ui] ui/issues/issue-27060.rs ... ok
test [ui] ui/issues/issue-27078.rs ... ok
test [ui] ui/issues/issue-18353.rs ... ok
test [ui] ui/issues/issue-18232.rs ... ok
test [ui] ui/issues/issue-27105.rs ... ok
test [ui] ui/issues/issue-2718-a.rs ... ok
test [ui] ui/issues/issue-18464.rs ... ok
test [ui] ui/issues/issue-18352.rs ... ok
test [ui] ui/issues/issue-27281.rs ... ok
test [ui] ui/issues/issue-27282-move-match-input-into-guard.rs ... ok
test [ui] ui/issues/issue-18412.rs ... ok
test [ui] ui/issues/issue-27282-move-ref-mut-into-guard.rs ... ok
test [ui] ui/issues/issue-18075.rs ... ok
test [ui] ui/issues/issue-27282-mutate-before-diverging-arm-3.rs ... ok
test [ui] ui/issues/issue-27282-reborrow-ref-mut-in-guard.rs ... ok
test [ui] ui/issues/issue-27282-mutate-before-diverging-arm-1.rs ... ok
test [ui] ui/issues/issue-27282-mutate-before-diverging-arm-2.rs ... ok
test [ui] ui/issues/issue-27340.rs ... ok
test [ui] ui/issues/issue-16597.rs ... ok
test [ui] ui/issues/issue-18539.rs ... ok
test [ui] ui/issues/issue-27433.rs ... ok
test [ui] ui/issues/issue-2748-a.rs ... ok
test [ui] ui/issues/issue-18655.rs ... ok
test [ui] ui/issues/issue-18652.rs ... ok
test [ui] ui/issues/issue-18514.rs ... ok
test [ui] ui/issues/issue-18501.rs ... ok
test [ui] ui/issues/issue-18661.rs ... ok
test [ui] ui/issues/issue-27583.rs ... ok
test [ui] ui/issues/issue-27592.rs ... ok
test [ui] ui/issues/issue-27697.rs ... ok
test [ui] ui/issues/issue-27842.rs ... ok
test [ui] ui/issues/issue-27815.rs ... ok
test [ui] ui/issues/issue-27889.rs ... ok
test [ui] ui/issues/issue-27895.rs ... ok
test [ui] ui/issues/issue-27942.rs ... ok
test [ui] ui/issues/issue-18767.rs ... ok
test [ui] ui/issues/issue-18685.rs ... ok
test [ui] ui/issues/issue-18711.rs ... ok
test [ui] ui/issues/issue-18859.rs ... ok
test [ui] ui/issues/issue-2804-2.rs ... ok
test [ui] ui/issues/issue-18804/main.rs ... ok
test [ui] ui/issues/issue-18845.rs ... ok
test [ui] ui/issues/issue-18576.rs ... ok
test [ui] ui/issues/issue-28105.rs ... ok
test [ui] ui/issues/issue-28109.rs ... ok
test [ui] ui/issues/issue-28098.rs ... ok
test [ui] ui/issues/issue-28113.rs ... ok
test [ui] ui/issues/issue-28134.rs ... ok
test [ui] ui/issues/issue-28279.rs ... ok
test [ui] ui/issues/issue-28324.rs ... ok
test [ui] ui/issues/issue-2823.rs ... ok
test [ui] ui/issues/issue-28075.rs ... ok
test [ui] ui/issues/issue-28388-1.rs ... ok
test [ui] ui/issues/issue-28344.rs ... ok
test [ui] ui/issues/issue-28388-2.rs ... ok
test [ui] ui/issues/issue-28433.rs ... ok
test [ui] ui/issues/issue-28472.rs ... ok
test [ui] ui/issues/issue-2848.rs ... ok
test [ui] ui/issues/issue-2849.rs ... ok
test [ui] ui/issues/issue-18913.rs ... ok
test [ui] ui/issues/issue-18937-1.rs ... ok
test [ui] ui/issues/issue-16272.rs ... ok
test [ui] ui/issues/issue-28388-3.rs ... ok
test [ui] ui/issues/issue-19001.rs ... ok
test [ui] ui/issues/issue-28568.rs ... ok
test [ui] ui/issues/issue-19244.rs ... ok
test [ui] ui/issues/issue-28576.rs ... ok
test [ui] ui/issues/issue-18952.rs ... ok
test [ui] ui/issues/issue-19127.rs ... ok
test [ui] ui/issues/issue-19293.rs ... ok
test [ui] ui/issues/issue-28625.rs ... ok
test [ui] ui/issues/issue-28586.rs ... ok
test [ui] ui/issues/issue-19135.rs ... ok
test [ui] ui/issues/issue-28776.rs ... ok
test [ui] ui/issues/issue-28822.rs ... ok
test [ui] ui/issues/issue-19100.rs ... ok
test [ui] ui/issues/issue-28600.rs ... ok
test [ui] ui/issues/issue-28837.rs ... ok
test [ui] ui/issues/issue-28848.rs ... ok
test [ui] ui/issues/issue-28871.rs ... ok
test [ui] ui/issues/issue-19358.rs ... ok
test [ui] ui/issues/issue-28936.rs ... ok
test [ui] ui/issues/issue-19340-2.rs ... ok
test [ui] ui/issues/issue-19499.rs ... ok
test [ui] ui/issues/issue-1974.rs ... ok
test [ui] ui/issues/issue-28971.rs ... ok
test [ui] ui/issues/issue-12860.rs ... ok
test [ui] ui/issues/issue-28992-empty.rs ... ok
test [ui] ui/issues/issue-29030.rs ... ok
test [ui] ui/issues/issue-28999.rs ... ok
test [ui] ui/issues/issue-20055-box-unsized-array.rs ... ok
test [ui] ui/issues/issue-29037.rs ... ok
test [ui] ui/issues/issue-29048.rs ... ok
test [ui] ui/issues/issue-19811-escape-unicode.rs ... ok
test [ui] ui/issues/issue-29071.rs ... ok
test [ui] ui/issues/issue-2904.rs ... ok
test [ui] ui/issues/issue-29084.rs ... ok
test [ui] ui/issues/issue-29124.rs ... ok
test [ui] ui/issues/issue-19367.rs ... ok
test [ui] ui/issues/issue-29147.rs ... ok
test [ui] ui/issues/issue-29161.rs ... ok
test [ui] ui/issues/issue-29184.rs ... ok
test [ui] ui/issues/issue-19340-1.rs ... ok
test [ui] ui/issues/issue-20055-box-trait.rs ... ok
test [ui] ui/issues/issue-20343.rs ... ok
test [ui] ui/issues/issue-20174.rs ... ok
test [ui] ui/issues/issue-20313-rpass.rs ... ok
test [ui] ui/issues/issue-29276.rs ... ok
test [ui] ui/issues/issue-29181.rs ... ok
test [ui] ui/issues/issue-2937.rs ... ok
test [ui] ui/issues/issue-29265.rs ... ok
test [ui] ui/issues/issue-15571.rs ... ok
test [ui] ui/issues/issue-20389.rs ... ok
test [ui] ui/issues/issue-2951.rs ... ok
test [ui] ui/issues/issue-29516.rs ... ok
test [ui] ui/issues/issue-20575.rs ... ok
test [ui] ui/issues/issue-20544.rs ... ok
test [ui] ui/issues/issue-29710.rs ... ok
test [ui] ui/issues/issue-20616.rs ... ok
test [ui] ui/issues/issue-29723.rs ... ok
test [ui] ui/issues/issue-20427.rs ... ok
test [ui] ui/issues/issue-29740.rs ... ok
test [ui] ui/issues/issue-29743.rs ... ok
test [ui] ui/issues/issue-2074.rs ... ok
test [ui] ui/issues/issue-29857.rs ... ok
test [ui] ui/issues/issue-29861.rs ... ok
test [ui] ui/issues/issue-20676.rs ... ok
test [ui] ui/issues/issue-29540.rs ... ok
test [ui] ui/issues/issue-2063.rs ... ok
test [ui] ui/issues/issue-28561.rs ... ok
test [ui] ui/issues/issue-20803.rs ... ok
test [ui] ui/issues/issue-21306.rs ... ok
test [ui] ui/issues/issue-21033.rs ... ok
test [ui] ui/issues/issue-21400.rs ... ok
test [ui] ui/issues/issue-2995.rs ... ok
test [ui] ui/issues/issue-21384.rs ... ok
test [ui] ui/issues/issue-21058.rs ... ok
test [ui] ui/issues/issue-30007.rs ... ok
test [ui] ui/issues/issue-30079.rs ... ok
test [ui] ui/issues/issue-20953.rs ... ok
test [ui] ui/issues/issue-3008-1.rs ... ok
test [ui] ui/issues/issue-3008-3.rs ... ok
test [ui] ui/issues/issue-3008-2.rs ... ok
test [ui] ui/issues/issue-20847.rs ... ok
test [ui] ui/issues/issue-21486.rs ... ok
test [ui] ui/issues/issue-3021-b.rs ... ok
test [ui] ui/issues/issue-21655.rs ... ok
test [ui] ui/issues/issue-21475.rs ... ok
test [ui] ui/issues/issue-3021-c.rs ... ok
test [ui] ui/issues/issue-21361.rs ... ok
test [ui] ui/issues/issue-3021-d.rs ... ok
test [ui] ui/issues/issue-30225.rs ... ok
test [ui] ui/issues/issue-3021.rs ... ok
test [ui] ui/issues/issue-30236.rs ... ok
test [ui] ui/issues/issue-30123.rs ... ok
test [ui] ui/issues/issue-30240-b.rs ... ok
test [ui] ui/issues/issue-30255.rs ... ok
test [ui] ui/issues/issue-30240.rs ... ok
test [ui] ui/issues/issue-30302.rs ... ok
test [ui] ui/issues/issue-21721.rs ... ok
test [ui] ui/issues/issue-30355.rs ... ok
test [ui] ui/issues/issue-20971.rs ... ok
test [ui] ui/issues/issue-3038.rs ... ok
test [ui] ui/issues/issue-30438-b.rs ... ok
test [ui] ui/issues/issue-30438-a.rs ... ok
test [ui] ui/issues/issue-3044.rs ... ok
test [ui] ui/issues/issue-30438-c.rs ... ok
test [ui] ui/issues/issue-21909.rs ... ok
test [ui] ui/issues/issue-22036.rs ... ok
test [ui] ui/issues/issue-2170-exe.rs ... ok
test [ui] ui/issues/issue-2190-1.rs ... ok
test [ui] ui/issues/issue-22403.rs ... ok
test [ui] ui/issues/issue-2216.rs ... ok
test [ui] ui/issues/issue-30560.rs ... ok
test [ui] ui/issues/issue-22346.rs ... ok
test [ui] ui/issues/issue-21922.rs ... ok
test [ui] ui/issues/issue-21291.rs ... ok
test [ui] ui/issues/issue-21634.rs ... ok
test [ui] ui/issues/issue-22577.rs ... ok
test [ui] ui/issues/issue-22546.rs ... ok
test [ui] ui/issues/issue-30730.rs ... ok
test [ui] ui/issues/issue-30535.rs ... ok
test [ui] ui/issues/issue-3080.rs ... ok
test [ui] ui/issues/issue-22426.rs ... ok
test [ui] ui/issues/issue-3096-1.rs ... ok
test [ui] ui/issues/issue-30589.rs ... ok
test [ui] ui/issues/issue-3099-a.rs ... ok
test [ui] ui/issues/issue-3096-2.rs ... ok
test [ui] ui/issues/issue-31076.rs ... ok
test [ui] ui/issues/issue-3099-b.rs ... ok
test [ui] ui/issues/issue-3099.rs ... ok
test [ui] ui/issues/issue-31109.rs ... ok
test [ui] ui/issues/issue-31011.rs ... ok
test [ui] ui/issues/issue-31212.rs ... ok
test [ui] ui/issues/issue-31221.rs ... ok
test [ui] ui/issues/issue-22008.rs ... ok
test [ui] ui/issues/issue-31173.rs ... ok
test [ui] ui/issues/issue-31260.rs ... ok
test [ui] ui/issues/issue-22828.rs ... ok
test [ui] ui/issues/issue-2284.rs ... ok
test [ui] ui/issues/issue-31511.rs ... ok
test [ui] ui/issues/issue-3154.rs ... ok
test [ui] ui/issues/issue-3149.rs ... ok
test [ui] ui/issues/issue-31561.rs ... ok
test [ui] ui/issues/issue-31597.rs ... ok
test [ui] ui/issues/issue-2288.rs ... ok
test [ui] ui/issues/issue-22536-copy-mustnt-zero.rs ... ok
test [ui] ui/issues/issue-31769.rs ... ok
test [ui] ui/issues/issue-31804.rs ... ok
test [ui] ui/issues/issue-31845.rs ... ok
test [ui] ui/issues/issue-31910.rs ... ok
test [ui] ui/issues/issue-31924-non-snake-ffi.rs ... ok
test [ui] ui/issues/issue-22629.rs ... ok
test [ui] ui/issues/issue-22258.rs ... ok
test [ui] ui/issues/issue-32004.rs ... ok
test [ui] ui/issues/issue-32119.rs ... ok
test [ui] ui/issues/issue-32086.rs ... ok
test [ui] ui/issues/issue-3214.rs ... ok
test [ui] ui/issues/issue-32201.rs ... ok
test [ui] ui/issues/issue-32122-1.rs ... ok
test [ui] ui/issues/issue-32222.rs ... ok
test [ui] ui/issues/issue-32122-2.rs ... ok
test [ui] ui/issues/issue-32323.rs ... ok
test [ui] ui/issues/issue-2214.rs ... ok
test [ui] ui/issues/issue-22864-1.rs ... ok
test [ui] ui/issues/issue-32326.rs ... ok
test [ui] ui/issues/issue-32324.rs ... ok
test [ui] ui/issues/issue-23208.rs ... ok
test [ui] ui/issues/issue-32377.rs ... ok
test [ui] ui/issues/issue-32655.rs ... ok
test [ui] ui/issues/issue-32354-suggest-import-rename.rs ... ok
test [ui] ui/issues/issue-32782.rs ... ok
test [ui] ui/issues/issue-32709.rs ... ok
test [ui] ui/issues/issue-32797.rs ... ok
test [ui] ui/issues/issue-20091.rs ... ok
test [ui] ui/issues/issue-22992-2.rs ... ok
test [ui] ui/issues/issue-32829-2.rs ... ok
test [ui] ui/issues/issue-32833.rs ... ok
test [ui] ui/issues/issue-22864-2.rs ... ok
test [ui] ui/issues/issue-23261.rs ... ok
test [ui] ui/issues/issue-32829.rs ... ok
test [ui] ui/issues/issue-32922.rs ... ok
test [ui] ui/issues/issue-23036.rs ... ok
test [ui] ui/issues/issue-32950.rs ... ok
test [ui] ui/issues/issue-32995.rs ... ok
test [ui] ui/issues/issue-32963.rs ... ok
test [ui] ui/issues/issue-32995-2.rs ... ok
test [ui] ui/issues/issue-22992.rs ... ok
test [ui] ui/issues/issue-33140.rs ... ok
test [ui] ui/issues/issue-23338-params-outlive-temps-of-body.rs ... ok
test [ui] ui/issues/issue-33264.rs ... ignored
test [ui] ui/issues/issue-23304-1.rs ... ok
test [ui] ui/issues/issue-33140-hack-boundaries.rs ... ok
test [ui] ui/issues/issue-33140-traitobject-crate.rs ... ok
test [ui] ui/issues/issue-33293.rs ... ok
test [ui] ui/issues/issue-23304-2.rs ... ok
test [ui] ui/issues/issue-33241.rs ... ok
test [ui] ui/issues/issue-20823.rs ... ok
test [ui] ui/issues/issue-2316-c.rs ... ok
test [ui] ui/issues/issue-33464.rs ... ok
test [ui] ui/issues/issue-3344.rs ... ok
test [ui] ui/issues/issue-33287.rs ... ok
test [ui] ui/issues/issue-33504.rs ... ok
test [ui] ui/issues/issue-33571.rs ... ok
test [ui] ui/issues/issue-33525.rs ... ok
test [ui] ui/issues/issue-23311.rs ... ok
test [ui] ui/issues/issue-23336.rs ... ok
test [ui] ui/issues/issue-33575.rs ... ok
test [ui] ui/issues/issue-33819.rs ... ok
test [ui] ui/issues/issue-33903.rs ... ok
test [ui] ui/issues/issue-33941.rs ... ok
test [ui] ui/issues/issue-34028.rs ... ok
test [ui] ui/issues/issue-34047.rs ... ok
test [ui] ui/issues/issue-23649-1.rs ... ok
test [ui] ui/issues/issue-23485.rs ... ok
test [ui] ui/issues/issue-23491.rs ... ok
test [ui] ui/issues/issue-23808.rs ... ok
test [ui] ui/issues/issue-2383.rs ... ok
test [ui] ui/issues/issue-34171.rs ... ok
test [ui] ui/issues/issue-2380-b.rs ... ok
test [ui] ui/issues/issue-34209.rs ... ok
test [ui] ui/issues/issue-34222-1.rs ... ok
test [ui] ui/issues/issue-23354-2.rs ... ok
test [ui] ui/issues/issue-34255-1.rs ... ok
test [ui] ui/issues/issue-34229.rs ... ok
test [ui] ui/issues/issue-23891.rs ... ok
test [ui] ui/issues/issue-23958.rs ... ok
test [ui] ui/issues/issue-23338-ensure-param-drop-order.rs ... ok
test [ui] ui/issues/issue-3424.rs ... ok
test [ui] ui/issues/issue-34194.rs ... ok
test [ui] ui/issues/issue-23699.rs ... ok
test [ui] ui/issues/issue-34373.rs ... ok
test [ui] ui/issues/issue-23898.rs ... ok
test [ui] ui/issues/issue-34418.rs ... ok
test [ui] ui/issues/issue-23781.rs ... ok
test [ui] ui/issues/issue-34349.rs ... ok
test [ui] ui/issues/issue-23968-const-not-overflow.rs ... ok
test [ui] ui/issues/issue-23354.rs ... ok
test [ui] ui/issues/issue-23433.rs ... ok
test [ui] ui/issues/issue-34334.rs ... ok
test [ui] ui/issues/issue-34751.rs ... ok
test [ui] ui/issues/issue-34780.rs ... ok
test [ui] ui/issues/issue-3477.rs ... ok
test [ui] ui/issues/issue-23611-enum-swap-in-drop.rs ... ok
test [ui] ui/issues/issue-23833.rs ... ok
test [ui] ui/issues/issue-34839.rs ... ok
test [ui] ui/issues/issue-23649-2.rs ... ok
test [ui] ui/issues/issue-35075.rs ... ok
test [ui] ui/issues/issue-34721.rs ... ok
test [ui] ui/issues/issue-35139.rs ... ok
test [ui] ui/issues/issue-23825.rs ... ok
test [ui] ui/issues/issue-3521-2.rs ... ok
test [ui] ui/issues/issue-35241.rs ... ok
test [ui] ui/issues/issue-3521.rs ... ok
test [ui] ui/issues/issue-35450.rs ... ok
test [ui] ui/issues/issue-35376.rs ... ok
test [ui] ui/issues/issue-35570.rs ... ok
test [ui] ui/issues/issue-35546.rs ... ok
test [ui] ui/issues/issue-3563-2.rs ... ok
test [ui] ui/issues/issue-35668.rs ... ok
test [ui] ui/issues/issue-35675.rs ... ok
test [ui] ui/issues/issue-35677.rs ... ok
test [ui] ui/issues/issue-35869.rs ... ok
test [ui] ui/issues/issue-35976.rs ... ok
test [ui] ui/issues/issue-35988.rs ... ok
test [ui] ui/issues/issue-3601.rs ... ok
test [ui] ui/issues/issue-23992.rs ... ok
test [ui] ui/issues/issue-24010.rs ... ok
test [ui] ui/issues/issue-24086.rs ... ok
test [ui] ui/issues/issue-36075.rs ... ok
test [ui] ui/issues/issue-36082.rs ... ok
test [ui] ui/issues/issue-24308.rs ... ok
test [ui] ui/issues/issue-2414-c.rs ... ok
test [ui] ui/issues/issue-24353.rs ... ok
test [ui] ui/issues/issue-3609.rs ... ok
test [ui] ui/issues/issue-36116.rs ... ok
test [ui] ui/issues/issue-24589.rs ... ok
test [ui] ui/issues/issue-2428.rs ... ok
test [ui] ui/issues/issue-36163.rs ... ok
test [ui] ui/issues/issue-36299.rs ... ok
test [ui] ui/issues/issue-36379.rs ... ok
test [ui] ui/issues/issue-36400.rs ... ok
test [ui] ui/issues/issue-2445-b.rs ... ok
test [ui] ui/issues/issue-2463.rs ... ok
test [ui] ui/issues/issue-2445.rs ... ok
test [ui] ui/issues/issue-36617.rs ... ok
test [ui] ui/issues/issue-36638.rs ... ok
test [ui] ui/issues/issue-24533.rs ... ok
test [ui] ui/issues/issue-3668-2.rs ... ok
test [ui] ui/issues/issue-3668.rs ... ok
test [ui] ui/issues/issue-24535-allow-mutable-borrow-in-match-guard.rs ... ok
test [ui] ui/issues/issue-2444.rs ... ok
test [ui] ui/issues/issue-24687-embed-debuginfo/main.rs ... ok
test [ui] ui/issues/issue-36708.rs ... ok
test [ui] ui/issues/issue-36744-without-calls.rs ... ok
test [ui] ui/issues/issue-3680.rs ... ok
test [ui] ui/issues/issue-24779.rs ... ok
test [ui] ui/issues/issue-24805-dropck-itemless.rs ... ok
test [ui] ui/issues/issue-24954.rs ... ok
test [ui] ui/issues/issue-24947.rs ... ok
test [ui] ui/issues/issue-2472.rs ... ok
test [ui] ui/issues/issue-25145.rs ... ok
test [ui] ui/issues/issue-36836.rs ... ok
test [ui] ui/issues/issue-36839.rs ... ok
test [ui] ui/issues/issue-24945-repeat-dash-opts.rs ... ok
test [ui] ui/issues/issue-3702-2.rs ... ok
test [ui] ui/issues/issue-37051.rs ... ok
test [ui] ui/issues/issue-2470-bounds-check-overflow.rs ... ok
test [ui] ui/issues/issue-36881.rs ... ok
test [ui] ui/issues/issue-3707.rs ... ok
test [ui] ui/issues/issue-37026.rs ... ok
test [ui] ui/issues/issue-37131.rs ... ok
test [ui] ui/issues/issue-25185.rs ... ok
test [ui] ui/issues/issue-2526-a.rs ... ok
test [ui] ui/issues/issue-37323.rs ... ok
test [ui] ui/issues/issue-25497.rs ... ok
test [ui] ui/issues/issue-37366.rs ... ok
test [ui] ui/issues/issue-25339.rs ... ok
test [ui] ui/issues/issue-25343.rs ... ok
test [ui] ui/issues/issue-37510.rs ... ok
test [ui] ui/issues/issue-37515.rs ... ok
test [ui] ui/issues/issue-25467.rs ... ok
test [ui] ui/issues/issue-37433.rs ... ok
test [ui] ui/issues/issue-37534.rs ... ok
test [ui] ui/issues/issue-37550.rs ... ok
test [ui] ui/issues/issue-37576.rs ... ok
test [ui] ui/issues/issue-25549-multiple-drop.rs ... ok
test [ui] ui/issues/issue-37598.rs ... ok
test [ui] ui/issues/issue-3763.rs ... ok
test [ui] ui/issues/issue-2550.rs ... ok
test [ui] ui/issues/issue-37655.rs ... ok
test [ui] ui/issues/issue-3779.rs ... ok
test [ui] ui/issues/issue-37665.rs ... ok
test [ui] ui/issues/issue-37725.rs ... ok
test [ui] ui/issues/issue-25515.rs ... ok
test [ui] ui/issues/issue-37884.rs ... ok
test [ui] ui/issues/issue-37733.rs ... ok
test [ui] ui/issues/issue-37887.rs ... ok
test [ui] ui/issues/issue-25089.rs ... ok
test [ui] ui/issues/issue-38091.rs ... ok
test [ui] ui/issues/issue-38160.rs ... ok
test [ui] ui/issues/issue-25279.rs ... ok
test [ui] ui/issues/issue-25700-2.rs ... ok
test [ui] ui/issues/issue-25679.rs ... ok
test [ui] ui/issues/issue-25757.rs ... ok
test [ui] ui/issues/issue-3820.rs ... ok
test [ui] ui/issues/issue-38293.rs ... ok
test [ui] ui/issues/issue-25693.rs ... ok
test [ui] ui/issues/issue-38381.rs ... ok
test [ui] ui/issues/issue-38404.rs ... ok
test [ui] ui/issues/issue-25700-1.rs ... ok
test [ui] ui/issues/issue-38412.rs ... ok
test [ui] ui/issues/issue-25746-bool-transmute.rs ... ok
test [ui] ui/issues/issue-38458.rs ... ok
test [ui] ui/issues/issue-38604.rs ... ok
test [ui] ui/issues/issue-38715.rs ... ok
test [ui] ui/issues/issue-26251.rs ... ok
test [ui] ui/issues/issue-25810.rs ... ok
test [ui] ui/issues/issue-37311-type-length-limit/issue-37311.rs ... ok
test [ui] ui/issues/issue-38727.rs ... ok
test [ui] ui/issues/issue-3874.rs ... ok
test [ui] ui/issues/issue-38821.rs ... ok
test [ui] ui/issues/issue-38857.rs ... ok
test [ui] ui/issues/issue-38868.rs ... ok
test [ui] ui/issues/issue-3888-2.rs ... ok
test [ui] ui/issues/issue-26127.rs ... ok
test [ui] ui/issues/issue-38919.rs ... ok
test [ui] ui/issues/issue-26448-1.rs ... ok
test [ui] ui/issues/issue-38940.rs ... ok
test [ui] ui/issues/issue-26322.rs ... ok
test [ui] ui/issues/issue-38875/issue-38875.rs ... ok
test [ui] ui/issues/issue-38954.rs ... ok
test [ui] ui/issues/issue-25916.rs ... ok
test [ui] ui/issues/issue-39089.rs ... ok
test [ui] ui/issues/issue-39211.rs ... ok
test [ui] ui/issues/issue-39175.rs ... ok
test [ui] ui/issues/issue-39362.rs ... ok
test [ui] ui/issues/issue-2642.rs ... ok
test [ui] ui/issues/issue-39388.rs ... ok
test [ui] ui/issues/issue-2633.rs ... ok
test [ui] ui/issues/issue-39404.rs ... ok
test [ui] ui/issues/issue-39467.rs ... ok
test [ui] ui/issues/issue-39559-2.rs ... ok
test [ui] ui/issues/issue-26641.rs ... ok
test [ui] ui/issues/issue-39559.rs ... ok
test [ui] ui/issues/issue-39616.rs ... ok
test [ui] ui/issues/issue-2633-2.rs ... ok
test [ui] ui/issues/issue-39687.rs ... ok
test [ui] ui/issues/issue-26873-multifile.rs ... ok
test [ui] ui/issues/issue-3979-2.rs ... ok
test [ui] ui/issues/issue-3973.rs ... ok
test [ui] ui/issues/issue-2631-b.rs ... ok
test [ui] ui/issues/issue-26905-rpass.rs ... ok
test [ui] ui/issues/issue-26873-onefile.rs ... ok
test [ui] ui/issues/issue-26468.rs ... ok
test [ui] ui/issues/issue-26805.rs ... ok
test [ui] ui/issues/issue-39848.rs ... ok
test [ui] ui/issues/issue-26802.rs ... ok
test [ui] ui/issues/issue-26709.rs ... ok
test [ui] ui/issues/issue-27060-rpass.rs ... ok
test [ui] ui/issues/issue-3991.rs ... ok
test [ui] ui/issues/issue-3993.rs ... ok
test [ui] ui/issues/issue-39970.rs ... ok
test [ui] ui/issues/issue-39974.rs ... ok
test [ui] ui/issues/issue-39984.rs ... ok
test [ui] ui/issues/issue-40000.rs ... ok
test [ui] ui/issues/issue-27268.rs ... ok
test [ui] ui/issues/issue-40136.rs ... ok
test [ui] ui/issues/issue-40231-2.rs ... ok
test [ui] ui/issues/issue-40231-1.rs ... ok
test [ui] ui/issues/issue-4025.rs ... ok
test [ui] ui/issues/issue-2718.rs ... ok
test [ui] ui/issues/issue-2708.rs ... ok
test [ui] ui/issues/issue-40288-2.rs ... ok
test [ui] ui/issues/issue-27054-primitive-binary-ops.rs ... ok
test [ui] ui/issues/issue-40288.rs ... ok
test [ui] ui/issues/issue-40350.rs ... ok
test [ui] ui/issues/issue-40402-ref-hints/issue-40402-1.rs ... ok
test [ui] ui/issues/issue-27240.rs ... ok
test [ui] ui/issues/issue-40402-ref-hints/issue-40402-2.rs ... ok
test [ui] ui/issues/issue-40510-1.rs ... ok
test [ui] ui/issues/issue-40510-2.rs ... ok
test [ui] ui/issues/issue-40510-4.rs ... ok
test [ui] ui/issues/issue-27320.rs ... ok
test [ui] ui/issues/issue-40510-3.rs ... ok
test [ui] ui/issues/issue-40610.rs ... ok
test [ui] ui/issues/issue-40845.rs ... ok
test [ui] ui/issues/issue-40749.rs ... ok
test [ui] ui/issues/issue-40827.rs ... ok
test [ui] ui/issues/issue-40861.rs ... ok
test [ui] ui/issues/issue-40782.rs ... ok
test [ui] ui/issues/issue-40962.rs ... ok
test [ui] ui/issues/issue-2735-3.rs ... ok
test [ui] ui/issues/issue-2734.rs ... ok
test [ui] ui/issues/issue-26484.rs ... ok
test [ui] ui/issues/issue-41139.rs ... ok
test [ui] ui/issues/issue-2735.rs ... ok
test [ui] ui/issues/issue-41229-ref-str.rs ... ok
test [ui] ui/issues/issue-41255.rs ... ok
test [ui] ui/issues/issue-2748-b.rs ... ok
test [ui] ui/issues/issue-41298.rs ... ok
test [ui] ui/issues/issue-41272.rs ... ok
test [ui] ui/issues/issue-2723-b.rs ... ok
test [ui] ui/issues/issue-41394.rs ... ok
test [ui] ui/issues/issue-27401-dropflag-reinit.rs ... ok
test [ui] ui/issues/issue-26655.rs ... ok
test [ui] ui/issues/issue-41628.rs ... ok
test [ui] ui/issues/issue-24313.rs ... ok
test [ui] ui/issues/issue-41549.rs ... ok
test [ui] ui/issues/issue-2735-2.rs ... ok
test [ui] ui/issues/issue-41652/issue-41652.rs ... ok
test [ui] ui/issues/issue-41726.rs ... ok
test [ui] ui/issues/issue-27949.rs ... ok
test [ui] ui/issues/issue-41776.rs ... ok
test [ui] ui/issues/issue-27890.rs ... ok
test [ui] ui/issues/issue-41742.rs ... ok
test [ui] ui/issues/issue-27997.rs ... ok
test [ui] ui/issues/issue-27639.rs ... ok
test [ui] ui/issues/issue-28181.rs ... ok
test [ui] ui/issues/issue-41936-variance-coerce-unsized-cycle.rs ... ok
test [ui] ui/issues/issue-41880.rs ... ok
test [ui] ui/issues/issue-2761.rs ... ok
test [ui] ui/issues/issue-41998.rs ... ok
test [ui] ui/issues/issue-41974.rs ... ok
test [ui] ui/issues/issue-27901.rs ... ok
test [ui] ui/issues/issue-4201.rs ... ok
test [ui] ui/issues/issue-42106.rs ... ok
test [ui] ui/issues/issue-42060.rs ... ok
test [ui] ui/issues/issue-42312.rs ... ok
test [ui] ui/issues/issue-28498-ugeh-ex1.rs ... ok
test [ui] ui/issues/issue-42344.rs ... ok
test [ui] ui/issues/issue-28498-must-work-ex1.rs ... ok
test [ui] ui/issues/issue-27859.rs ... ok
test [ui] ui/issues/issue-28498-must-work-ex2.rs ... ok
test [ui] ui/issues/issue-28550.rs ... ok
test [ui] ui/issues/issue-42467.rs ... ok
test [ui] ui/issues/issue-4265.rs ... ok
test [ui] ui/issues/issue-28676.rs ... ok
test [ui] ui/issues/issue-28498-ugeh-with-lifetime-param.rs ... ok
test [ui] ui/issues/issue-42755.rs ... ok
test [ui] ui/issues/issue-42796.rs ... ok
test [ui] ui/issues/issue-28498-ugeh-with-trait-bound.rs ... ok
test [ui] ui/issues/issue-42880.rs ... ok
test [ui] ui/issues/issue-42944.rs ... ok
test [ui] ui/issues/issue-42956.rs ... ok
test [ui] ui/issues/issue-28828.rs ... ok
test [ui] ui/issues/issue-43023.rs ... ok
test [ui] ui/issues/issue-43057.rs ... ok
test [ui] ui/issues/issue-42954.rs ... ok
test [ui] ui/issues/issue-43105.rs ... ok
test [ui] ui/issues/issue-43196.rs ... ok
test [ui] ui/issues/issue-43162.rs ... ok
test [ui] ui/issues/issue-4321.rs ... ok
test [ui] ui/issues/issue-43250.rs ... ok
test [ui] ui/issues/issue-28777.rs ... ok
test [ui] ui/issues/issue-2895.rs ... ok
test [ui] ui/issues/issue-4335.rs ... ok
test [ui] ui/issues/issue-43189.rs ... ok
test [ui] ui/issues/issue-29092.rs ... ok
test [ui] ui/issues/issue-28839.rs ... ok
test [ui] ui/issues/issue-28498-ugeh-with-passed-to-fn.rs ... ok
test [ui] ui/issues/issue-43355.rs ... ok
test [ui] ui/issues/issue-43357.rs ... ok
test [ui] ui/issues/issue-43424.rs ... ok
test [ui] ui/issues/issue-43431.rs ... ok
test [ui] ui/issues/issue-28983.rs ... ok
test [ui] ui/issues/issue-43483.rs ... ok
test [ui] ui/issues/issue-43420-no-over-suggest.rs ... ok
test [ui] ui/issues/issue-4366-2.rs ... ok
test [ui] ui/issues/issue-43623.rs ... ok
test [ui] ui/issues/issue-29053.rs ... ok
test [ui] ui/issues/issue-4366.rs ... ok
test [ui] ui/issues/issue-29071-2.rs ... ok
test [ui] ui/issues/issue-28950.rs ... ok
test [ui] ui/issues/issue-29166.rs ... ok
test [ui] ui/issues/issue-43806.rs ... ok
test [ui] ui/issues/issue-43733.rs ... ok
test [ui] ui/issues/issue-43784-associated-type.rs ... ok
test [ui] ui/issues/issue-43784-supertrait.rs ... ok
test [ui] ui/issues/issue-43926.rs ... ok
test [ui] ui/issues/issue-43925.rs ... ok
test [ui] ui/issues/issue-43988.rs ... ok
test [ui] ui/issues/issue-2936.rs ... ok
test [ui] ui/issues/issue-44056.rs ... ignored
test [ui] ui/issues/issue-44021.rs ... ok
test [ui] ui/issues/issue-29147-rpass.rs ... ok
test [ui] ui/issues/issue-44078.rs ... ok
test [ui] ui/issues/issue-44023.rs ... ok
test [ui] ui/issues/issue-44005.rs ... ok
test [ui] ui/issues/issue-2935.rs ... ok
test [ui] ui/issues/issue-28934.rs ... ok
test [ui] ui/issues/issue-44239.rs ... ok
test [ui] ui/issues/issue-29522.rs ... ok
test [ui] ui/issues/issue-44247.rs ... ok
test [ui] ui/issues/issue-44373-2.rs ... ok
test [ui] ui/issues/issue-44373.rs ... ok
test [ui] ui/issues/issue-44405.rs ... ok
test [ui] ui/issues/issue-44406.rs ... ok
test [ui] ui/issues/issue-29668.rs ... ok
test [ui] ui/issues/issue-29844.rs ... ok
test [ui] ui/issues/issue-29914-3.rs ... ok
test [ui] ui/issues/issue-29914-2.rs ... ok
test [ui] ui/issues/issue-4464.rs ... ok
test [ui] ui/issues/issue-29663.rs ... ok
test [ui] ui/issues/issue-29927-1.rs ... ok
test [ui] ui/issues/issue-29746.rs ... ok
test [ui] ui/issues/issue-45087-unreachable-unsafe.rs ... ok
test [ui] ui/issues/issue-44730.rs ... ok
test [ui] ui/issues/issue-44851.rs ... ok
test [ui] ui/issues/issue-29488.rs ... ok
test [ui] ui/issues/issue-45107-unnecessary-unsafe-in-closure.rs ... ok
test [ui] ui/issues/issue-29914.rs ... ok
test [ui] ui/issues/issue-29466.rs ... ok
test [ui] ui/issues/issue-45157.rs ... ok
test [ui] ui/issues/issue-45296.rs ... ok
test [ui] ui/issues/issue-45199.rs ... ok
test [ui] ui/issues/issue-4517.rs ... ok
test [ui] ui/issues/issue-45425.rs ... ok
test [ui] ui/issues/issue-45562.rs ... ok
test [ui] ui/issues/issue-45696-scribble-on-boxed-borrow.rs ... ok
test [ui] ui/issues/issue-29227.rs ... ok
test [ui] ui/issues/issue-45697-1.rs ... ok
test [ui] ui/issues/issue-45697.rs ... ok
test [ui] ui/issues/issue-45729-unsafe-in-generator.rs ... ok
test [ui] ui/issues/issue-29798.rs ... ok
test [ui] ui/issues/issue-30081.rs ... ok
test [ui] ui/issues/issue-45730.rs ... ok
test [ui] ui/issues/issue-45829/import-self.rs ... ok
test [ui] ui/issues/issue-3012-2.rs ... ok
test [ui] ui/issues/issue-45801.rs ... ok
test [ui] ui/issues/issue-45799-bad-extern-crate-rename-suggestion-formatting.rs ... ok
test [ui] ui/issues/issue-30240-rpass.rs ... ok
test [ui] ui/issues/issue-2989.rs ... ok
test [ui] ui/issues/issue-29927.rs ... ok
test [ui] ui/issues/issue-45829/issue-45829.rs ... ok
test [ui] ui/issues/issue-45829/import-twice.rs ... ok
test [ui] ui/issues/issue-45829/rename-use-with-tabs.rs ... ok
test [ui] ui/issues/issue-45829/rename-with-path.rs ... ok
test [ui] ui/issues/issue-45829/rename.rs ... ok
test [ui] ui/issues/issue-29485.rs ... ok
test [ui] ui/issues/issue-45829/rename-extern-vs-use.rs ... ok
test [ui] ui/issues/issue-45965.rs ... ok
test [ui] ui/issues/issue-46023.rs ... ok
test [ui] ui/issues/issue-46036.rs ... ok
test [ui] ui/issues/issue-45829/rename-use-vs-extern.rs ... ok
test [ui] ui/issues/issue-46101.rs ... ok
test [ui] ui/issues/issue-46302.rs ... ok
test [ui] ui/issues/issue-30018-nopanic.rs ... ok
test [ui] ui/issues/issue-45829/rename-extern-with-tab.rs ... ok
test [ui] ui/issues/issue-3052.rs ... ok
test [ui] ui/issues/issue-3037.rs ... ok
test [ui] ui/issues/issue-45829/rename-extern.rs ... ok
test [ui] ui/issues/issue-46311.rs ... ok
test [ui] ui/issues/issue-46186.rs ... ok
test [ui] ui/issues/issue-46332.rs ... ok
test [ui] ui/issues/issue-46438.rs ... ok
test [ui] ui/issues/issue-30371.rs ... ok
test [ui] ui/issues/issue-46471-1.rs ... ok
test [ui] ui/issues/issue-46472.rs ... ok
test [ui] ui/issues/issue-46471.rs ... ok
test [ui] ui/issues/issue-46604.rs ... ok
test [ui] ui/issues/issue-46576.rs ... ok
test [ui] ui/issues/issue-46112.rs ... ok
test [ui] ui/issues/issue-46771.rs ... ok
test [ui] ui/issues/issue-46983.rs ... ok
test [ui] ui/issues/issue-46959.rs ... ok
test [ui] ui/issues/issue-29948.rs ... ok
test [ui] ui/issues/issue-46756-consider-borrowing-cast-or-binexpr.rs ... ok
test [ui] ui/issues/issue-3026.rs ... ok
test [ui] ui/issues/issue-47073-zero-padded-tuple-struct-indices.rs ... ok
test [ui] ui/issues/issue-47094.rs ... ok
test [ui] ui/issues/issue-46964.rs ... ok
test [ui] ui/issues/issue-3091.rs ... ok
test [ui] ui/issues/issue-47184.rs ... ok
test [ui] ui/issues/issue-47309.rs ... ok
test [ui] ui/issues/issue-4736.rs ... ok
test [ui] ui/issues/issue-3121.rs ... ok
test [ui] ui/issues/issue-22463.rs ... ok
test [ui] ui/issues/issue-30530.rs ... ok
test [ui] ui/issues/issue-47377.rs ... ok
test [ui] ui/issues/issue-47380.rs ... ok
test [ui] ui/issues/issue-47412.rs ... ok
test [ui] ui/issues/issue-47511.rs ... ok
test [ui] ui/issues/issue-30891.rs ... ok
test [ui] ui/issues/issue-30615.rs ... ok
test [ui] ui/issues/issue-47623.rs ... ok
test [ui] ui/issues/issue-30380.rs ... ok
test [ui] ui/issues/issue-47486.rs ... ok
test [ui] ui/issues/issue-47673.rs ... ok
test [ui] ui/issues/issue-47646.rs ... ok
test [ui] ui/issues/issue-3109.rs ... ok
test [ui] ui/issues/issue-31299.rs ... ok
test [ui] ui/issues/issue-30018-panic.rs ... ok
test [ui] ui/issues/issue-47703-tuple.rs ... ok
test [ui] ui/issues/issue-47703-1.rs ... ok
test [ui] ui/issues/issue-47703.rs ... ok
test [ui] ui/issues/issue-30756.rs ... ok
test [ui] ui/issues/issue-47706-trait.rs ... ok
test [ui] ui/issues/issue-47706.rs ... ok
test [ui] ui/issues/issue-47715.rs ... ok
test [ui] ui/issues/issue-3029.rs ... ok
test [ui] ui/issues/issue-48508-aux.rs ... ignored
test [ui] ui/issues/issue-47789.rs ... ok
test [ui] ui/issues/issue-47722.rs ... ok
test [ui] ui/issues/issue-48131.rs ... ok
test [ui] ui/issues/issue-48276.rs ... ok
test [ui] ui/issues/issue-48179.rs ... ok
test [ui] ui/issues/issue-4830.rs ... ok
test [ui] ui/issues/issue-31776.rs ... ok
test [ui] ui/issues/issue-31267-additional.rs ... ok
test [ui] ui/issues/issue-48551.rs ... ok
test [ui] ui/issues/issue-48364.rs ... ok
test [ui] ui/issues/issue-48728.rs ... ok
test [ui] ui/issues/issue-48636.rs ... ok
test [ui] ui/issues/issue-31267.rs ... ok
test [ui] ui/issues/issue-48803.rs ... ok
test [ui] ui/issues/issue-32008.rs ... ok
test [ui] ui/issues/issue-49298.rs ... ignored
test [ui] ui/issues/issue-48838.rs ... ok
test [ui] ui/issues/issue-49040.rs ... ok
test [ui] ui/issues/issue-49074.rs ... ok
test [ui] ui/issues/issue-49257.rs ... ok
test [ui] ui/issues/issue-4935.rs ... ok
test [ui] ui/issues/issue-49556.rs ... ok
test [ui] ui/issues/issue-49579.rs ... ok
test [ui] ui/issues/issue-4968.rs ... ok
test [ui] ui/issues/issue-3211.rs ... ok
test [ui] ui/issues/issue-3220.rs ... ok
test [ui] ui/issues/issue-4972.rs ... ok
test [ui] ui/issues/issue-49824.rs ... ok
test [ui] ui/issues/issue-32389.rs ... ok
test [ui] ui/issues/issue-49851/compiler-builtins-error.rs ... ok
test [ui] ui/issues/issue-49934-errors.rs ... ok
test [ui] ui/issues/issue-49919.rs ... ok
test [ui] ui/issues/issue-3136-b.rs ... ok
test [ui] ui/issues/issue-32292.rs ... ok
test [ui] ui/issues/issue-33096.rs ... ok
test [ui] ui/issues/issue-32947.rs ... ok
test [ui] ui/issues/issue-49934.rs ... ok
test [ui] ui/issues/issue-50187.rs ... ok
test [ui] ui/issues/issue-33187.rs ... ok
test [ui] ui/issues/issue-49544.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/option-as_deref_mut.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/option-as_deref.rs ... ok
test [ui] ui/issues/issue-3290.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/result-as_deref.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/result-as_deref_err.rs ... ok
test [ui] ui/issues/issue-50403.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut.rs ... ok
test [ui] ui/issues/issue-50301.rs ... ok
test [ui] ui/issues/issue-50264-inner-deref-trait/result-as_deref_mut_err.rs ... ok
test [ui] ui/issues/issue-33185.rs ... ok
test [ui] ui/issues/issue-50471.rs ... ok
test [ui] ui/issues/issue-50518.rs ... ok
test [ui] ui/issues/issue-50480.rs ... ok
test [ui] ui/issues/issue-50571.rs ... ok
test [ui] ui/issues/issue-50576.rs ... ok
test [ui] ui/issues/issue-50581.rs ... ok
test [ui] ui/issues/issue-50411.rs ... ok
test [ui] ui/issues/issue-50582.rs ... ok
test [ui] ui/issues/issue-50599.rs ... ok
test [ui] ui/issues/issue-50585.rs ... ok
test [ui] ui/issues/issue-5067.rs ... ok
test [ui] ui/issues/issue-50600.rs ... ok
test [ui] ui/issues/issue-50618.rs ... ok
test [ui] ui/issues/issue-5062.rs ... ok
test [ui] ui/issues/issue-50714-1.rs ... ok
test [ui] ui/issues/issue-50687-ice-on-borrow.rs ... ok
test [ui] ui/issues/issue-50688.rs ... ok
test [ui] ui/issues/issue-50714.rs ... ok
test [ui] ui/issues/issue-50781.rs ... ok
test [ui] ui/issues/issue-32518.rs ... ok
test [ui] ui/issues/issue-50761.rs ... ok
test [ui] ui/issues/issue-50802.rs ... ok
test [ui] ui/issues/issue-33202.rs ... ok
test [ui] ui/issues/issue-333.rs ... ok
test [ui] ui/issues/issue-5099.rs ... ok
test [ui] ui/issues/issue-33498.rs ... ok
test [ui] ui/issues/issue-50993.rs ... ok
test [ui] ui/issues/issue-33461.rs ... ok
test [ui] ui/issues/issue-51022.rs ... ok
test [ui] ui/issues/issue-5100.rs ... ok
test [ui] ui/issues/issue-32805.rs ... ok
test [ui] ui/issues/issue-51102.rs ... ok
test [ui] ui/issues/issue-51116.rs ... ok
test [ui] ui/issues/issue-51244.rs ... ok
test [ui] ui/issues/issue-51301.rs ... ok
test [ui] ui/issues/issue-31702.rs ... ok
test [ui] ui/issues/issue-33387.rs ... ok
test [ui] ui/issues/issue-51515.rs ... ok
test [ui] ui/issues/issue-33992.rs ... ok
test [ui] ui/issues/issue-5153.rs ... ok
test [ui] ui/issues/issue-51602.rs ... ok
test [ui] ui/issues/issue-51655.rs ... ok
test [ui] ui/issues/issue-51632-try-desugar-incompatible-types.rs ... ok
test [ui] ui/issues/issue-30490.rs ... ok
test [ui] ui/issues/issue-33687.rs ... ok
test [ui] ui/issues/issue-51714.rs ... ok
test [ui] ui/issues/issue-51848.rs ... ok
test [ui] ui/issues/issue-51770.rs ... ok
test [ui] ui/issues/issue-51874.rs ... ok
test [ui] ui/issues/issue-51798.rs ... ok
test [ui] ui/issues/issue-51947.rs ... ok
test [ui] ui/issues/issue-52023-array-size-pointer-cast.rs ... ok
test [ui] ui/issues/issue-52049.rs ... ok
test [ui] ui/issues/issue-34074.rs ... ok
test [ui] ui/issues/issue-34503.rs ... ok
test [ui] ui/issues/issue-52060.rs ... ok
test [ui] ui/issues/issue-52126-assign-op-invariance.rs ... ok
test [ui] ui/issues/issue-3389.rs ... ok
test [ui] ui/issues/issue-3447.rs ... ok
test [ui] ui/issues/issue-34569.rs ... ok
test [ui] ui/issues/issue-5216.rs ... ok
test [ui] ui/issues/issue-52213.rs ... ok
test [ui] ui/issues/issue-3429.rs ... ok
test [ui] ui/issues/issue-52240.rs ... ok
test [ui] ui/issues/issue-5239-1.rs ... ok
test [ui] ui/issues/issue-52262.rs ... ok
test [ui] ui/issues/issue-52496.rs ... ok
test [ui] ui/issues/issue-52533-1.rs ... ok
test [ui] ui/issues/issue-52489.rs ... ok
test [ui] ui/issues/issue-34798.rs ... ok
test [ui] ui/issues/issue-34427.rs ... ok
test [ui] ui/issues/issue-34784.rs ... ok
test [ui] ui/issues/issue-3500.rs ... ok
test [ui] ui/issues/issue-52533.rs ... ok
test [ui] ui/issues/issue-52717.rs ... ok
test [ui] ui/issues/issue-52992.rs ... ok
test [ui] ui/issues/issue-34053.rs ... ok
test [ui] ui/issues/issue-53251.rs ... ok
test [ui] ui/issues/issue-53275.rs ... ok
test [ui] ui/issues/issue-53300.rs ... ok
test [ui] ui/issues/issue-52891.rs ... ok
test [ui] ui/issues/issue-53348.rs ... ok
test [ui] ui/issues/issue-53419.rs ... ok
test [ui] ui/issues/issue-3556.rs ... ok
test [ui] ui/issues/issue-34796.rs ... ok
test [ui] ui/issues/issue-5353.rs ... ok
test [ui] ui/issues/issue-53498.rs ... ok
test [ui] ui/issues/issue-53565.rs ... ok
test [ui] ui/issues/issue-35815.rs ... ok
test [ui] ui/issues/issue-36023.rs ... ok
test [ui] ui/issues/issue-5358-1.rs ... ok
test [ui] ui/issues/issue-53568.rs ... ok
test [ui] ui/issues/issue-53675-a-test-called-panic.rs ... ok
test [ui] ui/issues/issue-53712.rs ... ok
test [ui] ui/issues/issue-3559.rs ... ok
test [ui] ui/issues/issue-53692.rs ... ok
test [ui] ui/issues/issue-36036-associated-type-layout.rs ... ok
test [ui] ui/issues/issue-54062.rs ... ok
test [ui] ui/issues/issue-54189.rs ... ok
test [ui] ui/issues/issue-54094.rs ... ok
test [ui] ui/issues/issue-53787-inline-assembler-macro.rs ... ok
test [ui] ui/issues/issue-53912.rs ... ok
test [ui] ui/issues/issue-54302.rs ... ok
test [ui] ui/issues/issue-54302-cases.rs ... ok
test [ui] ui/issues/issue-36139-normalize-closure-sig.rs ... ok
test [ui] ui/issues/issue-35423.rs ... ok
test [ui] ui/issues/issue-36278-prefix-nesting.rs ... ok
test [ui] ui/issues/issue-54387.rs ... ok
test [ui] ui/issues/issue-36053.rs ... ok
test [ui] ui/issues/issue-3563-3.rs ... ok
test [ui] ui/issues/issue-54348.rs ... ok
test [ui] ui/issues/issue-5439.rs ... ok
test [ui] ui/issues/issue-54410.rs ... ok
test [ui] ui/issues/issue-54521-1.rs ... ok
test [ui] ui/issues/issue-54943-1.rs ... ok
test [ui] ui/issues/issue-54521-2.rs ... ok
test [ui] ui/issues/issue-54943-2.rs ... ok
test [ui] ui/issues/issue-54521.rs ... ok
test [ui] ui/issues/issue-54943-3.rs ... ok
test [ui] ui/issues/issue-54943.rs ... ok
test [ui] ui/issues/issue-54954.rs ... ok
test [ui] ui/issues/issue-54966.rs ... ok
test [ui] ui/issues/issue-5500-1.rs ... ok
test [ui] ui/issues/issue-36474.rs ... ok
test [ui] ui/issues/issue-36401.rs ... ok
test [ui] ui/issues/issue-36381.rs ... ok
test [ui] ui/issues/issue-55511.rs ... ok
test [ui] ui/issues/issue-55587.rs ... ok
test [ui] ui/issues/issue-36260.rs ... ok
test [ui] ui/issues/issue-5572.rs ... ok
test [ui] ui/issues/issue-3656.rs ... ok
test [ui] ui/issues/issue-55731.rs ... ok
test [ui] ui/issues/issue-55796.rs ... ok
test [ui] ui/issues/issue-34571.rs ... ok
test [ui] ui/issues/issue-56031.rs ... ok
test [ui] ui/issues/issue-56128.rs ... ok
test [ui] ui/issues/issue-36792.rs ... ok
test [ui] ui/issues/issue-56199.rs ... ok
test [ui] ui/issues/issue-34932.rs ... ok
test [ui] ui/issues/issue-56411-aux.rs ... ok
test [ui] ui/issues/issue-56411.rs ... ok
test [ui] ui/issues/issue-56175.rs ... ok
test [ui] ui/issues/issue-56202.rs ... ok
test [ui] ui/issues/issue-56762.rs ... ignored
test [ui] ui/issues/issue-56806.rs ... ok
test [ui] ui/issues/issue-56685.rs ... ok
test [ui] ui/issues/issue-56835.rs ... ok
test [ui] ui/issues/issue-35600.rs ... ok
test [ui] ui/issues/issue-56870.rs ... ok
test [ui] ui/issues/issue-36786-resolve-call.rs ... ok
test [ui] ui/issues/issue-36816.rs ... ok
test [ui] ui/issues/issue-36856.rs ... ok
test [ui] ui/issues/issue-56943.rs ... ok
test [ui] ui/issues/issue-57156.rs ... ok
test [ui] ui/issues/issue-36744-bitcast-args-if-needed.rs ... ok
test [ui] ui/issues/issue-57162.rs ... ok
test [ui] ui/issues/issue-57198.rs ... ok
test [ui] ui/issues/issue-57362-2.rs ... ok
test [ui] ui/issues/issue-57362-1.rs ... ok
test [ui] ui/issues/issue-57399-self-return-impl-trait.rs ... ok
test [ui] ui/issues/issue-3574.rs ... ok
test [ui] ui/issues/issue-36954.rs ... ok
test [ui] ui/issues/issue-57271.rs ... ok
test [ui] ui/issues/issue-3683.rs ... ok
test [ui] ui/issues/issue-57410-1.rs ... ok
test [ui] ui/issues/issue-57410.rs ... ok
test [ui] ui/issues/issue-36936.rs ... ok
test [ui] ui/issues/issue-3702.rs ... ok
test [ui] ui/issues/issue-57597.rs ... ok
test [ui] ui/issues/issue-57472.rs ... ok
test [ui] ui/issues/issue-37109.rs ... ok
test [ui] ui/issues/issue-57741-1.rs ... ok
test [ui] ui/issues/issue-57684.rs ... ok
test [ui] ui/issues/issue-57843.rs ... ok
test [ui] ui/issues/issue-5754.rs ... ok
test [ui] ui/issues/issue-57924.rs ... ok
test [ui] ui/issues/issue-33537.rs ... ok
test [ui] ui/issues/issue-58022.rs ... ok
test [ui] ui/issues/issue-58212.rs ... ok
test [ui] ui/issues/issue-57819.rs ... ok
test [ui] ui/issues/issue-57741.rs ... ok
test [ui] ui/issues/issue-58344.rs ... ok
test [ui] ui/issues/issue-58375-monomorphize-default-impls.rs ... ok
test [ui] ui/issues/issue-58712.rs ... ok
test [ui] ui/issues/issue-37291/main.rs ... ok
test [ui] ui/issues/issue-5844.rs ... ok
test [ui] ui/issues/issue-58734.rs ... ok
test [ui] ui/issues/issue-5883.rs ... ok
test [ui] ui/issues/issue-58856-1.rs ... ok
test [ui] ui/issues/issue-37222.rs ... ok
test [ui] ui/issues/issue-58856-2.rs ... ok
test [ui] ui/issues/issue-58857.rs ... ok
test [ui] ui/issues/issue-5900.rs ... ok
test [ui] ui/issues/issue-59029-1.rs ... ok
test [ui] ui/issues/issue-5884.rs ... ok
test [ui] ui/issues/issue-5927.rs ... ok
test [ui] ui/issues/issue-37175.rs ... ok
test [ui] ui/issues/issue-59326.rs ... ok
test [ui] ui/issues/issue-59488.rs ... ok
test [ui] ui/issues/issue-59756.rs ... ignored
test [ui] ui/issues/issue-5950.rs ... ok
test [ui] ui/issues/issue-59508-1.rs ... ok
test [ui] ui/issues/issue-59896.rs ... ok
test [ui] ui/issues/issue-59508.rs ... ok
test [ui] ui/backtrace-debuginfo.rs ... ok
test [ui] ui/issues/issue-5997-enum.rs ... ok
test [ui] ui/issues/issue-5997-struct.rs ... ok
test [ui] ui/issues/issue-59764.rs ... ok
test [ui] ui/issues/issue-60075.rs ... ok
test [ui] ui/issues/issue-60057.rs ... ok
test [ui] ui/issues/issue-60283.rs ... ok
test [ui] ui/issues/issue-60622.rs ... ok
test [ui] ui/issues/issue-60218.rs ... ok
test [ui] ui/issues/issue-60662.rs ... ok
test [ui] ui/issues/issue-60989.rs ... ok
test [ui] ui/issues/issue-61106.rs ... ok
test [ui] ui/issues/issue-33770.rs ... ok
test [ui] ui/issues/issue-61108.rs ... ok
test [ui] ui/issues/issue-37991.rs ... ok
test [ui] ui/issues/issue-3743.rs ... ok
test [ui] ui/issues/issue-38074.rs ... ok
test [ui] ui/issues/issue-38033.rs ... ok
test [ui] ui/issues/issue-38190.rs ... ok
test [ui] ui/issues/issue-61623.rs ... ok
test [ui] ui/issues/issue-61858.rs ... ok
test [ui] ui/issues/issue-38002.rs ... ok
test [ui] ui/issues/issue-61882-2.rs ... ok
test [ui] ui/issues/issue-3794.rs ... ok
test [ui] ui/issues/issue-3753.rs ... ok
test [ui] ui/issues/issue-62375.rs ... ok
test [ui] ui/issues/issue-3895.rs ... ok
test [ui] ui/issues/issue-62480.rs ... ok
test [ui] ui/issues/issue-61882.rs ... ok
test [ui] ui/issues/issue-62554.rs ... ok
test [ui] ui/issues/issue-61711-once-caused-rustc-inf-loop.rs ... ok
test [ui] ui/issues/issue-63364.rs ... ok
test [ui] ui/issues/issue-6341.rs ... ok
test [ui] ui/issues/issue-38556.rs ... ok
test [ui] ui/issues/issue-38226.rs ... ok
test [ui] ui/issues/issue-3878.rs ... ok
test [ui] ui/issues/issue-38763.rs ... ok
test [ui] ui/issues/issue-38987.rs ... ok
test [ui] ui/issues/issue-64430.rs ... ok
test [ui] ui/issues/issue-63983.rs ... ok
test [ui] ui/issues/issue-64559.rs ... ok
test [ui] ui/issues/issue-6458-3.rs ... ok
test [ui] ui/issues/issue-6458-2.rs ... ok
test [ui] ui/issues/issue-6458-4.rs ... ok
test [ui] ui/issues/issue-6458.rs ... ok
test [ui] ui/issues/issue-39548.rs ... ok
test [ui] ui/issues/issue-3904.rs ... ok
test [ui] ui/issues/issue-64620.rs ... ok
test [ui] ui/issues/issue-3847.rs ... ok
test [ui] ui/issues/issue-38437.rs ... ok
test [ui] ui/issues/issue-64593.rs ... ok
test [ui] ui/issues/issue-64732.rs ... ok
test [ui] ui/issues/issue-64792-bad-unicode-ctor.rs ... ok
test [ui] ui/issues/issue-65284-suggest-generic-trait-bound.rs ... ok
test [ui] ui/issues/issue-6557.rs ... ok
test [ui] ui/issues/issue-39367.rs ... ok
test [ui] ui/issues/issue-65634-raw-ident-suggestion.rs ... ok
test [ui] ui/issues/issue-6470.rs ... ok
test [ui] ui/issues/issue-65611.rs ... ok
test [ui] ui/issues/issue-6596-2.rs ... ok
test [ui] ui/issues/issue-6596-1.rs ... ok
test [ui] ui/issues/issue-65673.rs ... ok
test [ui] ui/issues/issue-6642.rs ... ok
test [ui] ui/issues/issue-66353.rs ... ok
test [ui] ui/issues/issue-66473.rs ... ok
test [ui] ui/issues/issue-66308.rs ... ok
test [ui] ui/issues/issue-65462.rs ... ok
test [ui] ui/issues/issue-38942.rs ... ok
test [ui] ui/issues/issue-66702-break-outside-loop-val.rs ... ok
test [ui] ui/issues/issue-66667-function-cmp-cycle.rs ... ok
test [ui] ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs ... ok
test [ui] ui/issues/issue-3935.rs ... ok
test [ui] ui/issues/issue-6738.rs ... ok
test [ui] ui/issues/issue-67039-unsound-pin-partialeq.rs ... ok
test [ui] ui/issues/issue-68000-unicode-ident-after-missing-comma.rs ... ok
test [ui] ui/issues/issue-39292.rs ... ok
test [ui] ui/issues/issue-66923-show-error-for-correct-call.rs ... ok
test [ui] ui/issues/issue-6801.rs ... ok
test [ui] ui/issues/issue-68092-unicode-ident-after-incomplete-expr.rs ... ok
test [ui] ui/issues/issue-68091-unicode-ident-after-if.rs ... ok
test [ui] ui/issues/issue-68103.rs ... ok
test [ui] ui/issues/issue-65131.rs ... ok
test [ui] ui/issues/issue-6804.rs ... ok
test [ui] ui/issues/issue-6898.rs ... ok
test [ui] ui/issues/issue-66706.rs ... ok
test [ui] ui/issues/issue-69130.rs ... ok
test [ui] ui/issues/issue-6936.rs ... ok
test [ui] ui/issues/issue-39709.rs ... ok
test [ui] ui/issues/issue-69396-const-no-type-in-macro.rs ... ok
test [ui] ui/issues/issue-69602-type-err-during-codegen-ice.rs ... ok
test [ui] ui/issues/issue-69455.rs ... ok
test [ui] ui/issues/issue-3979.rs ... ok
test [ui] ui/issues/issue-69683.rs ... ok
test [ui] ui/issues/issue-6991.rs ... ok
test [ui] ui/issues/issue-7013.rs ... ok
test [ui] ui/issues/issue-69306.rs ... ok
test [ui] ui/issues/issue-7044.rs ... ok
test [ui] ui/issues/issue-3979-generics.rs ... ok
test [ui] ui/issues/issue-69725.rs ... ok
test [ui] ui/issues/issue-39827.rs ... ok
test [ui] ui/issues/issue-7061.rs ... ok
test [ui] ui/issues/issue-7092.rs ... ok
test [ui] ui/issues/issue-70724-add_type_neq_err_label-unwrap.rs ... ok
test [ui] ui/issues/issue-71406.rs ... ok
test [ui] ui/issues/issue-71036.rs ... ok
test [ui] ui/issues/issue-67552.rs ... ok
test [ui] ui/issues/issue-71584.rs ... ok
test [ui] ui/issues/issue-71676-2.rs ... ok
test [ui] ui/issues/issue-72076.rs ... ok
test [ui] ui/issues/issue-72002.rs ... ok
test [ui] ui/issues/issue-39823.rs ... ok
test [ui] ui/issues/issue-71676-1.rs ... ok
test [ui] ui/issues/issue-39808.rs ... ok
test [ui] ui/issues/issue-72373.rs ... ok
test [ui] ui/issues/issue-72253.rs ... ok
test [ui] ui/issues/issue-3979-xcrate.rs ... ok
test [ui] ui/issues/issue-7246.rs ... ok
test [ui] ui/issues/issue-72455.rs ... ok
test [ui] ui/issues/issue-72554.rs ... ok
test [ui] ui/issues/issue-72574-1.rs ... ok
test [ui] ui/issues/issue-72574-2.rs ... ok
test [ui] ui/issues/issue-7268.rs ... ok
test [ui] ui/issues/issue-72690.rs ... ok
test [ui] ui/issues/issue-72839-error-overflow.rs ... ok
test [ui] ui/issues/issue-39720.rs ... ok
test [ui] ui/issues/issue-73541-1.rs ... ok
test [ui] ui/issues/issue-73541-2.rs ... ok
test [ui] ui/issues/issue-36768.rs ... ok
test [ui] ui/issues/issue-73541-3.rs ... ok
test [ui] ui/issues/issue-73541.rs ... ok
test [ui] ui/issues/issue-7364.rs ... ok
test [ui] ui/issues/issue-73886.rs ... ok
test [ui] ui/issues/issue-74082.rs ... ok
test [ui] ui/issues/issue-7607-1.rs ... ok
test [ui] ui/issues/issue-37686.rs ... ok
test [ui] ui/issues/issue-74236/main.rs ... ok
test [ui] ui/issues/issue-7607-2.rs ... ok
test [ui] ui/issues/issue-40003.rs ... ok
test [ui] ui/issues/issue-7673-cast-generically-implemented-trait.rs ... ok
test [ui] ui/issues/issue-40235.rs ... ok
test [ui] ui/issues/issue-7813.rs ... ok
test [ui] ui/issues/issue-40469.rs ... ok
test [ui] ui/issues/issue-7867.rs ... ok
test [ui] ui/issues/issue-7950.rs ... ok
test [ui] ui/issues/issue-40770.rs ... ok
test [ui] ui/issues/issue-7970a.rs ... ok
test [ui] ui/issues/issue-7970b.rs ... ok
test [ui] ui/issues/issue-40085.rs ... ok
test [ui] ui/issues/issue-40847.rs ... ok
test [ui] ui/issues/issue-8153.rs ... ok
test [ui] ui/issues/issue-8171-default-method-self-inherit-builtin-trait.rs ... ok
test [ui] ui/issues/issue-41053.rs ... ok
test [ui] ui/issues/issue-4107.rs ... ok
test [ui] ui/issues/issue-8208.rs ... ok
test [ui] ui/issues/issue-40951.rs ... ok
test [ui] ui/issues/issue-41479.rs ... ok
test [ui] ui/issues/issue-40408.rs ... ok
test [ui] ui/issues/issue-41213.rs ... ok
test [ui] ui/issues/issue-8398.rs ... ok
test [ui] ui/issues/issue-41498.rs ... ok
test [ui] ui/issues/issue-41744.rs ... ok
test [ui] ui/issues/issue-41394-rpass.rs ... ok
test [ui] ui/issues/issue-41604.rs ... ok
test [ui] ui/issues/issue-42453.rs ... ok
test [ui] ui/issues/issue-41677.rs ... ok
test [ui] ui/issues/issue-41803.rs ... ok
test [ui] ui/issues/issue-8460-const.rs#opt ... ok
test [ui] ui/issues/issue-8460-const.rs#noopt ... ok
test [ui] ui/issues/issue-8521.rs ... ok
test [ui] ui/issues/issue-8578.rs ... ok
test [ui] ui/issues/issue-41888.rs ... ok
test [ui] ui/issues/issue-8640.rs ... ok
test [ui] ui/issues/issue-41849-variance-req.rs ... ok
test [ui] ui/issues/issue-8761.rs ... ok
test [ui] ui/issues/issue-8767.rs ... ok
test [ui] ui/issues/issue-42210.rs ... ok
test [ui] ui/issues/issue-42148.rs ... ok
test [ui] ui/issues/issue-8460-const.rs#opt_with_overflow_checks ... ok
test [ui] ui/issues/issue-42007.rs ... ok
test [ui] ui/issues/issue-8727.rs ... ok
test [ui] ui/issues/issue-9110.rs ... ok
test [ui] ui/issues/issue-40883.rs ... ok
test [ui] ui/issues/issue-41696.rs ... ok
test [ui] ui/issues/issue-4208.rs ... ok
test [ui] ui/issues/issue-42552.rs ... ok
test [ui] ui/issues/issue-4228.rs ... ok
test [ui] ui/issues/issue-9249.rs ... ok
test [ui] ui/issues/issue-9243.rs ... ok
test [ui] ui/issues/issue-42747.rs ... ok
test [ui] ui/issues/issue-42463.rs ... ok
test [ui] ui/issues/issue-43132.rs ... ok
test [ui] ui/issues/issue-42679.rs ... ok
test [ui] ui/issues/issue-43291.rs ... ok
test [ui] ui/issues/issue-9575.rs ... ok
test [ui] ui/issues/issue-4252.rs ... ok
test [ui] ui/issues/issue-9725.rs ... ok
test [ui] ui/issues/issue-43205.rs ... ok
test [ui] ui/issues/issue-9814.rs ... ok
test [ui] ui/issues/issue-9719.rs ... ok
test [ui] ui/issues/issue-4387.rs ... ok
test [ui] ui/issues/issue-43692.rs ... ok
test [ui] ui/issues/issue-4333.rs ... ok
test [ui] ui/issues/issue-43398.rs ... ok
test [ui] ui/issues/issue-43910.rs ... ok
test [ui] ui/issues/issue-pr29383.rs ... ok
test [ui] ui/issues/issue-43923.rs ... ok
test [ui] ui/issues/type-arg-mismatch-due-to-impl-trait.rs ... ok
test [ui] ui/issues/issue-44127.rs ... ok
test [ui] ui/issues/issue-45152.rs ... ok
test [ui] ui/issues/issue-44255.rs ... ok
test [ui] ui/iterators/array-of-ranges.rs ... ok
test [ui] ui/iterators/array.rs ... ok
test [ui] ui/iterators/bound.rs ... ok
test [ui] ui/iterators/integral.rs ... ok
test [ui] ui/issues/issue-4401.rs ... ok
test [ui] ui/issues/issue-44333.rs ... ok
test [ui] ui/iterators/iter-count-overflow-debug.rs ... ignored
test [ui] ui/iterators/iter-count-overflow-ndebug.rs ... ignored
test [ui] ui/issues/issue-45124.rs ... ok
test [ui] ui/iterators/iter-position-overflow-debug.rs ... ignored
test [ui] ui/iterators/iter-position-overflow-ndebug.rs ... ignored
test [ui] ui/issues/issue-44216-sub-system-time.rs ... ok
test [ui] ui/issues/issue-44216-add-system-time.rs ... ok
test [ui] ui/issues/issue-43853.rs ... ok
test [ui] ui/issues/issue-44216-add-instant.rs ... ok
test [ui] ui/issues/issue-4545.rs ... ok
test [ui] ui/issues/issue-45510.rs ... ok
test [ui] ui/issues/issue-44216-sub-instant.rs ... ok
test [ui] ui/issues/issue-4542.rs ... ok
test [ui] ui/iterators/skip-count-overflow.rs ... ignored
test [ui] ui/issues/issue-46069.rs ... ok
test [ui] ui/json-and-color.rs ... ok
test [ui] ui/iterators/ranges.rs ... ok
test [ui] ui/json-bom-plus-crlf-multifile-aux.rs ... ignored
test [ui] ui/iterators/string.rs ... ok
test [ui] ui/json-and-error-format.rs ... ok
test [ui] ui/json-invalid.rs ... ok
test [ui] ui/issues/issue-45696-no-variant-box-recur.rs ... ok
test [ui] ui/json-multiple.rs ... ok
test [ui] ui/json-options.rs ... ok
test [ui] ui/json-bom-plus-crlf.rs ... ok
test [ui] ui/json-bom-plus-crlf-multifile.rs ... ok
test [ui] ui/json-short.rs ... ok
test [ui] ui/issues/issue-45696-long-live-borrows-in-boxes.rs ... ok
test [ui] ui/issues/issue-4448.rs ... ok
test [ui] ui/keyword/extern/keyword-extern-as-identifier-expr.rs ... ok
test [ui] ui/keyword/extern/keyword-extern-as-identifier-pat.rs ... ok
test [ui] ui/keyword/extern/keyword-extern-as-identifier-type.rs ... ok
test [ui] ui/keyword/keyword-false-as-identifier.rs ... ok
test [ui] ui/keyword/extern/keyword-extern-as-identifier-use.rs ... ok
test [ui] ui/keyword/keyword-super-as-identifier.rs ... ok
test [ui] ui/keyword/keyword-self-as-identifier.rs ... ok
test [ui] ui/keyword/keyword-super.rs ... ok
test [ui] ui/keyword/keyword-true-as-identifier.rs ... ok
test [ui] ui/kindck/kindck-impl-type-params-2.rs ... ok
test [ui] ui/kindck/kindck-impl-type-params.rs ... ok
test [ui] ui/kindck/kindck-copy.rs ... ok
test [ui] ui/kindck/kindck-inherited-copy-bound.rs#curr ... ok
test [ui] ui/issues/issue-4446.rs ... ok
test [ui] ui/kindck/kindck-nonsendable-1.rs ... ok
test [ui] ui/kindck/kindck-send-object.rs ... ok
test [ui] ui/kindck/kindck-inherited-copy-bound.rs#object_safe_for_dispatch ... ok
test [ui] ui/kindck/kindck-send-object2.rs ... ok
test [ui] ui/kindck/kindck-send-object1.rs ... ok
test [ui] ui/kindck/kindck-send-owned.rs ... ok
test [ui] ui/kindck/kindck-send-unsafe.rs ... ok
test [ui] ui/issues/issue-4541.rs ... ok
test [ui] ui/issues/issue-47139-2.rs ... ok
test [ui] ui/issues/issue-72933-match-stack-overflow.rs ... ok
test [ui] ui/label/label-static.rs ... ok
test [ui] ui/label/label-beginning-with-underscore.rs ... ok
test [ui] ui/label/label_break_value_continue.rs ... ok
test [ui] ui/label/label-underscore.rs ... ok
test [ui] ui/lang-item-missing-generator.rs ... ok
test [ui] ui/label/label_break_value_unlabeled_break.rs ... ok
test [ui] ui/lang-item-missing.rs ... ok
test [ui] ui/label/label_break_value_illegal_uses.rs ... ok
test [ui] ui/issues/issue-47139-1.rs ... ok
test [ui] ui/issues/issue-46920-byte-array-patterns.rs ... ok
test [ui] ui/issues/issue-4759-1.rs ... ok
test [ui] ui/layout/debug.rs ... ok
test [ui] ui/issues/issue-46095.rs ... ok
test [ui] ui/layout/homogeneous-aggr-zero-sized-c-struct.rs ... ok
test [ui] ui/layout/homogeneous-aggr-zero-sized-repr-rust.rs ... ok
test [ui] ui/issues/issue-46855.rs ... ok
test [ui] ui/layout/zero-sized-array-union.rs ... ok
test [ui] ui/issues/issue-4734.rs ... ok
test [ui] ui/issues/issue-4735.rs ... ok
test [ui] ui/issues/issue-46553.rs ... ok
test [ui] ui/lazy_normalization_consts/issue-57739.rs ... ok
test [ui] ui/lazy_normalization_consts/issue-47814.rs ... ok
test [ui] ui/lazy_normalization_consts/feature-gate-lazy_normalization_consts.rs ... ok
test [ui] ui/issues/issue-46845.rs ... ok
test [ui] ui/lazy_normalization_consts/issue-73980.rs ... ok
test [ui] ui/lexical-scopes.rs ... ok
test [ui] ui/issues/issue-48159.rs ... ok
test [ui] ui/issues/issue-4759.rs ... ok
test [ui] ui/lifetime-before-type-params.rs ... ok
test [ui] ui/issues/issue-47364.rs ... ok
test [ui] ui/issues/issue-48006.rs ... ok
test [ui] ui/issues/issue-47638.rs ... ok
test [ui] ui/issues/issue-48508.rs ... ok
test [ui] ui/lifetime_starts_expressions.rs ... ok
test [ui] ui/lifetimes/issue-34979.rs ... ok
test [ui] ui/lifetimes/issue-70917-lifetimes-in-fn-def.rs ... ok
test [ui] ui/lifetimes/borrowck-let-suggestion.rs ... ok
test [ui] ui/lifetimes/lifetime-doesnt-live-long-enough.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.rs ... ok
test [ui] ui/lifetimes/lifetime-elision-return-type-requires-explicit-lifetime.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.rs ... ok
test [ui] ui/lifetimes/lifetime-elision-return-type-trait.rs ... ok
test [ui] ui/issues/issue-4865-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.rs ... ok
test [ui] ui/issues/issue-4865-1.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.rs ... ok
test [ui] ui/issues/issue-4875.rs ... ok
test [ui] ui/lifetimes/lifetime-bound-will-change-warning.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.rs ... ok
test [ui] ui/issues/issue-48132.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/ex3-both-anon-regions.rs ... ok
test [ui] ui/lifetimes/lifetime-no-keyword.rs ... ok
test [ui] ui/issues/issue-49588-non-shorthand-field-patterns-in-pattern-macro.rs ... ok
test [ui] ui/lifetimes/lifetime-mismatch-between-trait-and-impl.rs ... ok
test [ui] ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.rs ... ok
test [ui] ui/issues/issue-48962.rs ... ok
test [ui] ui/lifetimes/unnamed-closure-doesnt-life-long-enough-issue-67634.rs ... ok
test [ui] ui/linkage-attr/linkage4.rs ... ok
test [ui] ui/linkage-attr/linkage3.rs ... ok
test [ui] ui/lint/command-line-lint-group-allow.rs ... ok
test [ui] ui/linkage-attr/linkage2.rs ... ok
test [ui] ui/lint/command-line-lint-group-deny.rs ... ok
test [ui] ui/linkage-attr/linkage-detect-local-generated-name-collision.rs ... ok
test [ui] ui/lint/command-line-lint-group-forbid.rs ... ok
test [ui] ui/lint/command-line-lint-group-warn.rs ... ok
test [ui] ui/issues/issue-4865-2.rs ... ok
test [ui] ui/lint/dead-code/closure-bang.rs ... ignored
test [ui] ui/lint/crate_level_only_lint.rs ... ok
test [ui] ui/lint/clashing-extern-fn.rs ... ok
test [ui] ui/lint/dead-code/basic.rs ... ok
test [ui] ui/lint/dead-code/empty-unused-enum.rs ... ok
test [ui] ui/issues/issue-5008-borrowed-traitobject-method-call.rs ... ok
test [ui] ui/issues/issue-49632.rs ... ok
test [ui] ui/lint/dead-code/const-and-self.rs ... ok
test [ui] ui/issues/issue-49685.rs ... ok
test [ui] ui/lint/dead-code/impl-trait.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-1.rs ... ok
test [ui] ui/linkage-attr/linkage-detect-extern-generated-name-collision.rs ... ok
test [ui] ui/linkage-attr/linkage-requires-raw-ptr.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-2.rs ... ok
test [ui] ui/lint/dead-code/empty-unused-public-enum.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-3.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-5.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-4.rs ... ok
test [ui] ui/lint/dead-code/newline-span.rs ... ok
test [ui] ui/issues/issue-48984.rs ... ok
test [ui] ui/lint/dead-code/lint-dead-code-6.rs ... ok
test [ui] ui/lint/dead-code/tuple-struct-field.rs ... ok
test [ui] ui/lint/dead-code/unused-enum.rs ... ok
test [ui] ui/lint/dead-code/type-alias.rs ... ok
test [ui] ui/lint/expansion-time-include.rs ... ignored
test [ui] ui/lint/dead-code/unused-struct-variant.rs ... ok
test [ui] ui/lint/dead-code/unused-variant.rs ... ok
test [ui] ui/lint/dead-code/with-core-crate.rs ... ok
test [ui] ui/lint/empty-lint-attributes.rs ... ok
test [ui] ui/lint/deny-overflowing-literals.rs ... ok
test [ui] ui/lint/expansion-time.rs ... ok
test [ui] ui/issues/issue-49973.rs ... ok
test [ui] ui/issues/issue-49854.rs ... ok
test [ui] ui/lint/dead-code/unused-variant-pub.rs ... ok
test [ui] ui/lint/inline-trait-and-foreign-items.rs ... ok
test [ui] ui/lint/issue-69485-var-size-diffs-too-large.rs ... ignored
test [ui] ui/issues/issue-45731.rs ... ok
test [ui] ui/lint/issue-54099-camel-case-underscore-types.rs ... ok
test [ui] ui/lint/issue-47775-nested-macro-unnecessary-parens-arg.rs ... ok
test [ui] ui/lint/issue-47390-unused-variable-in-struct-pattern.rs ... ok
test [ui] ui/lint/inclusive-range-pattern-syntax.rs ... ok
test [ui] ui/issues/issue-50442.rs ... ok
test [ui] ui/lint/issue-66362-no-snake-case-warning-for-field-puns.rs ... ok
test [ui] ui/lint/lint-change-warnings.rs ... ok
test [ui] ui/lint/lint-attr-non-item-node.rs ... ok
test [ui] ui/lint/issue-71290-unused-paren-binop.rs ... ok
test [ui] ui/lint/issue-67691-unused-field-in-or-pattern.rs ... ok
test [ui] ui/lint/lint-ctypes-66202.rs ... ok
test [ui] ui/lint/issue-54180-unused-ref-field.rs ... ok
test [ui] ui/lint/lint-ctypes-73249-1.rs ... ok
test [ui] ui/lint/lint-ctypes-73249-4.rs ... ok
test [ui] ui/lint/lint-ctypes-73249-3.rs ... ok
test [ui] ui/lint/lint-ctypes-73249-2.rs ... ok
test [ui] ui/lint/lint-ctypes-73249-5.rs ... ok
test [ui] ui/lint/issue-54538-unused-parens-lint.rs ... ok
test [ui] ui/lint/lint-ctypes-73249.rs ... ok
test [ui] ui/lint/lint-ctypes-73251-1.rs ... ok
test [ui] ui/lint/lint-ctypes-73251-2.rs ... ok
test [ui] ui/lint/lint-ctypes-73251.rs ... ok
test [ui] ui/lint/lint-ctypes-73747.rs ... ok
test [ui] ui/lint/lint-ctypes-enum.rs ... ok
test [ui] ui/lint/lint-directives-on-use-items-issue-10534.rs ... ok
test [ui] ui/lint/lint-forbid-attr.rs ... ok
test [ui] ui/lint/lint-forbid-cmdline.rs ... ok
test [ui] ui/lint/lint-forbid-internal-unsafe.rs ... ok
test [ui] ui/lint/lint-ctypes.rs ... ok
test [ui] ui/lint/lint-ctypes-fn.rs ... ok
test [ui] ui/lint/lint-exceeding-bitshifts.rs#opt ... ok
test [ui] ui/lint/lint-exceeding-bitshifts.rs#noopt ... ok
test [ui] ui/lint/lint-group-nonstandard-style.rs ... ok
test [ui] ui/lint/lint-impl-fn.rs ... ok
test [ui] ui/lint/lint-incoherent-auto-trait-objects.rs ... ok
test [ui] ui/lint/lint-exceeding-bitshifts.rs#opt_with_overflow_checks ... ok
test [ui] ui/lint/lint-malformed.rs ... ok
test [ui] ui/lint/lint-match-arms.rs ... ok
test [ui] ui/lint/lint-lowercase-static-const-pattern.rs ... ok
test [ui] ui/lint/lint-misplaced-attr.rs ... ok
test [ui] ui/lint/lint-non-camel-case-types.rs ... ok
test [ui] ui/issues/issue-50415.rs ... ok
test [ui] ui/lint/lint-lowercase-static-const-pattern-rename.rs ... ok
test [ui] ui/lint/lint-non-camel-case-with-trailing-underscores.rs ... ok
test [ui] ui/lint/lint-missing-copy-implementations.rs ... ok
test [ui] ui/lint/lint-non-snake-case-crate-2.rs ... ok
test [ui] ui/lint/lint-missing-doc.rs ... ok
test [ui] ui/lint/lint-non-camel-case-variant.rs ... ok
test [ui] ui/lint/lint-non-snake-case-lifetimes.rs ... ok
test [ui] ui/lint/lint-non-snake-case-crate.rs ... ok
test [ui] ui/lint/lint-non-snake-case-no-lowercase-equivalent.rs ... ok
test [ui] ui/lint/lint-non-uppercase-associated-const.rs ... ok
test [ui] ui/lint/lint-non-snake-case-modules.rs ... ok
test [ui] ui/lint/lint-non-snake-case-functions.rs ... ok
test [ui] ui/issues/issue-49955-2.rs ... ok
test [ui] ui/lint/lint-nonstandard-style-unicode-2.rs ... ok
test [ui] ui/lint/lint-nonstandard-style-unicode-1.rs ... ok
test [ui] ui/lint/lint-nonstandard-style-unicode-3.rs ... ok
test [ui] ui/lint/lint-non-uppercase-statics.rs ... ok
test [ui] ui/lint/lint-removed-allow.rs ... ok
test [ui] ui/lint/lint-removed-cmdline.rs ... ok
test [ui] ui/lint/lint-pre-expansion-extern-module.rs ... ok
test [ui] ui/lint/lint-qualification.rs ... ok
test [ui] ui/lint/lint-owned-heap-memory.rs ... ok
test [ui] ui/lint/lint-removed.rs ... ok
test [ui] ui/lint/lint-range-endpoint-overflow.rs ... ok
test [ui] ui/lint/lint-renamed-allow.rs ... ok
test [ui] ui/lint/lint-renamed-cmdline.rs ... ok
test [ui] ui/lint/lint-renamed.rs ... ok
test [ui] ui/issues/issue-50731.rs ... ok
test [ui] ui/issues/issue-49955.rs ... ok
test [ui] ui/lint/lint-output-format.rs ... ok
test [ui] ui/lint/lint-shorthand-field.rs ... ok
test [ui] ui/lint/lint-output-format-2.rs ... ok
test [ui] ui/lint/lint-type-limits.rs ... ok
test [ui] ui/lint/lint-type-limits2.rs ... ok
test [ui] ui/lint/lint-type-limits3.rs ... ok
test [ui] ui/issues/issue-50825.rs ... ok
test [ui] ui/issues/issue-50689.rs ... ok
test [ui] ui/lint/lint-type-overflow.rs ... ok
test [ui] ui/lint/lint-type-overflow2.rs ... ok
test [ui] ui/lint/lint-unexported-no-mangle.rs ... ok
test [ui] ui/lint/lint-unconditional-recursion.rs ... ok
test [ui] ui/lint/lint-unknown-lint.rs ... ok
test [ui] ui/lint/lint-unknown-lint-cmdline.rs ... ok
test [ui] ui/lint/lint-unnecessary-import-braces.rs ... ok
test [ui] ui/lint/lint-stability-fields-deprecated.rs ... ok
test [ui] ui/lint/lint_pre_expansion_extern_module_aux.rs ... ignored
test [ui] ui/lint/lint-stability-fields.rs ... ok
test [ui] ui/lint/lint-unsafe-code.rs ... ok
test [ui] ui/lint/lint-stability2.rs ... ok
test [ui] ui/lint/lint-unused-imports.rs ... ok
test [ui] ui/lint/lint-unknown-feature.rs ... ok
test [ui] ui/lint/lint-unknown-feature-default.rs ... ok
test [ui] ui/lint/lint-stability3.rs ... ok
test [ui] ui/lint/lint-unused-variables.rs ... ok
test [ui] ui/lint/lint-uppercase-variables.rs ... ok
test [ui] ui/lint/lint-unused-mut-variables.rs ... ok
test [ui] ui/lint/must_use-array.rs ... ok
test [ui] ui/lint/lint-unnecessary-parens.rs ... ok
test [ui] ui/lint/must_use-trait.rs ... ok
test [ui] ui/lint/must_use-tuple.rs ... ok
test [ui] ui/lint/must_use-unit.rs ... ok
test [ui] ui/lint/lint-unused-mut-self.rs ... ok
test [ui] ui/lint/not_found.rs ... ok
test [ui] ui/lint/must-use-ops.rs ... ok
test [ui] ui/issues/issue-5060.rs ... ok
test [ui] ui/lint/outer-forbid.rs ... ok
test [ui] ui/lint/opaque-ty-ffi-unsafe.rs ... ok
test [ui] ui/lint/reasons-erroneous.rs ... ok
test [ui] ui/issues/issue-50825-1.rs ... ok
test [ui] ui/lint/lint-stability-2.rs ... ok
test [ui] ui/lint/reasons-forbidden.rs ... ok
test [ui] ui/lint/rfc-2457-non-ascii-idents/lint-confusable-idents.rs ... ok
test [ui] ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables.rs ... ok
test [ui] ui/lint/rfc-2457-non-ascii-idents/lint-uncommon-codepoints.rs ... ok
test [ui] ui/lint/lints-in-foreign-macros.rs ... ok
test [ui] ui/lint/rfc-2457-non-ascii-idents/lint-mixed-script-confusables-2.rs ... ok
test [ui] ui/lint/rfc-2457-non-ascii-idents/lint-non-ascii-idents.rs ... ok
test [ui] ui/lint/reasons.rs ... ok
test [ui] ui/lint/trivial-casts.rs ... ok
test [ui] ui/lint/trivial-casts-featuring-type-ascription.rs ... ok
test [ui] ui/lint/type-overflow.rs ... ok
test [ui] ui/lint/test-inner-fn.rs ... ok
test [ui] ui/lint/unaligned_references.rs ... ok
test [ui] ui/lint/unreachable-async-fn.rs ... ok
test [ui] ui/lint/unused_import_warning_issue_45268.rs ... ok
test [ui] ui/lint/unreachable_pub-pub_crate.rs ... ok
test [ui] ui/lint/unreachable_pub.rs ... ok
test [ui] ui/lint/uninitialized-zeroed.rs ... ok
test [ui] ui/lint/use-redundant.rs ... ok
test [ui] ui/lint/use_suggestion_json.rs ... ok
test [ui] ui/lint/suggestions.rs ... ok
test [ui] ui/lint/unused_labels.rs ... ok
test [ui] ui/lint/warn-unused-inline-on-fn-prototypes.rs ... ok
test [ui] ui/lint/unused_braces.rs ... ok
test [ui] ui/liveness/liveness-assign/liveness-assign-imm-local-in-loop.rs ... ok
test [ui] ui/liveness/liveness-assign/liveness-assign-imm-local-in-op-eq.rs ... ok
test [ui] ui/lint/unused_braces_borrow.rs ... ok
test [ui] ui/lint/unused_parens_json_suggestion.rs ... ok
test [ui] ui/liveness/liveness-assign/liveness-assign-imm-local-with-init.rs ... ok
test [ui] ui/liveness/liveness-assign/liveness-assign-imm-local-with-drop.rs ... ok
test [ui] ui/lint/unused_parens_remove_json_suggestion.rs ... ok
test [ui] ui/liveness/liveness-forgot-ret.rs ... ok
test [ui] ui/liveness/liveness-closure-require-ret.rs ... ok
test [ui] ui/liveness/liveness-issue-2163.rs ... ok
test [ui] ui/liveness/liveness-missing-ret2.rs ... ok
test [ui] ui/liveness/liveness-dead.rs ... ok
test [ui] ui/lint/lint-stability.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-bad-clobber.rs ... ignored
test [ui] ui/liveness/liveness-move-call-arg.rs ... ok
test [ui] ui/liveness/liveness-return-last-stmt-semi.rs ... ok
test [ui] ui/liveness/liveness-move-in-loop.rs ... ok
test [ui] ui/liveness/liveness-move-in-while.rs ... ok
test [ui] ui/lint/lint-stability-deprecated.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-literal-escaping.rs ... ignored
test [ui] ui/llvm-asm/llvm-asm-misplaced-option.rs ... ignored
test [ui] ui/llvm-asm/issue-54067.rs ... ok
test [ui] ui/liveness/liveness-unused.rs ... ok
test [ui] ui/liveness/liveness-use-after-move.rs ... ok
test [ui] ui/liveness/liveness-use-after-send.rs ... ok
test [ui] ui/issues/issue-51345.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-in-bad-modifier.rs ... ok
test [ui] ui/issues/issue-51185.rs ... ok
test [ui] ui/issues/issue-50865-private-impl-trait/main.rs ... ok
test [ui] ui/liveness/liveness-upvars.rs ... ok
test [ui] ui/issues/issue-51044.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-out-no-modifier.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-out-assign-imm.rs ... ok
test [ui] ui/llvm-asm/issue-51431.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-parse-errors.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-out-read-uninit.rs ... ok
test [ui] ui/llvm-asm/issue-69092.rs ... ok
test [ui] ui/llvm-asm/issue-62046.rs ... ok
test [ui] ui/lint/lint-unused-extern-crate.rs ... ok
test [ui] ui/loops/loop-break-value-no-repeat.rs ... ok
test [ui] ui/loops/loop-labeled-break-value.rs ... ok
test [ui] ui/loops/loop-break-unsize.rs ... ok
test [ui] ui/issues/issue-51907.rs ... ok
test [ui] ui/loops/loop-properly-diverging-2.rs ... ok
test [ui] ui/loops/loop-proper-liveness.rs ... ok
test [ui] ui/loud_ui.rs ... ok
test [ui] ui/loops/loops-reject-duplicate-labels.rs ... ok
test [ui] ui/loops/loops-reject-duplicate-labels-2.rs ... ok
test [ui] ui/loops/loops-reject-labels-shadowing-lifetimes.rs ... ok
test [ui] ui/loops/loops-reject-lifetime-shadowing-label.rs ... ok
test [ui] ui/lto-and-no-bitcode-in-rlib.rs ... ok
test [ui] ui/issues/issue-5192.rs ... ok
test [ui] ui/lint/redundant-semicolon/redundant-semi-proc-macro.rs ... ok
test [ui] ui/issues/issue-51582.rs ... ok
test [ui] ui/lub-glb/old-lub-glb-hr-eq.rs ... ok
test [ui] ui/lub-glb/old-lub-glb-hr-noteq1.rs ... ok
test [ui] ui/loops/loop-break-value.rs ... ok
test [ui] ui/issues/issue-46519.rs ... ok
test [ui] ui/lub-glb/old-lub-glb-hr-noteq2.rs ... ok
test [ui] ui/issues/issue-5239-2.rs ... ok
test [ui] ui/issues/issue-52169.rs ... ok
test [ui] ui/lub-glb/old-lub-glb-object.rs ... ok
test [ui] ui/lub-if.rs ... ok
test [ui] ui/lub-match.rs ... ok
test [ui] ui/macros/ambiguity-legacy-vs-modern.rs ... ok
test [ui] ui/issues/issue-52057.rs ... ok
test [ui] ui/issues/issue-52140/main.rs ... ok
test [ui] ui/issues/issue-5280.rs ... ok
test [ui] ui/macro_backtrace/main.rs#-Zmacro-backtrace ... ok
test [ui] ui/macro_backtrace/main.rs#default ... ok
test [ui] ui/issues/issue-51345-2.rs ... ok
test [ui] ui/issues/issue-5243.rs ... ok
test [ui] ui/issues/issue-52141/main.rs ... ok
test [ui] ui/issues/issue-5315.rs ... ok
test [ui] ui/lto-duplicate-symbols.rs ... ok
test [ui] ui/issues/issue-52705/main.rs ... ok
test [ui] ui/macros/assert-trailing-junk.rs ... ok
test [ui] ui/issues/issue-53728.rs ... ok
test [ui] ui/macros/assert.rs ... ok
test [ui] ui/macros/bad-concat.rs ... ok
test [ui] ui/macros/builtin-prelude-no-accidents.rs ... ok
test [ui] ui/macros/bad_hello.rs ... ok
test [ui] ui/macros/cfg.rs ... ok
test [ui] ui/macros/builtin-std-paths-fail.rs ... ok
test [ui] ui/macros/builtin-std-paths.rs ... ok
test [ui] ui/issues/issue-54467.rs ... ok
test [ui] ui/issues/issue-54582.rs ... ok
test [ui] ui/macros/derive-in-eager-expansion-hang.rs ... ok
test [ui] ui/issues/issue-53843.rs ... ok
test [ui] ui/issues/issue-54696.rs ... ok
test [ui] ui/issues/issue-54462-mutable-noalias-correctness.rs ... ok
test [ui] ui/macros/doc-comment.rs ... ok
test [ui] ui/macros/format-foreign.rs ... ok
test [ui] ui/macros/dollar-crate-nested-encoding.rs ... ok
test [ui] ui/macros/format-parse-errors.rs ... ok
test [ui] ui/issues/issue-55376.rs ... ok
test [ui] ui/issues/issue-5530.rs ... ok
test [ui] ui/issues/issue-55380.rs ... ok
test [ui] ui/issues/issue-5554.rs ... ok
test [ui] ui/macros/global-asm.rs ... ok
test [ui] ui/macros/format-unused-lables.rs ... ok
test [ui] ui/macros/issue-30143.rs ... ok
test [ui] ui/issues/issue-5521.rs ... ok
test [ui] ui/macros/issue-58490.rs ... ok
test [ui] ui/macros/issue-34421-mac-expr-bad-stmt-good-add-semi.rs ... ok
test [ui] ui/macros/issue-54441.rs ... ok
test [ui] ui/macros/issue-61053-different-kleene.rs ... ok
test [ui] ui/macros/issue-61033-2.rs ... ok
test [ui] ui/issues/issue-5518.rs ... ok
test [ui] ui/macros/issue-61053-duplicate-binder.rs ... ok
test [ui] ui/macros/issue-69838-dir/bar.rs ... ignored
test [ui] ui/macros/issue-69838-dir/included.rs ... ignored
test [ui] ui/macros/issue-61053-missing-repetition.rs ... ok
test [ui] ui/macros/issue-61053-unbound.rs ... ok
test [ui] ui/issues/issue-55846.rs ... ok
test [ui] ui/macros/issue-61033-1.rs ... ok
test [ui] ui/macros/issue-68058.rs ... ok
test [ui] ui/macros/issue-63102.rs ... ok
test [ui] ui/macros/issue-68060.rs ... ok
test [ui] ui/macros/local-ambiguity-multiple-parsing-options.rs ... ok
test [ui] ui/macros/issue-70446.rs ... ok
test [ui] ui/macros/issue-69838-mods-relative-to-included-path.rs ... ok
test [ui] ui/issues/issue-54477-reduced-2.rs ... ok
test [ui] ui/macros/macro-at-most-once-rep-2018.rs ... ok
test [ui] ui/macros/macro-at-most-once-rep-2015.rs ... ok
test [ui] ui/issues/issue-56488.rs ... ok
test [ui] ui/issues/issue-5550.rs ... ok
test [ui] ui/macros/macro-attribute.rs ... ok
test [ui] ui/macros/macro-backtrace-nested.rs ... ok
test [ui] ui/macros/macro-backtrace-println.rs ... ok
test [ui] ui/macros/macro-backtrace-invalid-internals.rs ... ok
test [ui] ui/macros/macro-comma-behavior.rs#core ... ok
test [ui] ui/issues/issue-56237.rs ... ok
test [ui] ui/macros/macro-comma-behavior.rs#std ... ok
test [ui] ui/issues/issue-5791.rs ... ok
test [ui] ui/issues/issue-5708.rs ... ok
test [ui] ui/macros/macro-comma-support.rs ... ok
test [ui] ui/macros/macro-context.rs ... ok
test [ui] ui/issues/issue-5688.rs ... ok
test [ui] ui/issues/issue-5741.rs ... ok
test [ui] ui/issues/issue-57781.rs ... ok
test [ui] ui/issues/issue-57198-pass.rs ... ok
test [ui] ui/issues/issue-58463.rs ... ok
test [ui] ui/issues/issue-5666.rs ... ok
test [ui] ui/macros/macro-crate-nonterminal-non-root.rs ... ok
test [ui] ui/issues/issue-5718.rs ... ok
test [ui] ui/macros/macro-deprecation.rs ... ok
test [ui] ui/issues/issue-58435-ice-with-assoc-const.rs ... ok
test [ui] ui/issues/issue-59029-2.rs ... ok
test [ui] ui/macros/macro-expanded-include/foo/mod.rs ... ignored
test [ui] ui/macros/macro-error.rs ... ok
test [ui] ui/macros/macro-expansion-tests.rs ... ok
test [ui] ui/issues/issue-5988.rs ... ok
test [ui] ui/issues/issue-5997.rs ... ok
test [ui] ui/issues/issue-61475.rs ... ok
test [ui] ui/issues/issue-6117.rs ... ok
test [ui] ui/issues/issue-5321-immediates-with-bare-self.rs ... ok
test [ui] ui/issues/issue-5917.rs ... ok
test [ui] ui/macros/macro-expanded-include/test.rs ... ok
test [ui] ui/macros/macro-follow.rs ... ok
test [ui] ui/macros/macro-in-expression-context-2.rs ... ok
test [ui] ui/macros/macro-followed-by-seq-bad.rs ... ok
test [ui] ui/issues/issue-52557.rs ... ok
test [ui] ui/macros/macro-inner-attributes.rs ... ok
test [ui] ui/macros/macro-input-future-proofing.rs ... ok
test [ui] ui/issues/issue-53333.rs ... ok
test [ui] ui/macros/macro-in-expression-context.rs ... ok
test [ui] ui/macros/macro-invalid-fragment-spec.rs ... ok
test [ui] ui/issues/issue-6128.rs ... ok
test [ui] ui/issues/issue-6157.rs ... ok
test [ui] ui/issues/issue-61894.rs ... ok
test [ui] ui/issues/issue-61696.rs ... ok
test [ui] ui/macros/macro-local-data-key-priv.rs ... ok
test [ui] ui/macros/macro-match-nonterminal.rs ... ok
test [ui] ui/issues/issue-6344-let.rs ... ok
test [ui] ui/macros/macro-meta-items-modern.rs ... ok
test [ui] ui/issues/issue-6153.rs ... ok
test [ui] ui/macros/macro-missing-delimiters.rs ... ok
test [ui] ui/macros/macro-missing-fragment.rs ... ok
test [ui] ui/issues/issue-58319.rs ... ok
test [ui] ui/issues/issue-6449.rs ... ok
test [ui] ui/issues/issue-6318.rs ... ok
test [ui] ui/macros/macro-multiple-matcher-bindings.rs ... ok
test [ui] ui/issues/issue-6344-match.rs ... ok
test [ui] ui/macros/macro-name-typo.rs ... ok
test [ui] ui/issues/issue-6334.rs ... ok
test [ui] ui/issues/issue-6892.rs ... ok
test [ui] ui/macros/macro-non-lifetime.rs ... ok
test [ui] ui/issues/issue-66851.rs ... ok
test [ui] ui/macros/macro-outer-attributes.rs ... ok
test [ui] ui/issues/issue-70041.rs ... ok
test [ui] ui/macros/macro-parameter-span.rs ... ok
test [ui] ui/issues/issue-6919.rs ... ok
test [ui] ui/issues/issue-6458-1.rs ... ok
test [ui] ui/issues/issue-7012.rs ... ok
test [ui] ui/macros/macro-path-prelude-fail-1.rs ... ok
test [ui] ui/macros/macro-path-prelude-fail-2.rs ... ok
test [ui] ui/macros/macro-path-prelude-fail-3.rs ... ok
test [ui] ui/issues/issue-68696-catch-during-unwind.rs ... ok
test [ui] ui/macros/macro-path-prelude-fail-4.rs ... ok
test [ui] ui/macros/macro-path-prelude-pass.rs ... ok
test [ui] ui/issues/issue-70673.rs ... ok
test [ui] ui/issues/issue-69841.rs ... ok
test [ui] ui/issues/issue-70093.rs ... ok
test [ui] ui/macros/macro-path-prelude-shadowing.rs ... ok
test [ui] ui/macros/macro-reexport-removed.rs ... ok
test [ui] ui/issues/issue-72278.rs ... ok
test [ui] ui/issues/issue-7344.rs ... ok
test [ui] ui/macros/macro-shadowing.rs ... ok
test [ui] ui/macros/macro-shadowing-relaxed.rs ... ok
test [ui] ui/macros/macro-stability.rs ... ok
test [ui] ui/macros/macro-stmt-matchers.rs ... ok
test [ui] ui/issues/issue-69225-layout-repeated-checked-add.rs ... ok
test [ui] ui/issues/issue-69225-SCEVAddExpr-wrap-flag.rs ... ok
test [ui] ui/issues/issue-7575.rs ... ok
test [ui] ui/issues/issue-7222.rs ... ok
test [ui] ui/macros/macro-use-bad-args-1.rs ... ok
test [ui] ui/macros/macro-tt-matchers.rs ... ok
test [ui] ui/issues/issue-7563.rs ... ok
test [ui] ui/macros/macro-use-bad-args-2.rs ... ok
test [ui] ui/issues/issue-7178.rs ... ok
test [ui] ui/issues/issue-7663.rs ... ok
test [ui] ui/issues/issue-59020.rs ... ok
test [ui] ui/issues/issue-7519-match-unit-in-arg.rs ... ok
test [ui] ui/issues/issue-7911.rs ... ok
test [ui] ui/macros/macro-use-undef.rs ... ok
test [ui] ui/macros/macro-use-wrong-name.rs ... ok
test [ui] ui/macros/macro_path_as_generic_bound.rs ... ok
test [ui] ui/macros/macro_undefined.rs ... ok
test [ui] ui/macros/macro-use-scope.rs ... ok
test [ui] ui/issues/issue-7784.rs ... ok
test [ui] ui/macros/macros-nonfatal-errors.rs ... ok
test [ui] ui/macros/meta-item-absolute-path.rs ... ok
test [ui] ui/macros/missing-comma.rs ... ok
test [ui] ui/macros/must-use-in-macro-55516.rs ... ok
test [ui] ui/macros/nonterminal-matching.rs ... ok
test [ui] ui/issues/issue-8044.rs ... ok
test [ui] ui/issues/issue-8248.rs ... ok
test [ui] ui/issues/issue-7899.rs ... ok
test [ui] ui/issues/issue-8351-1.rs ... ok
test [ui] ui/issues/issue-8351-2.rs ... ok
test [ui] ui/macros/restricted-shadowing-legacy.rs ... FAILED
test [ui] ui/issues/issue-8249.rs ... ok
test [ui] ui/macros/restricted-shadowing-modern.rs ... ok
test [ui] ui/macros/span-covering-argument-1.rs ... ok
test [ui] ui/issues/issue-8401.rs ... ok
test [ui] ui/issues/issue-8259.rs ... ok
test [ui] ui/issues/issue-811.rs ... ok
test [ui] ui/issues/issue-8391.rs ... ok
test [ui] ui/macros/trace_faulty_macros.rs ... ok
test [ui] ui/macros/trace-macro.rs ... ok
test [ui] ui/issues/issue-8506.rs ... ok
test [ui] ui/issues/issue-8498.rs ... ok
test [ui] ui/issues/issue-8709.rs ... ok
test [ui] ui/issues/issue-8851.rs ... ok
test [ui] ui/macros/same-sequence-span.rs ... ok
test [ui] ui/issues/issue-868.rs ... ok
test [ui] ui/macros/unknown-builtin.rs ... ok
test [ui] ui/issues/issue-8860.rs ... ok
test [ui] ui/issues/issue-9123.rs ... ok
test [ui] ui/issues/issue-8783.rs ... ok
test [ui] ui/issues/issue-9129.rs ... ok
test [ui] ui/main-wrong-location.rs ... ok
test [ui] ui/main-wrong-type.rs ... ok
test [ui] ui/malformed/issue-69341-malformed-derive-inert.rs ... ok
test [ui] ui/malformed/malformed-interpolated.rs ... ok
test [ui] ui/malformed/malformed-derive-entry.rs ... ok
test [ui] ui/malformed/malformed-meta-delim.rs ... ok
test [ui] ui/issues/issue-9047.rs ... ok
test [ui] ui/issues/issue-8898.rs ... ok
test [ui] ui/malformed/malformed-plugin-1.rs ... ok
test [ui] ui/malformed/malformed-plugin-2.rs ... ok
test [ui] ui/malformed/malformed-plugin-3.rs ... ok
test [ui] ui/malformed/malformed-regressions.rs ... ok
test [ui] ui/malformed/malformed-special-attrs.rs ... ok
test [ui] ui/issues/issue-9155.rs ... ok
test [ui] ui/malformed/malformed-unwind-1.rs ... ok
test [ui] ui/malformed/malformed-unwind-2.rs ... ok
test [ui] ui/malformed_macro_lhs.rs ... ok
test [ui] ui/manual/manual-link-bad-kind.rs ... ok
test [ui] ui/manual/manual-link-bad-search-path.rs ... ok
test [ui] ui/issues/issue-9394-inherited-trait-calls.rs ... ok
test [ui] ui/manual/manual-link-bad-form.rs ... ok
test [ui] ui/manual/manual-link-framework.rs ... ok
test [ui] ui/issues/issue-9188.rs ... ok
test [ui] ui/marker_trait_attr/marker-attribute-on-non-trait.rs ... ok
test [ui] ui/marker_trait_attr/marker-trait-with-associated-items.rs ... ok
test [ui] ui/marker_trait_attr/issue-61651-type-mismatch.rs ... ok
test [ui] ui/marker_trait_attr/marker-attribute-with-values.rs ... ok
test [ui] ui/map-types.rs ... ok
test [ui] ui/marker_trait_attr/override-item-on-marker-trait.rs ... ok
test [ui] ui/marker_trait_attr/overlap-marker-trait.rs ... ok
test [ui] ui/issues/issue-9382.rs ... ok
test [ui] ui/match/issue-50900.rs ... ok
test [ui] ui/issues/issue-9259.rs ... ok
test [ui] ui/match/issue-70972-dyn-trait.rs ... ok
test [ui] ui/issues/issue-9737.rs ... ok
test [ui] ui/match/issue-74050-end-span.rs ... ok
test [ui] ui/match/match-fn-call.rs ... ok
test [ui] ui/match/match-ill-type2.rs ... ok
test [ui] ui/match/match-arm-resolving-to-never.rs ... ok
test [ui] ui/issues/issue-9837.rs ... ok
test [ui] ui/match/match-no-arms-unreachable-after.rs ... ok
test [ui] ui/match/match-pattern-field-mismatch-2.rs ... ok
test [ui] ui/match/match-join.rs ... ok
test [ui] ui/issues/issue-979.rs ... ok
test [ui] ui/match/match-pattern-field-mismatch.rs ... ok
test [ui] ui/match/match-range-fail-2.rs ... ok
test [ui] ui/match/match-range-fail.rs ... ok
test [ui] ui/match/match-ref-mut-invariance.rs ... ok
test [ui] ui/match/match-ref-mut-let-invariance.rs ... ok
test [ui] ui/issues/issue-7660.rs ... ok
test [ui] ui/issues/issue-9446.rs ... ok
test [ui] ui/match/match-struct.rs ... ok
test [ui] ui/match/match-tag-nullary.rs ... ok
test [ui] ui/match/match-tag-unary.rs ... ok
test [ui] ui/match/match-vec-mismatch-2.rs ... ok
test [ui] ui/match/match-unresolved-one-arm.rs ... ok
test [ui] ui/maybe-bounds-where.rs ... ok
test [ui] ui/maybe-bounds.rs ... ok
test [ui] ui/meta-expected-error-correct-rev.rs#a ... ok
test [ui] ui/match/match-type-err-first-arm.rs ... ok
test [ui] ui/maybe-bounds-where-cpass.rs ... ok
test [ui] ui/issues/issue-9918.rs ... ok
test [ui] ui/iterators/into-iterator-type-inference-shift.rs ... ok
test [ui] ui/methods/assign-to-method.rs ... ok
test [ui] ui/issues/issue-9942.rs ... ok
test [ui] ui/issues/issue-9396.rs ... ok
test [ui] ui/methods/method-ambig-one-trait-unknown-int-type.rs ... ok
test [ui] ui/issues/issue-9951.rs ... ok
test [ui] ui/item-name-overload.rs ... ok
test [ui] ui/methods/method-ambig-two-traits-from-bounds.rs ... ok
test [ui] ui/methods/method-ambig-two-traits-from-impls2.rs ... ok
test [ui] ui/methods/method-ambig-two-traits-with-default-method.rs ... ok
test [ui] ui/methods/method-ambig-two-traits-from-impls.rs ... ok
test [ui] ui/methods/method-call-err-msg.rs ... ok
test [ui] ui/methods/method-call-lifetime-args-fail.rs ... ok
test [ui] ui/methods/method-call-lifetime-args-lint.rs ... ok
test [ui] ui/methods/method-call-lifetime-args-lint-fail.rs ... ok
test [ui] ui/issues/issue-9968.rs ... ok
test [ui] ui/methods/method-ambig-two-traits-cross-crate.rs ... ok
test [ui] ui/methods/method-call-lifetime-args-unresolved.rs ... ok
test [ui] ui/methods/method-call-lifetime-args.rs ... ok
test [ui] ui/issues/issue-9906.rs ... ok
test [ui] ui/methods/method-macro-backtrace.rs ... ok
test [ui] ui/methods/method-call-lifetime-args-subst-index.rs ... ok
test [ui] ui/methods/method-call-type-binding.rs ... ok
test [ui] ui/issues/issue-948.rs ... ok
test [ui] ui/methods/method-path-in-pattern.rs ... ok
test [ui] ui/methods/method-missing-call.rs ... ok
test [ui] ui/issues/issue-8827.rs ... ok
test [ui] ui/methods/method-resolvable-path-in-pattern.rs ... ok
test [ui] ui/iterators/into-iter-on-arrays-lint.rs ... ok
test [ui] ui/iterators/iter-map-fold-type-length.rs ... ok
test [ui] ui/methods/method-on-ambiguous-numeric-type.rs ... ok
test [ui] ui/methods/method-deref-to-same-trait-object-with-separate-params.rs ... ok
test [ui] ui/methods/method-self-arg-2.rs ... ok
test [ui] ui/istr.rs ... ok
test [ui] ui/methods/method-self-arg-1.rs ... ok
test [ui] ui/iterators/iter-cloned-type-inference.rs ... ok
test [ui] ui/iterators/iter-step-overflow-ndebug.rs ... ok
test [ui] ui/methods/method-trait-object-with-hrtb.rs ... ok
test [ui] ui/issues/issue-6130.rs ... ok
test [ui] ui/iterators/iter-range.rs ... ok
test [ui] ui/minus-string.rs ... ok
test [ui] ui/iterators/iter-sum-overflow-ndebug.rs ... ok
test [ui] ui/mir-dataflow/def-inits-1.rs ... ok
test [ui] ui/mir-dataflow/indirect-mutation-offset.rs ... ok
test [ui] ui/mir-dataflow/inits-1.rs ... ok
test [ui] ui/mir-dataflow/liveness-projection.rs ... ok
test [ui] ui/mir-dataflow/liveness-ptr.rs ... ok
test [ui] ui/mir-dataflow/uninits-1.rs ... ok
test [ui] ui/mir-dataflow/uninits-2.rs ... ok
test [ui] ui/keyword-changes-2012-07-31.rs ... ok
test [ui] ui/issues/issue-8460.rs ... ok
test [ui] ui/mir-unpretty.rs ... ok
test [ui] ui/issues/issue-50811.rs ... ok
test [ui] ui/mir/issue-66930.rs ... ok
test [ui] ui/mir/issue-60390.rs ... ok
test [ui] ui/iterators/iter-step-overflow-debug.rs ... ok
test [ui] ui/mir/issue-67639-normalization-ice.rs ... ok
test [ui] ui/mir/issue-67947.rs ... ok
test [ui] ui/iterators/iter-zip.rs ... ok
test [ui] ui/mir/issue-67710-inline-projection.rs ... ok
test [ui] ui/kindck-implicit-close-over-mut-var.rs ... ok
test [ui] ui/mir/issue66339.rs ... ok
test [ui] ui/mir/issue-75419-validation-impl-trait.rs ... ok
test [ui] ui/last-use-in-block.rs ... ok
test [ui] ui/label/label_break_value_desugared_break.rs ... ok
test [ui] ui/lambda-var-hygiene.rs ... ok
test [ui] ui/large-records.rs ... ok
test [ui] ui/lambda-infer-unresolved.rs ... ok
test [ui] ui/iterators/iter-sum-overflow-debug.rs ... ok
test [ui] ui/layout/issue-60431-unsized-tail-behind-projection.rs ... ok
test [ui] ui/iterators/issue-58952-filter-type-length.rs ... ok
test [ui] ui/kinds-in-metadata.rs ... ok
test [ui] ui/last-use-in-cap-clause.rs ... ok
test [ui] ui/layout/unsafe-cell-hides-niche.rs ... ok
test [ui] ui/lazy-and-or.rs ... ok
test [ui] ui/last-use-is-capture.rs ... ok
test [ui] ui/iterators/iter-sum-overflow-overflow-checks.rs ... ok
test [ui] ui/leak-unique-as-tydesc.rs ... ok
test [ui] ui/lazy-init.rs ... ok
test [ui] ui/lexical-scoping.rs ... ok
test [ui] ui/lexer-crlf-line-endings-string-literal-doc-comment.rs ... ok
test [ui] ui/lint-cap.rs ... ok
test [ui] ui/lex-bare-cr-nondoc-comment.rs ... ok
test [ui] ui/lint-expr-stmt-attrs-for-early-lints.rs ... ok
test [ui] ui/lint-unknown-lints-at-crate-level.rs ... ok
test [ui] ui/link-cfg-works.rs ... ok
test [ui] ui/link-section.rs ... ok
test [ui] ui/mir/mir_detects_invalid_ops.rs ... ok
test [ui] ui/lint/dead-code/enum-variants.rs ... ok
test [ui] ui/lint/dead-code/leading-underscore.rs ... ok
test [ui] ui/lint/dead-code/associated-type.rs ... ok
test [ui] ui/lint/dead-code/alias-in-pat.rs ... ok
test [ui] ui/lint/dead-code/with-impl.rs ... ok
test [ui] ui/liveness-assign-imm-local-after-ret.rs ... ok
test [ui] ui/log-err-phi.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-in-out-operand.rs ... ok
test [ui] ui/list.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-in-moved.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-concat-src.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-out-assign.rs ... ok
test [ui] ui/long-while.rs ... ok
test [ui] ui/logging_before_rt_started.rs ... ok
test [ui] ui/llvm-pr32379.rs ... ok
test [ui] ui/log-knows-the-names-of-variants-in-std.rs ... ok
test [ui] ui/lub-glb-with-unbound-infer-var.rs ... ok
test [ui] ui/log-poly.rs ... ok
test [ui] ui/log-knows-the-names-of-variants.rs ... ok
test [ui] ui/linkage1.rs ... ok
test [ui] ui/macros/assert-eq-macro-unsized.rs ... ok
test [ui] ui/lint/no-unused-parens-return-block.rs ... ok
test [ui] ui/macros/assert-eq-macro-success.rs ... ok
test [ui] ui/macros/assert-eq-macro-panic.rs ... ok
test [ui] ui/logging-only-prints-once.rs ... ok
test [ui] ui/macros/assert-as-macro.rs ... ok
test [ui] ui/loops/for-each-loop-panic.rs ... ok
test [ui] ui/macros/assert-macro-explicit.rs ... ok
test [ui] ui/mir_check_nonconst.rs ... ok
test [ui] ui/macros/assert-macro-static.rs ... ok
test [ui] ui/mismatched_types/E0409.rs ... ok
test [ui] ui/mismatched_types/E0053.rs ... ok
test [ui] ui/macros/assert-ne-macro-panic.rs ... ok
test [ui] ui/macros/assert-macro-fmt.rs ... ok
test [ui] ui/mismatched_types/E0631.rs ... ok
test [ui] ui/macros/assert-macro-owned.rs ... ok
test [ui] ui/mismatched_types/cast-rfc0401.rs ... ok
test [ui] ui/mismatched_types/const-fn-in-trait.rs ... ok
test [ui] ui/mismatched_types/binops.rs ... ok
test [ui] ui/mismatched_types/closure-mismatch.rs ... ok
test [ui] ui/mismatched_types/closure-arg-type-mismatch.rs ... ok
test [ui] ui/mismatched_types/fn-variance-1.rs ... ok
test [ui] ui/mismatched_types/closure-arg-count.rs ... ok
test [ui] ui/mismatched_types/closure-arg-count-expected-type-issue-47244.rs ... ok
test [ui] ui/mismatched_types/issue-38371.rs ... ok
test [ui] ui/mismatched_types/issue-26480.rs ... ok
test [ui] ui/mismatched_types/issue-36053-2.rs ... ok
test [ui] ui/mismatched_types/method-help-unsatisfied-bound.rs ... ok
test [ui] ui/mismatched_types/issue-35030.rs ... ok
test [ui] ui/mismatched_types/main.rs ... ok
test [ui] ui/mismatched_types/numeric-literal-cast.rs ... ok
test [ui] ui/mismatched_types/for-loop-has-unit-body.rs ... ok
test [ui] ui/mismatched_types/issue-19109.rs ... ok
test [ui] ui/mismatched_types/recovered-block.rs ... ok
test [ui] ui/mismatched_types/abridged.rs ... ok
test [ui] ui/mismatched_types/trait-impl-fn-incompatibility.rs ... ok
test [ui] ui/missing/missing-allocator.rs ... ok
test [ui] ui/mismatched_types/overloaded-calls-bad.rs ... ok
test [ui] ui/missing/missing-alloc_error_handler.rs ... ok
test [ui] ui/missing/missing-block-hint.rs ... ok
test [ui] ui/mismatched_types/unboxed-closures-vtable-mismatch.rs ... ok
test [ui] ui/missing/missing-fields-in-struct-pattern.rs ... ok
test [ui] ui/missing/missing-derivable-attr.rs ... ok
test [ui] ui/mismatched_types/trait-bounds-cant-coerce.rs ... ok
test [ui] ui/missing_non_modrs_mod/foo.rs ... ignored
test [ui] ui/missing_non_modrs_mod/foo_inline.rs ... ignored
test [ui] ui/missing/missing-items/issue-40221.rs ... ok
test [ui] ui/missing/missing-main.rs ... ok
test [ui] ui/missing/missing-items/missing-type-parameter.rs ... ok
test [ui] ui/mod/mod_file_aux.rs ... ignored
test [ui] ui/missing/missing-return.rs ... ok
test [ui] ui/missing/missing-stability.rs ... ok
test [ui] ui/mod/mod_file_disambig_aux.rs ... ignored
test [ui] ui/mod/mod_file_disambig_aux/mod.rs ... ignored
test [ui] ui/missing/missing-comma-in-match.rs ... ok
test [ui] ui/missing_non_modrs_mod/missing_non_modrs_mod_inline.rs ... ok
test [ui] ui/missing_non_modrs_mod/missing_non_modrs_mod.rs ... ok
test [ui] ui/mod-subitem-as-enum-variant.rs ... ok
test [ui] ui/missing_debug_impls.rs ... ok
test [ui] ui/mod/mod_file_correct_spans.rs ... ok
test [ui] ui/macros/assert-ne-macro-success.rs ... ok
test [ui] ui/mod/mod_file_disambig.rs ... ok
test [ui] ui/module-macro_use-arguments.rs ... ok
test [ui] ui/missing/missing-macro-use.rs ... ok
test [ui] ui/macro-quote-test.rs ... ok
test [ui] ui/modules/mod_file_aux.rs ... ignored
test [ui] ui/macros/assert-ne-macro-unsized.rs ... ok
test [ui] ui/missing/missing-items/m2.rs ... ok
test [ui] ui/lto-thin-rustc-loads-linker-plugin.rs ... ok
test [ui] ui/macros/conditional-debug-macro-on.rs ... ok
test [ui] ui/macros/die-macro-expr.rs ... ok
test [ui] ui/moves/issue-46099-move-in-macro.rs ... ok
test [ui] ui/macro-quote-cond.rs ... ok
test [ui] ui/macros/die-macro.rs ... ok
test [ui] ui/macros/colorful-write-macros.rs ... ok
test [ui] ui/macros/log_syntax-trace_macros-macro-locations.rs ... ok
test [ui] ui/macros/die-macro-pure.rs ... ok
test [ui] ui/macros/issue-25274.rs ... ok
test [ui] ui/macros/macro-as-fn-body.rs ... ok
test [ui] ui/macros/macro-attribute-expansion.rs ... ok
test [ui] ui/macros/macro-2.rs ... ok
test [ui] ui/macros/die-macro-2.rs ... ok
test [ui] ui/macros/macro-at-most-once-rep-2015-rpass.rs ... ok
test [ui] ui/macros/macro-at-most-once-rep-2018-rpass.rs ... ok
test [ui] ui/moves/move-guard-same-consts.rs ... ok
test [ui] ui/macros/macro-attributes.rs ... ok
test [ui] ui/moves/move-fn-self-receiver.rs ... ok
test [ui] ui/macros/macro-block-nonterminal.rs ... ok
test [ui] ui/moves/move-in-guard-1.rs ... ok
test [ui] ui/moves/move-in-guard-2.rs ... ok
test [ui] ui/moves/move-into-dead-array-1.rs ... ok
test [ui] ui/moves/move-into-dead-array-2.rs ... ok
test [ui] ui/moves/move-out-of-array-1.rs ... ok
test [ui] ui/moves/move-out-of-array-ref.rs ... ok
test [ui] ui/moves/move-out-of-slice-1.rs ... ok
test [ui] ui/moves/move-out-of-slice-2.rs ... ok
test [ui] ui/macros/macro-crate-def-only.rs ... ok
test [ui] ui/moves/move-out-of-tuple-field.rs ... ok
test [ui] ui/moves/moves-based-on-type-access-to-field.rs ... ok
test [ui] ui/macros/macro-crate-use.rs ... ok
test [ui] ui/moves/moves-based-on-type-block-bad.rs ... ok
test [ui] ui/moves/moves-based-on-type-capture-clause-bad.rs ... ok
test [ui] ui/moves/moves-based-on-type-cyclic-types-issue-4821.rs ... ok
test [ui] ui/macros/macro-deep_expansion.rs ... ok
test [ui] ui/moves/moves-based-on-type-distribute-copy-over-paren.rs ... ok
test [ui] ui/moves/moves-based-on-type-move-out-of-closure-env-issue-1965.rs ... ok
test [ui] ui/moves/moves-based-on-type-exprs.rs ... ok
test [ui] ui/moves/moves-based-on-type-match-bindings.rs ... ok
test [ui] ui/moves/moves-sru-moved-field.rs ... ok
test [ui] ui/moves/moves-based-on-type-tuple.rs ... ok
test [ui] ui/moves/moves-based-on-type-no-recursive-stack-closure.rs ... ok
test [ui] ui/lto-many-codegen-units.rs ... ok
test [ui] ui/macros/macro-delimiter-significance.rs ... ok
test [ui] ui/macros/macro-doc-comments.rs ... ok
test [ui] ui/macros/macro-doc-escapes.rs ... ok
test [ui] ui/macros/macro-crate-nonterminal.rs ... ok
test [ui] ui/multiple-main-3.rs ... ok
test [ui] ui/multiple-main-2.rs ... ok
test [ui] ui/macros/macro-crate-nonterminal-renamed.rs ... ok
test [ui] ui/multiple-plugin-registrars.rs ... ok
test [ui] ui/mut/mut-cant-alias.rs ... ok
test [ui] ui/macros/macro-comma-behavior-rpass.rs#core ... ok
test [ui] ui/mut/mut-cross-borrowing.rs ... ok
test [ui] ui/mut/mut-pattern-mismatched.rs ... ok
test [ui] ui/mut/mut-pattern-internal-mutability.rs ... ok
test [ui] ui/mut/mut-ref.rs ... ok
test [ui] ui/mut/mut-suggestion.rs ... ok
test [ui] ui/mut/mutable-class-fields-2.rs ... ok
test [ui] ui/mut/mutable-class-fields.rs ... ok
test [ui] ui/macros/macro-comma-behavior-rpass.rs#std ... ok
test [ui] ui/mut/mutable-enum-indirect.rs ... ok
test [ui] ui/mutexguard-sync.rs ... ok
test [ui] ui/llvm-asm/llvm-asm-indirect-memory.rs ... ok
test [ui] ui/namespace/namespace-mix.rs ... ok
test [ui] ui/namespace/namespaced-enum-glob-import-no-impls-xcrate.rs ... ok
test [ui] ui/macros/macro-comma-support-rpass.rs#core ... ok
test [ui] ui/lto-rustc-loads-linker-plugin.rs ... ok
test [ui] ui/namespace/namespaced-enum-glob-import-no-impls.rs ... ok
test [ui] ui/nested-cfg-attrs.rs ... ok
test [ui] ui/macros/macro-doc-raw-str-hashes.rs ... ok
test [ui] ui/macros/macro-comma-support-rpass.rs#std ... ok
test [ui] ui/nested-ty-params.rs ... ok
test [ui] ui/nested_impl_trait.rs ... ok
test [ui] ui/lto-still-runs-thread-dtors.rs ... ok
test [ui] ui/macros/macro-follow-rpass.rs ... ok
test [ui] ui/macros/macro-in-fn.rs ... ok
test [ui] ui/never_type/adjust_never.rs ... ok
test [ui] ui/never_type/auto-traits.rs ... ok
test [ui] ui/macros/macro-followed-by-seq.rs ... ok
test [ui] ui/macros/macro-export-inner-module.rs ... ok
test [ui] ui/never_type/call-fn-never-arg.rs ... ok
test [ui] ui/never_type/call-fn-never-arg-wrong-type.rs ... ok
test [ui] ui/never_type/cast-never.rs ... ok
test [ui] ui/never_type/defaulted-never-note.rs ... ok
test [ui] ui/never_type/feature-gate-never_type_fallback.rs ... ok
test [ui] ui/never_type/issue-13352.rs ... ok
test [ui] ui/macros/macro-include-items.rs ... ok
test [ui] ui/never_type/issue-44402.rs ... ok
test [ui] ui/never_type/issue-2149.rs ... ok
test [ui] ui/never_type/issue-51506.rs ... ok
test [ui] ui/macros/macro-lifetime-used-with-static.rs ... ok
test [ui] ui/macros/macro-lifetime-used-with-labels.rs ... ok
test [ui] ui/macros/macro-first-set.rs ... ok
test [ui] ui/macros/macro-lifetime.rs ... ok
test [ui] ui/macros/macro-invocation-in-count-expr-fixed-array-type.rs ... ok
test [ui] ui/never_type/never-assign-dead-code.rs ... ok
test [ui] ui/macros/macro-interpolation.rs ... ok
test [ui] ui/never_type/never-from-impl-is-reserved.rs ... ok
test [ui] ui/never_type/never-assign-wrong-type.rs ... ok
test [ui] ui/never_type/never-associated-type.rs ... ok
test [ui] ui/never_type/never-type-arg.rs ... ok
test [ui] ui/never_type/never_transmute_never.rs ... ok
test [ui] ui/macros/macro-lifetime-used-with-bound.rs ... ok
test [ui] ui/macros/macro-method-issue-4621.rs ... ok
test [ui] ui/macros/macro-meta-items.rs ... ok
test [ui] ui/macros/macro-named-default.rs ... ok
test [ui] ui/macros/macro-multiple-items.rs ... ok
test [ui] ui/macros/macro-literal.rs ... ok
test [ui] ui/macros/macro-nt-list.rs ... ok
test [ui] ui/macros/macro-nested_expr.rs ... ok
test [ui] ui/macros/macro-nested_definition_issue-31946.rs ... ok
test [ui] ui/macros/macro-nested_stmt_macros.rs ... ok
test [ui] ui/macros/macro-pat.rs ... ok
test [ui] ui/macros/macro-pat-neg-lit.rs ... ok
test [ui] ui/macros/macro-path.rs ... ok
test [ui] ui/macros/macro-pub-matcher.rs ... ok
test [ui] ui/macros/macro-of-higher-order.rs ... ok
test [ui] ui/nll/assign-while-to-immutable.rs ... ok
test [ui] ui/macros/macro-pat-follow.rs ... ok
test [ui] ui/nll/borrowed-local-error.rs ... ok
test [ui] ui/nll/borrowed-match-issue-45045.rs ... ok
test [ui] ui/macros/macro-seq-followed-by-seq.rs ... ok
test [ui] ui/nll/borrowed-temporary-error.rs ... ok
test [ui] ui/nll/borrowed-referent-issue-38899.rs ... ok
test [ui] ui/nll/borrowed-universal-error-2.rs ... ok
test [ui] ui/nll/borrowed-universal-error.rs ... ok
test [ui] ui/nll/cannot-move-block-spans.rs ... ok
test [ui] ui/nll/capture-ref-in-struct.rs ... ok
test [ui] ui/macros/macro-stmt.rs ... ok
test [ui] ui/nll/closure-access-spans.rs ... ok
test [ui] ui/nll/capture-mut-ref.rs ... ok
test [ui] ui/nll/closure-borrow-spans.rs ... ok
test [ui] ui/nll/closure-requirements/escape-argument-callee.rs ... ok
test [ui] ui/nll/closure-captures.rs ... ok
test [ui] ui/nll/closure-move-spans.rs ... ok
test [ui] ui/nll/closure-requirements/escape-argument.rs ... ok
test [ui] ui/nll/closure-requirements/escape-upvar-nested.rs ... ok
test [ui] ui/nll/closure-requirements/escape-upvar-ref.rs ... ok
test [ui] ui/nll/closure-requirements/issue-58127-mutliple-requirements.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-fail-no-postdom.rs ... ok
test [ui] ui/macros/macro-stmt_macro_in_expr_macro.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-ref.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-shorter-to-static-comparing-against-free.rs ... ok
test [ui] ui/macros/macro-stability-rpass.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-val.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-despite-same-free-region.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-shorter-to-static-wrong-bound.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-approximated-shorter-to-static-no-bound.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-from-trait-match.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-fail-to-approximate-longer-no-bounds.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-fail-to-approximate-longer-wrong-bounds.rs ... ok
test [ui] ui/macros/macro-use-all-and-none.rs ... ok
test [ui] ui/nll/closure-requirements/region-lbr-named-does-not-outlive-static.rs ... ok
test [ui] ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.rs ... ok
test [ui] ui/nll/closure-requirements/region-lbr1-does-not-outlive-ebr2.rs ... ok
test [ui] ui/nll/closure-requirements/propagate-multiple-requirements.rs ... ok
test [ui] ui/nll/closure-requirements/region-lbr1-does-outlive-lbr2-because-implied-bound.rs ... ok
test [ui] ui/nll/closure-requirements/return-wrong-bound-region.rs ... ok
test [ui] ui/nll/closure-use-spans.rs ... ok
test [ui] ui/nll/closures-in-loops.rs ... ok
test [ui] ui/nll/constant-thread-locals-issue-47053.rs ... ok
test [ui] ui/nll/constant.rs ... ok
test [ui] ui/nll/decl-macro-illegal-copy.rs ... ok
test [ui] ui/macros/macro-with-attrs1.rs ... ok
test [ui] ui/nll/do-not-ignore-lifetime-bounds-in-copy-proj.rs ... ok
test [ui] ui/nll/drop-may-dangle.rs ... ok
test [ui] ui/nll/do-not-ignore-lifetime-bounds-in-copy.rs ... ok
test [ui] ui/nll/dont-print-desugared.rs ... ok
test [ui] ui/nll/drop-no-may-dangle.rs ... ok
test [ui] ui/nll/empty-type-predicate-2.rs ... ok
test [ui] ui/nll/empty-type-predicate.rs ... ok
test [ui] ui/macros/macro-tt-followed-by-seq.rs ... ok
test [ui] ui/nll/generator-distinct-lifetime.rs ... ok
test [ui] ui/nll/enum-drop-access.rs ... ok
test [ui] ui/nll/generator-upvar-mutability.rs ... ok
test [ui] ui/nll/extra-unused-mut.rs ... ok
test [ui] ui/nll/get_default.rs ... ok
test [ui] ui/nll/guarantor-issue-46974.rs ... ok
test [ui] ui/macros/macro-use-both.rs ... ok
test [ui] ui/nll/issue-16223.rs ... ok
test [ui] ui/nll/issue-21114-ebfull.rs ... ok
test [ui] ui/nll/issue-21232-partial-init-and-erroneous-use.rs ... ok
test [ui] ui/nll/issue-22323-temp-destruction.rs ... ok
test [ui] ui/nll/issue-21114-kixunil.rs ... ok
test [ui] ui/nll/issue-27868.rs ... ok
test [ui] ui/nll/issue-30104.rs ... ok
test [ui] ui/nll/issue-32382-index-assoc-type-with-lifetime.rs ... ok
test [ui] ui/nll/issue-31567.rs ... ok
test [ui] ui/nll/issue-42574-diagnostic-in-nested-closure.rs ... ok
test [ui] ui/macros/macro-use-one.rs ... ok
test [ui] ui/nll/issue-46589.rs ... ok
test [ui] ui/nll/issue-21232-partial-init-and-use.rs ... ok
test [ui] ui/nll/issue-47022.rs ... ok
test [ui] ui/nll/issue-43058.rs ... ok
test [ui] ui/nll/issue-47470.rs ... ok
test [ui] ui/nll/issue-47388.rs ... ok
test [ui] ui/macros/macro-use-all.rs ... ok
test [ui] ui/macros/macro-with-attrs2.rs ... ok
test [ui] ui/nll/issue-48238.rs ... ok
test [ui] ui/nll/issue-48697.rs ... ok
test [ui] ui/nll/issue-50716-1.rs ... ok
test [ui] ui/nll/issue-50716.rs ... ok
test [ui] ui/nll/issue-51191.rs ... ok
test [ui] ui/nll/issue-51244.rs ... ok
test [ui] ui/macros/macro_with_super_2.rs ... ok
test [ui] ui/nll/issue-51268.rs ... ok
test [ui] ui/nll/issue-51351.rs ... ok
test [ui] ui/nll/issue-51512.rs ... ok
test [ui] ui/nll/issue-52078.rs ... ok
test [ui] ui/nll/issue-52059-report-when-borrow-and-drop-conflict.rs ... ok
test [ui] ui/nll/issue-52086.rs ... ok
test [ui] ui/nll/issue-52113.rs ... ok
test [ui] ui/macros/meta-variable-misuse.rs ... ok
test [ui] ui/nll/issue-52534.rs ... ok
test [ui] ui/nll/issue-52534-2.rs ... ok
test [ui] ui/nll/issue-52534-1.rs ... ok
test [ui] ui/nll/issue-52663-span-decl-captured-variable.rs ... ok
test [ui] ui/nll/issue-52663-trait-object.rs ... ok
test [ui] ui/nll/issue-52742.rs ... ok
test [ui] ui/nll/issue-52669.rs ... ok
test [ui] ui/nll/issue-53040.rs ... ok
test [ui] ui/nll/issue-53570.rs ... ok
test [ui] ui/nll/issue-53119.rs ... ok
test [ui] ui/nll/issue-53807.rs ... ok
test [ui] ui/nll/issue-54382-use-span-of-tail-of-block.rs ... ok
test [ui] ui/nll/issue-53773.rs ... ok
test [ui] ui/nll/issue-54556-niconii.rs ... ok
test [ui] ui/nll/issue-54556-stephaneyfx.rs ... ok
test [ui] ui/nll/issue-54556-temps-in-tail-diagnostic.rs ... ok
test [ui] ui/nll/issue-54556-used-vs-unused-tails.rs ... ok
test [ui] ui/macros/macros-in-extern.rs ... ok
test [ui] ui/nll/issue-55394.rs ... ok
test [ui] ui/nll/issue-55401.rs ... ok
test [ui] ui/nll/issue-54556-wrap-it-up.rs ... ok
test [ui] ui/nll/issue-55288.rs ... ok
test [ui] ui/nll/issue-55651.rs ... ok
test [ui] ui/nll/issue-55344.rs ... ok
test [ui] ui/macros/pub-item-inside-macro.rs ... ok
test [ui] ui/nll/issue-55850.rs ... ok
test [ui] ui/nll/issue-57100.rs ... ok
test [ui] ui/nll/issue-57280-1.rs ... ok
test [ui] ui/nll/issue-57989.rs ... ok
test [ui] ui/nll/issue-57280.rs ... ok
test [ui] ui/nll/issue-58053.rs ... ok
test [ui] ui/nll/issue-57265-return-type-wf-check.rs ... ok
test [ui] ui/nll/issue-58299.rs ... ok
test [ui] ui/macros/paths-in-macro-invocations.rs ... ok
test [ui] ui/nll/issue-61311-normalize.rs ... ok
test [ui] ui/macros/parse-complex-macro-invoc-op.rs ... ok
test [ui] ui/nll/issue-62007-assign-const-index.rs ... ok
test [ui] ui/nll/issue-62007-assign-differing-fields.rs ... ok
test [ui] ui/nll/issue-61320-normalize.rs ... ok
test [ui] ui/nll/issue-63154-normalize.rs ... ok
test [ui] ui/nll/issue-68550.rs ... ok
test [ui] ui/nll/loan_ends_mid_block_pair.rs ... ok
test [ui] ui/macros/semi-after-macro-ty.rs ... ok
test [ui] ui/nll/loan_ends_mid_block_vec.rs ... ok
test [ui] ui/nll/local-outlives-static-via-hrtb.rs ... ok
test [ui] ui/nll/issue-69114-static-ty.rs ... ok
test [ui] ui/nll/issue-61424.rs ... ok
test [ui] ui/nll/issue-69114-static-mut-ty.rs ... ok
test [ui] ui/macros/stmt_expr_attr_macro_parse.rs ... ok
test [ui] ui/nll/match-cfg-fake-edges2.rs ... ok
test [ui] ui/nll/match-cfg-fake-edges.rs ... ok
test [ui] ui/nll/match-guards-always-borrow.rs ... ok
test [ui] ui/nll/match-guards-partially-borrow.rs ... ok
test [ui] ui/nll/maybe-initialized-drop-implicit-fragment-drop.rs ... ok
test [ui] ui/nll/match-on-borrowed.rs ... ok
test [ui] ui/nll/maybe-initialized-drop-uninitialized.rs ... ok
test [ui] ui/nll/maybe-initialized-drop.rs ... ok
test [ui] ui/nll/maybe-initialized-drop-with-fragment.rs ... ok
test [ui] ui/nll/mir_check_cast_reify.rs ... ok
test [ui] ui/nll/mir_check_cast_closure.rs ... ok
test [ui] ui/nll/maybe-initialized-drop-with-uninitialized-fragments.rs ... ok
test [ui] ui/macros/pub-method-inside-macro.rs ... ok
test [ui] ui/nll/mir_check_cast_unsafe_fn.rs ... ok
test [ui] ui/nll/mir_check_cast_unsize.rs ... ok
test [ui] ui/nll/normalization-bounds-error.rs ... ok
test [ui] ui/nll/normalization-bounds.rs ... ok
test [ui] ui/nll/outlives-suggestion-more.rs ... ok
test [ui] ui/nll/move-errors.rs ... ok
test [ui] ui/nll/move-subpaths-moves-root.rs ... ok
test [ui] ui/nll/outlives-suggestion-simple.rs ... ok
test [ui] ui/nll/polonius/call-kills-loans.rs ... ok
test [ui] ui/nll/polonius/assignment-to-differing-field.rs ... ok
test [ui] ui/nll/polonius/issue-46589.rs ... ok
test [ui] ui/nll/polonius/assignment-kills-loans.rs ... ok
test [ui] ui/nll/polonius/subset-relations.rs ... ok
test [ui] ui/nll/projection-return.rs ... ok
test [ui] ui/nll/polonius/polonius-smoke-test.rs ... ok
test [ui] ui/nll/promoted-liveness.rs ... ok
test [ui] ui/nll/promotable-mutable-zst-doesnt-conflict.rs ... ok
test [ui] ui/nll/promoted-closure-pair.rs ... ok
test [ui] ui/nll/polonius/storagedead-kills-loans.rs ... ok
test [ui] ui/nll/promoted-bounds.rs ... ok
test [ui] ui/nll/reference-carried-through-struct-field.rs ... ok
test [ui] ui/nll/relate_tys/hr-fn-aaa-as-aba.rs ... ok
test [ui] ui/nll/relate_tys/fn-subtype.rs ... ok
test [ui] ui/nll/region-ends-after-if-condition.rs ... ok
test [ui] ui/nll/relate_tys/hr-fn-aau-eq-abu.rs ... ok
test [ui] ui/nll/relate_tys/impl-fn-ignore-binder-via-bottom.rs ... ok
test [ui] ui/nll/relate_tys/hr-fn-aba-as-aaa.rs ... ok
test [ui] ui/nll/relate_tys/trait-hrtb.rs ... ok
test [ui] ui/nll/relate_tys/universe-violation.rs ... ok
test [ui] ui/nll/relate_tys/issue-48071.rs ... ok
test [ui] ui/nll/relate_tys/var-appears-twice.rs ... ok
test [ui] ui/nll/return-ref-mut-issue-46557.rs ... ok
test [ui] ui/nll/return_from_loop.rs ... ok
test [ui] ui/nll/trait-associated-constant.rs ... ok
test [ui] ui/nll/self-assign-ref-mut.rs ... ok
test [ui] ui/macros/macro-with-braces-in-expr-position.rs ... ok
test [ui] ui/nll/ty-outlives/impl-trait-captures.rs ... ok
test [ui] ui/nll/ty-outlives/impl-trait-outlives.rs ... ok
test [ui] ui/nll/ty-outlives/projection-body.rs ... ok
test [ui] ui/nll/ty-outlives/issue-55756.rs ... ok
test [ui] ui/nll/ty-outlives/issue-53789-1.rs ... ok
test [ui] ui/nll/ty-outlives/projection-implied-bounds.rs ... ok
test [ui] ui/nll/ty-outlives/projection-no-regions-fn.rs ... ok
test [ui] ui/nll/ty-outlives/projection-one-region-closure.rs ... ok
test [ui] ui/nll/ty-outlives/issue-53789-2.rs ... ok
test [ui] ui/nll/ty-outlives/projection-no-regions-closure.rs ... ok
test [ui] ui/nll/ty-outlives/projection-one-region-trait-bound-static-closure.rs ... ok
test [ui] ui/nll/ty-outlives/projection-where-clause-env-wrong-bound.rs ... ok
test [ui] ui/nll/ty-outlives/projection-where-clause-env-wrong-lifetime.rs ... ok
test [ui] ui/nll/ty-outlives/projection-one-region-trait-bound-closure.rs ... ok
test [ui] ui/nll/ty-outlives/projection-where-clause-none.rs ... ok
test [ui] ui/nll/ty-outlives/projection-where-clause-env.rs ... ok
test [ui] ui/nll/ty-outlives/projection-where-clause-trait.rs ... ok
test [ui] ui/nll/ty-outlives/projection-two-region-trait-bound-closure.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-closure-approximate-lower-bound.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-closure-outlives-from-return-type.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-fn-body.rs ... ok
test [ui] ui/nll/type-alias-free-regions.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-implied-bounds.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-closure-outlives-from-where-clause.rs ... ok
test [ui] ui/nll/ty-outlives/wf-unreachable.rs ... ok
test [ui] ui/nll/ty-outlives/ty-param-fn.rs ... ok
test [ui] ui/nll/type-check-pointer-coercions.rs ... ok
test [ui] ui/nll/type-check-pointer-comparisons.rs ... ok
test [ui] ui/nll/user-annotations/adt-brace-enums.rs ... ok
test [ui] ui/macros/type-macros-simple.rs ... ok
test [ui] ui/nll/user-annotations/adt-brace-structs.rs ... ok
test [ui] ui/nll/user-annotations/adt-tuple-struct.rs ... ok
test [ui] ui/nll/user-annotations/cast_static_lifetime.rs ... ok
test [ui] ui/nll/user-annotations/adt-tuple-struct-calls.rs ... ok
test [ui] ui/macros/typeck-macro-interaction-issue-8852.rs ... ok
test [ui] ui/nll/user-annotations/adt-tuple-enums.rs ... ok
test [ui] ui/macros/syntax-extension-source-utils.rs ... ok
test [ui] ui/nll/user-annotations/adt-nullary-enums.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-inherent-1.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-inherent-2.rs ... ok
test [ui] ui/nll/user-annotations/closure-substs.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-normalize.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-trait-item-3.rs ... ok
test [ui] ui/nll/user-annotations/dump-adt-brace-struct.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-trait-item-2.rs ... ok
test [ui] ui/nll/user-annotations/constant-in-expr-trait-item-1.rs ... ok
test [ui] ui/nll/user-annotations/dump-fn-method.rs ... ok
test [ui] ui/nll/user-annotations/downcast-infer.rs ... ok
test [ui] ui/nll/user-annotations/fns.rs ... ok
test [ui] ui/macros/two-macro-use.rs ... ok
test [ui] ui/nll/user-annotations/issue-54124.rs ... ok
test [ui] ui/nll/unused-mut-issue-50343.rs ... ok
test [ui] ui/nll/user-annotations/inherent-associated-constants.rs ... ok
test [ui] ui/nll/user-annotations/issue-57731-ascibed-coupled-types.rs ... ok
test [ui] ui/nll/user-annotations/issue-54570-bootstrapping.rs ... ok
test [ui] ui/nll/user-annotations/method-call.rs ... ok
test [ui] ui/nll/user-annotations/issue-55219.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-3.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-2.rs ... ok
test [ui] ui/nll/user-annotations/issue-55748-pat-types-constrain-bindings.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-1.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-inherent-4.rs ... ok
test [ui] ui/nll/user-annotations/normalization.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-inherent-3.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-inherent-2.rs ... ok
test [ui] ui/nll/user-annotations/method-ufcs-inherent-1.rs ... ok
test [ui] ui/nll/user-annotations/normalize-self-ty.rs ... ok
test [ui] ui/nll/user-annotations/type-annotation-with-hrtb.rs ... ok
test [ui] ui/nll/user-annotations/promoted-annotation.rs ... ok
test [ui] ui/nll/user-annotations/pattern_substs_on_brace_struct.rs ... ok
test [ui] ui/nll/user-annotations/pattern_substs_on_tuple_struct.rs ... ok
test [ui] ui/nll/user-annotations/type_ascription_static_lifetime.rs ... ok
test [ui] ui/nll/user-annotations/pattern_substs_on_tuple_enum_variant.rs ... ok
test [ui] ui/nll/user-annotations/pattern_substs_on_brace_enum_variant.rs ... ok
test [ui] ui/nll/user-annotations/patterns.rs ... ok
test [ui] ui/nll/where_clauses_in_structs.rs ... ok
test [ui] ui/nll/where_clauses_in_functions.rs ... ok
test [ui] ui/nll/user-annotations/wf-self-type.rs ... ok
test [ui] ui/no-patterns-in-args-2.rs ... ok
test [ui] ui/no-link-unknown-crate.rs ... ok
test [ui] ui/no-implicit-prelude.rs ... ok
test [ui] ui/no-implicit-prelude-nested.rs ... ok
test [ui] ui/no-capture-arc.rs ... ok
test [ui] ui/no-patterns-in-args-macro.rs ... ok
test [ui] ui/no-patterns-in-args.rs ... ok
test [ui] ui/no-std-inject.rs ... ok
test [ui] ui/no-reuse-move-arc.rs ... ok
test [ui] ui/no_owned_box_lang_item.rs ... ok
test [ui] ui/no-type-for-node-ice.rs ... ok
test [ui] ui/no-send-res-ports.rs ... ok
test [ui] ui/no_crate_type.rs ... ok
test [ui] ui/no-warn-on-field-replace-issue-34101.rs ... ok
test [ui] ui/no-link.rs ... ok
test [ui] ui/no_send-enum.rs ... ok
test [ui] ui/no_send-struct.rs ... ok
test [ui] ui/no_send-rc.rs ... ok
test [ui] ui/no_share-enum.rs ... ok
test [ui] ui/no_share-struct.rs ... ok
test [ui] ui/non-constant-expr-for-arr-len.rs ... ok
test [ui] ui/non_modrs_mods/foors_mod.rs ... ignored
test [ui] ui/non-constant-in-const-path.rs ... ok
test [ui] ui/non-ice-error-on-worker-io-fail.rs ... ok
test [ui] ui/non_modrs_mods_and_inline_mods/x.rs ... ignored
test [ui] ui/non_modrs_mods_and_inline_mods/x/y/z/mod.rs ... ignored
test [ui] ui/non-copyable-void.rs ... ok
test [ui] ui/noexporttypeexe.rs ... ok
test [ui] ui/noncopyable-class.rs ... ok
test [ui] ui/non_modrs_mods_and_inline_mods/non_modrs_mods_and_inline_mods.rs ... ok
test [ui] ui/non-integer-atomic.rs ... ok
test [ui] ui/not-copy-closure.rs ... ok
test [ui] ui/macros/syntax-extension-cfg.rs ... ok
test [ui] ui/nonscalar-cast.rs ... ok
test [ui] ui/not-clone-closure.rs ... ok
test [ui] ui/not-enough-arguments.rs ... ok
test [ui] ui/not-panic/not-panic-safe-2.rs ... ok
test [ui] ui/not-panic/not-panic-safe-5.rs ... ok
test [ui] ui/not-panic/not-panic-safe-3.rs ... ok
test [ui] ui/not-panic/not-panic-safe-4.rs ... ok
test [ui] ui/not-panic/not-panic-safe-6.rs ... ok
test [ui] ui/not-panic/not-panic-safe.rs ... ok
test [ui] ui/not-sync.rs ... ok
test [ui] ui/macros/type-macros-hlist.rs ... ok
test [ui] ui/match-on-negative-integer-ranges.rs ... ok
test [ui] ui/macros/try-macro.rs ... ok
test [ui] ui/macros/unreachable-fmt-msg.rs ... ok
test [ui] ui/macros/use-macro-self.rs ... ok
test [ui] ui/macros/unimplemented-macro-panic.rs ... ok
test [ui] ui/macros/unreachable-static-msg.rs ... ok
test [ui] ui/match/issue-72896.rs ... ok
test [ui] ui/match/expr-match-panic-fn.rs ... ok
test [ui] ui/macros/unreachable-macro-panic.rs ... ok
test [ui] ui/match/expr-match-panic.rs ... ok
test [ui] ui/max-min-classes.rs ... ok
test [ui] ui/macros/unreachable.rs ... ok
test [ui] ui/methods/method-probe-no-guessing-dyn-trait.rs ... ok
test [ui] ui/methods/method-normalize-bounds-issue-20604.rs ... ok
test [ui] ui/match/match-disc-bot.rs ... ok
test [ui] ui/match/match-bot-panic.rs ... ok
test [ui] ui/methods/method-recursive-blanket-impl.rs ... ok
test [ui] ui/match/match-wildcards.rs ... ok
test [ui] ui/methods/method-mut-self-modifies-mut-slice-lvalue.rs ... ok
test [ui] ui/meta-revision-bad.rs#foo ... ok
test [ui] ui/methods/method-projection.rs ... ok
test [ui] ui/mid-path-type-params.rs ... ok
test [ui] ui/methods/method-early-bound-lifetimes-on-self.rs ... ok
test [ui] ui/methods/method-self-arg-trait.rs ... ok
test [ui] ui/methods/method-self-arg.rs ... ok
test [ui] ui/methods/method-self-arg-aux2.rs ... ok
test [ui] ui/meta-revision-ok.rs#foo ... ok
test [ui] ui/match/match-ref-mut-stability.rs ... ok
test [ui] ui/methods/method-two-trait-defer-resolution-1.rs ... ok
test [ui] ui/meta-revision-ok.rs#bar ... ok
test [ui] ui/numbers-arithmetic/overflowing-lsh-1.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-lsh-2.rs ... ok
test [ui] ui/methods/method-two-traits-distinguished-via-where-clause.rs ... ok
test [ui] ui/meta-revision-bad.rs#bar ... ok
test [ui] ui/numbers-arithmetic/overflowing-lsh-3.rs ... ok
test [ui] ui/minmax-stability-issue-23687.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-lsh-4.rs ... ok
test [ui] ui/methods/method-self-arg-aux1.rs ... ok
test [ui] ui/methods/method-where-clause.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-1.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-2.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-3.rs ... ok
test [ui] ui/mir/mir-inlining/var-debuginfo-issue-67586.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-4.rs ... ok
test [ui] ui/numbers-arithmetic/saturating-float-casts-impl.rs ... ignored
test [ui] ui/numbers-arithmetic/saturating-float-casts-wasm.rs ... ignored
test [ui] ui/methods/method-two-trait-defer-resolution-2.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-5.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-rsh-6.rs ... ok
test [ui] ui/mir/mir-inlining/ice-issue-45493.rs ... ok
test [ui] ui/methods/method-argument-inference-associated-type.rs ... ok
test [ui] ui/mir/mir-inlining/no-trait-method-issue-40473.rs ... ok
test [ui] ui/mir/mir-inlining/ice-issue-45885.rs ... ok
test [ui] ui/mir/mir-typeck-normalize-fn-sig.rs ... ok
test [ui] ui/mir/mir_autoderef.rs ... ok
test [ui] ui/mir/mir_ascription_coercion.rs ... ok
test [ui] ui/mir/mir_adt_construction.rs ... ok
test [ui] ui/numeric/const-scope.rs ... ok
test [ui] ui/numeric/len.rs ... ok
test [ui] ui/mir/mir_build_match_comparisons.rs ... ok
test [ui] ui/mir/mir_assign_eval_order.rs ... ok
test [ui] ui/numeric/numeric-cast-2.rs ... ok
test [ui] ui/numeric/numeric-cast-no-fix.rs ... ok
test [ui] ui/numeric/numeric-cast-without-suggestion.rs ... ok
test [ui] ui/numeric/numeric-fields.rs ... ok
test [ui] ui/mir/mir_call_with_associated_type.rs ... ok
test [ui] ui/numeric/numeric-cast-binop.rs ... ok
test [ui] ui/mir/mir_augmented_assignments.rs ... ok
test [ui] ui/mir/mir_boxing.rs ... ok
test [ui] ui/mir/mir_cast_fn_ret.rs ... ok
test [ui] ui/numeric/numeric-cast.rs ... ok
test [ui] ui/object-does-not-impl-trait.rs ... ok
test [ui] ui/mir/mir_codegen_array_2.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-ambiguous.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-dyn-binding-nonstatic1.rs ... ok
test [ui] ui/numeric/numeric-suffix.rs ... ok
test [ui] ui/mir/mir_codegen_call_converging.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-dyn-binding-nonstatic2.rs ... ok
test [ui] ui/mir/mir_codegen_array.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-dyn-binding-nonstatic3.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-elision.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-from-box-error.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-dyn-binding-static.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-from-rptr-box-error.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-from-rptr-struct-error.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default.rs ... ok
test [ui] ui/object-lifetime/object-lifetime-default-mybox.rs ... ok
test [ui] ui/object-safety/object-safety-associated-consts.rs#curr ... ok
test [ui] ui/object-safety/object-safety-associated-consts.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-pointer-types.rs ... ok
test [ui] ui/object-safety/object-safety-generics.rs#curr ... ok
test [ui] ui/object-safety/object-safety-by-value-self-use.rs ... ok
test [ui] ui/object-safety/object-safety-issue-22040.rs ... ok
test [ui] ui/object-safety/object-safety-generics.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-safety/object-safety-mentions-Self.rs#curr ... ok
test [ui] ui/object-safety/object-safety-mentions-Self.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-safety/object-safety-by-value-self.rs ... ok
test [ui] ui/object-safety/object-safety-no-static.rs#curr ... ok
test [ui] ui/object-safety/object-safety-no-static.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-safety/object-safety-sized-2.rs#curr ... ok
test [ui] ui/object-safety/object-safety-sized-2.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-safety/object-safety-sized.rs#curr ... ok
test [ui] ui/object-safety/object-safety-sized.rs#object_safe_for_dispatch ... ok
test [ui] ui/object-safety/object-safety-supertrait-mentions-Self.rs ... ok
test [ui] ui/object-safety/object-safety-phantom-fn.rs ... ok
test [ui] ui/obsolete-in-place/bad.rs ... ok
test [ui] ui/obsolete-syntax-impl-for-dotdot.rs ... ok
test [ui] ui/mir/mir_codegen_calls.rs ... ok
test [ui] ui/mir/mir_calls_to_shims.rs ... ok
test [ui] ui/mir/mir_codegen_critical_edge.rs ... ok
test [ui] ui/occurs-check-2.rs ... ok
test [ui] ui/old-suffixes-are-really-forbidden.rs ... ok
test [ui] ui/occurs-check-3.rs ... ok
test [ui] ui/occurs-check.rs ... ok
test [ui] ui/on-unimplemented/bad-annotation.rs ... ok
test [ui] ui/on-unimplemented/expected-comma-found-token.rs ... ok
test [ui] ui/on-unimplemented/enclosing-scope.rs ... ok
test [ui] ui/on-unimplemented/feature-gate-on-unimplemented.rs ... ok
test [ui] ui/on-unimplemented/multiple-impls.rs ... ok
test [ui] ui/on-unimplemented/on-impl.rs ... ok
test [ui] ui/on-unimplemented/on-trait.rs ... ok
test [ui] ui/on-unimplemented/slice-index.rs ... ok
test [ui] ui/once-cant-call-twice-on-heap.rs ... ok
test [ui] ui/on-unimplemented/no-debug.rs ... ok
test [ui] ui/mir/mir_codegen_calls_converging_drops.rs ... ok
test [ui] ui/mir/mir_coercion_casts.rs ... ok
test [ui] ui/mir/mir_codegen_switch.rs ... ok
test [ui] ui/mir/mir_constval_adts.rs ... ok
test [ui] ui/mir/mir_codegen_spike1.rs ... ok
test [ui] ui/mir/mir_codegen_switchint.rs ... ok
test [ui] ui/opt-in-copy.rs ... ok
test [ui] ui/mir/mir_coercions.rs ... ok
test [ui] ui/mir/mir_codegen_calls_diverging.rs ... ok
test [ui] ui/option-to-result.rs ... ok
test [ui] ui/mir/mir_codegen_calls_diverging_drops.rs ... ok
test [ui] ui/or-patterns/already-bound-name.rs ... ok
test [ui] ui/mir/mir_fat_ptr.rs ... ok
test [ui] ui/mir/mir_fat_ptr_drop.rs ... ok
test [ui] ui/mir/mir_codegen_calls_converging_drops_2.rs ... ok
test [ui] ui/mir/mir_early_return_scope.rs ... ok
test [ui] ui/or-patterns/consistent-bindings.rs ... ok
test [ui] ui/or-patterns/const-fn.rs ... ok
test [ui] ui/or-patterns/exhaustiveness-non-exhaustive.rs ... ok
test [ui] ui/mir/mir_dynamic_drops_2.rs ... ok
test [ui] ui/mir/mir_drop_panics.rs ... ok
test [ui] ui/mir/mir_overflow_off.rs ... ok
test [ui] ui/or-patterns/exhaustiveness-pass.rs ... ok
test [ui] ui/mir/mir_static_subtype.rs ... ok
test [ui] ui/or-patterns/feature-gate-or_patterns-leading-for.rs ... ok
test [ui] ui/mir/mir_dynamic_drops_3.rs ... ok
test [ui] ui/or-patterns/exhaustiveness-unreachable-pattern.rs ... ok
test [ui] ui/or-patterns/feature-gate-or_patterns-leading-let.rs ... ok
test [ui] ui/or-patterns/feature-gate-or_patterns.rs ... ok
test [ui] ui/mir/mir_dynamic_drops_1.rs ... ok
test [ui] ui/mir/mir_match_test.rs ... ok
test [ui] ui/mir/mir_match_arm_guard.rs ... ok
test [ui] ui/or-patterns/inconsistent-modes.rs ... ok
test [ui] ui/or-patterns/fn-param-wrap-parens.rs ... ok
test [ui] ui/or-patterns/issue-67514-irrefutable-param.rs ... ok
test [ui] ui/or-patterns/issue-68785-irrefutable-param-with-at.rs ... ok
test [ui] ui/or-patterns/issue-69875-should-have-been-expanded-earlier-non-exhaustive.rs ... ok
test [ui] ui/or-patterns/issue-64879-trailing-before-guard.rs ... ok
test [ui] ui/or-patterns/issue-69875-should-have-been-expanded-earlier.rs ... ok
test [ui] ui/mir/mir_indexing_oob_3.rs ... ok
test [ui] ui/mir/mir_drop_order.rs ... ok
test [ui] ui/or-patterns/issue-70413-no-unreachable-pat-and-guard.rs ... ok
test [ui] ui/or-patterns/missing-bindings.rs ... ok
test [ui] ui/or-patterns/mismatched-bindings-async-fn.rs ... ok
test [ui] ui/or-patterns/multiple-pattern-typo.rs ... ok
test [ui] ui/or-patterns/or-patterns-binding-type-mismatch.rs ... ok
test [ui] ui/mir/mir_misc_casts.rs ... ok
test [ui] ui/or-patterns/or-patterns-syntactic-pass.rs ... ok
test [ui] ui/or-patterns/or-patterns-default-binding-modes.rs ... ok
test [ui] ui/or-patterns/or-patterns-syntactic-fail.rs ... ok
test [ui] ui/or-patterns/remove-leading-vert.rs ... ok
test [ui] ui/or-patterns/while-parsing-this-or-pattern.rs ... ok
test [ui] ui/order-dependent-cast-inference.rs ... ok
test [ui] ui/osx-frameworks.rs ... ok
test [ui] ui/orphan-check-diagnostics.rs ... ok
test [ui] ui/out-of-order-shadowing.rs ... ok
test [ui] ui/mir/mir_void_return.rs ... ok
test [ui] ui/mir/mir_void_return_2.rs ... ok
test [ui] ui/mir/mir_indexing_oob_2.rs ... ok
test [ui] ui/mir/mir_indexing_oob_1.rs ... ok
test [ui] ui/mir/mir_small_agg_arg.rs ... ok
test [ui] ui/output-type-mismatch.rs ... ok
test [ui] ui/overloaded-calls-nontuple.rs ... ok
test [ui] ui/mir/mir_temp_promotions.rs ... ok
test [ui] ui/mir/mir_raw_fat_ptr.rs ... ok
test [ui] ui/mir/mir_struct_with_assoc_ty.rs ... ok
test [ui] ui/modules/mod-view-items.rs ... ok
test [ui] ui/mir/mir_refs_correct.rs ... ok
test [ui] ui/modules/mod_dir_implicit.rs ... ok
test [ui] ui/modules/mod_dir_path2.rs ... ok
test [ui] ui/modules/mod-inside-fn.rs ... ok
test [ui] ui/modules/mod_dir_path.rs ... ok
test [ui] ui/modules/mod_dir_recursive.rs ... ok
test [ui] ui/modules/mod_file.rs ... ok
test [ui] ui/modules/mod_dir_path3.rs ... ok
test [ui] ui/modules/mod_file_with_path_attr.rs ... ok
test [ui] ui/modules/mod_dir_simple.rs ... ok
test [ui] ui/monomorphize-abi-alignment.rs ... ok
test [ui] ui/monomorphized-callees-with-ty-params-3314.rs ... ok
test [ui] ui/moves/move-2.rs ... ok
test [ui] ui/monad.rs ... ok
test [ui] ui/moves/move-2-unique.rs ... ok
test [ui] ui/moves/move-1-unique.rs ... ok
test [ui] ui/packed-struct/packed-struct-generic-transmute.rs ... ok
test [ui] ui/packed-struct/packed-struct-transmute.rs ... ok
test [ui] ui/nested-class.rs ... ok
test [ui] ui/moves/move-nullary-fn.rs ... ok
test [ui] ui/moves/move-4.rs ... ok
test [ui] ui/moves/move-3-unique.rs ... ok
test [ui] ui/moves/move-arg-2-unique.rs ... ok
test [ui] ui/moves/move-4-unique.rs ... ok
test [ui] ui/moves/move-arg.rs ... ok
test [ui] ui/moves/move-arg-2.rs ... ok
test [ui] ui/moves/move-scalar.rs ... ok
test [ui] ui/multidispatch-conditional-impl-not-considered.rs ... ok
test [ui] ui/msvc-data-only.rs ... ok
test [ui] ui/multidispatch2.rs ... ok
test [ui] ui/multidispatch1.rs ... ok
test [ui] ui/mut-function-arguments.rs ... ok
test [ui] ui/panic-handler/panic-handler-bad-signature-1.rs ... ok
test [ui] ui/panic-handler/panic-handler-bad-signature-2.rs ... ok
test [ui] ui/multibyte.rs ... ok
test [ui] ui/panic-handler/panic-handler-bad-signature-3.rs ... ok
test [ui] ui/panic-handler/panic-handler-bad-signature-4.rs ... ok
test [ui] ui/panic-handler/panic-handler-requires-panic-info.rs ... ok
test [ui] ui/panic-handler/panic-handler-duplicate.rs ... ok
test [ui] ui/panic-handler/panic-handler-wrong-location.rs ... ok
test [ui] ui/panic-handler/panic-handler-std.rs ... ok
test [ui] ui/native-print-no-runtime.rs ... ok
test [ui] ui/panic-runtime/bad-panic-flag1.rs ... ok
test [ui] ui/panic-runtime/bad-panic-flag2.rs ... ok
test [ui] ui/moves/moves-based-on-type-capture-clause.rs ... ok
test [ui] ui/mut-vstore-expr.rs ... ok
test [ui] ui/multiline-comment.rs ... ok
test [ui] ui/panic-runtime/abort-link-to-unwind-dylib.rs ... ok
test [ui] ui/panic-runtime/needs-gate.rs ... ok
test [ui] ui/mut/no-mut-lint-for-desugared-mut.rs ... ok
test [ui] ui/moves/move-out-of-field.rs ... ok
test [ui] ui/negative.rs ... ok
test [ui] ui/nested_item_main.rs ... ok
test [ui] ui/nested-function-names-issue-8587.rs ... ok
test [ui] ui/mutual-recursion-group.rs ... ok
test [ui] ui/nested-block-comment.rs ... ok
test [ui] ui/panic_implementation-closures.rs ... ok
test [ui] ui/modules/mod_dir_path_multi.rs ... ok
test [ui] ui/never_type/dispatch_from_dyn_zst.rs ... ok
test [ui] ui/panic-runtime/transitive-link-a-bunch.rs ... ok
test [ui] ui/never_type/never-result.rs ... ok
test [ui] ui/panic-runtime/want-unwind-got-abort.rs ... ok
test [ui] ui/mir/mir_heavy_promoted.rs ... ok
test [ui] ui/never_type/never-type-rvalues.rs ... ok
test [ui] ui/panic-runtime/want-unwind-got-abort2.rs ... ok
test [ui] ui/never_type/impl-for-never.rs ... ok
test [ui] ui/never_type/never_coercions.rs ... ok
test [ui] ui/multiple-reprs.rs ... ok
test [ui] ui/never_type/never-value-fallback-issue-66757.rs ... ok
test [ui] ui/new-box-syntax.rs ... ok
test [ui] ui/newlambdas-ret-infer2.rs ... ok
test [ui] ui/new-style-constants.rs ... ok
test [ui] ui/new-unicode-escapes.rs ... ok
test [ui] ui/new-unsafe-pointers.rs ... ok
test [ui] ui/newlambdas.rs ... ok
test [ui] ui/newlambdas-ret-infer.rs ... ok
test [ui] ui/never_type/try_from.rs ... ok
test [ui] ui/new-import-syntax.rs ... ok
test [ui] ui/new-impl-syntax.rs ... ok
test [ui] ui/nil-decl-in-foreign.rs ... ok
test [ui] ui/newtype-temporary.rs ... ok
test [ui] ui/never_type/return-never-coerce.rs ... ok
test [ui] ui/nll/borrowck-thread-local-static-mut-borrow-outlives-fn.rs ... ok
test [ui] ui/new-box.rs ... ok
test [ui] ui/newtype.rs ... ok
test [ui] ui/nll/issue-48070.rs#nll ... ok
test [ui] ui/nll/issue-48623-generator.rs ... ok
test [ui] ui/newtype-polymorphic.rs ... ok
test [ui] ui/nll/borrow-use-issue-46875.rs ... ok
test [ui] ui/nll/issue-48070.rs#lxl ... ok
test [ui] ui/nll/issue-48623-closure.rs ... ok
test [ui] ui/nll/issue-47589.rs ... ok
test [ui] ui/never_type/diverging-fallback-control-flow.rs ... ok
test [ui] ui/nll/issue-50343.rs ... ok
test [ui] ui/nll/issue-47153-generic-const.rs ... ok
test [ui] ui/paren-span.rs ... ok
test [ui] ui/parenthesized-deref-suggestion.rs ... ok
test [ui] ui/parse-error-correct.rs ... ok
test [ui] ui/nll/issue-50461-used-mut-from-moves.rs ... ok
test [ui] ui/parser-recovery-1.rs ... ok
test [ui] ui/nll/mutating_references.rs ... ok
test [ui] ui/parser-recovery-2.rs ... ok
test [ui] ui/nll/user-annotations/issue-55241.rs ... ok
test [ui] ui/nll/issue-57960.rs ... ok
test [ui] ui/parser/ascii-only-character-escape.rs ... ok
test [ui] ui/parser/assoc-oddities-1.rs ... ok
test [ui] ui/parser/assoc-const-underscore-semantic-fail.rs ... ok
test [ui] ui/parser/assoc-const-underscore-syntactic-pass.rs ... ok
test [ui] ui/parser/assoc-oddities-2.rs ... ok
test [ui] ui/no-core-1.rs ... ok
test [ui] ui/parser/assoc-static-semantic-fail.rs ... ok
test [ui] ui/parser/assoc-static-syntactic-fail.rs ... ok
test [ui] ui/parser/assoc-type-in-type-arg.rs ... ok
test [ui] ui/parser/attr-bad-meta-2.rs ... ok
test [ui] ui/parser/attr-bad-meta.rs ... ok
test [ui] ui/parser/attr-bad-meta-3.rs ... ok
test [ui] ui/parser/associated-types-project-from-hrtb-explicit.rs ... ok
test [ui] ui/parser/attr-before-eof.rs ... ok
test [ui] ui/parser/attr-dangling-in-mod.rs ... ok
test [ui] ui/parser/attr-dangling-in-fn.rs ... ok
test [ui] ui/parser/attr.rs ... ok
test [ui] ui/parser/attr-stmt-expr-attr-bad.rs ... ok
test [ui] ui/parser/attrs-after-extern-mod.rs ... ok
test [ui] ui/no-core-2.rs ... ok
test [ui] ui/parser/bad-char-literals.rs ... ok
test [ui] ui/parser/bad-interpolated-block.rs ... ok
test [ui] ui/parser/bad-lit-suffixes.rs ... ok
test [ui] ui/parser/bad-match.rs ... ok
test [ui] ui/parser/bad-pointer-type.rs ... ok
test [ui] ui/no-std-2.rs ... ok
test [ui] ui/nll/rc-loop.rs ... ok
test [ui] ui/parser/bad-name.rs ... ok
test [ui] ui/parser/bad-fn-ptr-qualifier.rs ... ok
test [ui] ui/parser/bad-value-ident-false.rs ... ok
test [ui] ui/parser/bad-value-ident-true.rs ... ok
test [ui] ui/parser/bounds-lifetime-1.rs ... ok
test [ui] ui/parser/bound-single-question-mark.rs ... ok
test [ui] ui/no-std-1.rs ... ok
test [ui] ui/parser/better-expected.rs ... ok
test [ui] ui/parser/bind-struct-early-modifiers.rs ... ok
test [ui] ui/parser/block-no-opening-brace.rs ... ok
test [ui] ui/no-std-3.rs ... ok
test [ui] ui/parser/bounds-lifetime-2.rs ... ok
test [ui] ui/parser/bounds-lifetime-where.rs ... ok
test [ui] ui/parser/bounds-lifetime-where-1.rs ... ok
test [ui] ui/parser/circular_modules_hello.rs ... ignored
test [ui] ui/parser/bounds-lifetime.rs ... ok
test [ui] ui/parser/bounds-type-where.rs ... ok
test [ui] ui/parser/byte-string-literals.rs ... ok
test [ui] ui/parser/class-implements-bad-trait.rs ... ok
test [ui] ui/parser/bounds-type.rs ... ok
test [ui] ui/parser/byte-literals.rs ... ok
test [ui] ui/parser/brace-after-qualified-path-in-match.rs ... ok
test [ui] ui/parser/circular_modules_main.rs ... ok
test [ui] ui/parser/column-offset-1-based.rs ... ok
test [ui] ui/nll/process_or_insert_default.rs ... ok
test [ui] ui/parser/default-unmatched-assoc.rs ... ok
test [ui] ui/parser/default-on-wrong-item-kind.rs ... ok
test [ui] ui/parser/closure-return-syntax.rs ... ok
test [ui] ui/parser/default-unmatched.rs ... ok
test [ui] ui/parser/constraints-before-generic-args-syntactic-pass.rs ... ok
test [ui] ui/parser/bounds-obj-parens.rs ... ok
test [ui] ui/parser/default-unmatched-extern.rs ... ok
test [ui] ui/non-built-in-quote.rs ... ok
test [ui] ui/parser/default.rs ... ok
test [ui] ui/parser/doc-before-eof.rs ... ok
test [ui] ui/parser/doc-before-attr.rs ... ok
test [ui] ui/non_modrs_mods/non_modrs_mods.rs ... ok
test [ui] ui/parser/doc-before-mod-rbrace.rs ... ok
test [ui] ui/parser/doc-before-identifier.rs ... ok
test [ui] ui/parser/doc-before-fn-rbrace.rs ... ok
test [ui] ui/parser/doc-before-extern-rbrace.rs ... ok
test [ui] ui/parser/doc-after-struct-field.rs ... ok
test [ui] ui/parser/doc-before-rbrace.rs ... ok
test [ui] ui/parser/empty-impl-semicolon.rs ... ok
test [ui] ui/parser/doc-before-struct-rbrace-2.rs ... ok
test [ui] ui/parser/doc-before-semi.rs ... ok
test [ui] ui/parser/doc-before-struct-rbrace-1.rs ... ok
test [ui] ui/parser/doc-inside-trait-item.rs ... ok
test [ui] ui/parser/duplicate-visibility.rs ... ok
test [ui] ui/parser/doc-comment-in-stmt.rs ... ok
test [ui] ui/parser/doc-comment-in-if-statement.rs ... ok
test [ui] ui/parser/do-catch-suggests-try.rs ... ok
test [ui] ui/parser/extern-crate-unexpected-token.rs ... ok
test [ui] ui/parser/extern-abi-string-escaping.rs ... ok
test [ui] ui/parser/chained-comparison-suggestion.rs ... ok
test [ui] ui/parser/extern-expected-fn-or-brace.rs ... ok
test [ui] ui/parser/extern-abi-from-mac-literal-frag.rs ... ok
test [ui] ui/parser/extern-abi-raw-strings.rs ... ok
test [ui] ui/parser/extern-foreign-crate.rs ... ok
test [ui] ui/nullable-pointer-ffi-compat.rs ... ok
test [ui] ui/parser/extern-crate-async.rs ... ok
test [ui] ui/parser/extern-abi-syntactic.rs ... ok
test [ui] ui/parser/extern-no-fn.rs ... ok
test [ui] ui/parser/float-field-interpolated.rs ... ok
test [ui] ui/parser/foreign-const-semantic-fail.rs ... ok
test [ui] ui/parser/fn-body-eq-expr-semi.rs ... ok
test [ui] ui/parser/fn-header-syntactic-pass.rs ... ok
test [ui] ui/parser/fn-body-optional-syntactic-pass.rs ... ok
test [ui] ui/parser/fn-body-optional-semantic-fail.rs ... ok
test [ui] ui/parser/foreign-const-syntactic-fail.rs ... ok
test [ui] ui/parser/foreign-static-semantic-fail.rs ... ok
test [ui] ui/parser/fn-header-semantic-fail.rs ... ok
test [ui] ui/parser/foreign-static-syntactic-pass.rs ... ok
test [ui] ui/parser/float-field.rs ... ok
test [ui] ui/parser/foreign-ty-semantic-fail.rs ... ok
test [ui] ui/non-legacy-modes.rs ... ok
test [ui] ui/parser/foreign-ty-syntactic-pass.rs ... ok
test [ui] ui/parser/impl-qpath.rs ... ok
test [ui] ui/parser/impl-parsing.rs ... ok
test [ui] ui/parser/impl-item-fn-no-body-pass.rs ... ok
test [ui] ui/parser/import-from-path.rs ... ok
test [ui] ui/parser/impl-item-const-pass.rs ... ok
test [ui] ui/parser/impl-item-const-semantic-fail.rs ... ok
test [ui] ui/parser/impl-item-type-no-body-semantic-fail.rs ... ok
test [ui] ui/parser/impl-item-fn-no-body-semantic-fail.rs ... ok
test [ui] ui/parser/import-glob-path.rs ... ok
test [ui] ui/parser/import-from-rename.rs ... ok
test [ui] ui/parser/impl-item-type-no-body-pass.rs ... ok
test [ui] ui/parser/import-glob-rename.rs ... ok
test [ui] ui/parser/fn-arg-doc-comment.rs ... ok
test [ui] ui/parser/int-literal-too-large-span.rs ... ok
test [ui] ui/parser/inner-attr-in-trait-def.rs ... ok
test [ui] ui/parser/inner-attr.rs ... ok
test [ui] ui/parser/inner-attr-after-doc-comment.rs ... ok
test [ui] ui/parser/intersection-patterns.rs ... ok
test [ui] ui/nullable-pointer-size.rs ... ok
test [ui] ui/parser/if-in-in.rs ... ok
test [ui] ui/parser/issue-14303-fn-def.rs ... ok
test [ui] ui/parser/issue-10392.rs ... ok
test [ui] ui/parser/inverted-parameters.rs ... ok
test [ui] ui/parser/issue-10636-1.rs ... ok
test [ui] ui/parser/issue-14303-enum.rs ... ok
test [ui] ui/parser/issue-10636-2.rs ... ok
test [ui] ui/parser/issue-14303-path.rs ... ok
test [ui] ui/parser/issue-1655.rs ... ok
test [ui] ui/parser/issue-14303-impl.rs ... ok
test [ui] ui/parser/issue-17904-2.rs ... ok
test [ui] ui/parser/issue-14303-struct.rs ... ok
test [ui] ui/parser/issue-17904.rs ... ok
test [ui] ui/parser/issue-15914.rs ... ok
test [ui] ui/parser/issue-15980.rs ... ok
test [ui] ui/parser/issue-14303-trait.rs ... ok
test [ui] ui/parser/issue-17718-const-mut.rs ... ok
test [ui] ui/parser/issue-14303-fncall.rs ... ok
test [ui] ui/parser/issue-17383.rs ... ok
test [ui] ui/parser/issue-10392-2.rs ... ok
test [ui] ui/parser/issue-1802-1.rs ... ok
test [ui] ui/parser/expr-as-stmt.rs ... ok
test [ui] ui/parser/issue-2354-1.rs ... ok
test [ui] ui/parser/issue-19398.rs ... ok
test [ui] ui/parser/issue-22647.rs ... ok
test [ui] ui/parser/issue-19096.rs ... ok
test [ui] ui/parser/issue-1802-2.rs ... ok
test [ui] ui/parser/issue-20711-2.rs ... ok
test [ui] ui/parser/issue-20711.rs ... ok
test [ui] ui/parser/issue-24780.rs ... ok
test [ui] ui/parser/issue-23620-invalid-escapes.rs ... ok
test [ui] ui/parser/issue-21153.rs ... ok
test [ui] ui/parser/issue-22712.rs ... ok
test [ui] ui/parser/issue-2354.rs ... ok
test [ui] ui/parser/issue-24375.rs ... ok
test [ui] ui/parser/issue-24197.rs ... ok
test [ui] ui/nul-characters.rs ... ok
test [ui] ui/parser/issue-33455.rs ... ok
test [ui] ui/parser/issue-32501.rs ... ok
test [ui] ui/parser/issue-32446.rs ... ok
test [ui] ui/parser/issue-33262.rs ... ok
test [ui] ui/parser/issue-30318.rs ... ok
test [ui] ui/parser/issue-32214.rs ... ok
test [ui] ui/parser/issue-32505.rs ... ok
test [ui] ui/parser/issue-27255.rs ... ok
test [ui] ui/parser/issue-33413.rs ... ok
test [ui] ui/parser/issue-5806.rs ... ok
test [ui] ui/parser/issue-58094-missing-right-square-bracket.rs ... ok
test [ui] ui/parser/issue-41155.rs ... ok
test [ui] ui/parser/issue-48137-macros-cannot-interpolate-impl-items-bad-variants.rs ... ok
test [ui] ui/parser/issue-43692.rs ... ok
test [ui] ui/parser/issue-62546.rs ... ok
test [ui] ui/parser/issue-5544-a.rs ... ok
test [ui] ui/parser/issue-5544-b.rs ... ok
test [ui] ui/parser/issue-48137-macros-cannot-interpolate-impl-items.rs ... ok
test [ui] ui/parser/issue-62524.rs ... ok
test [ui] ui/parser/issue-62881.rs ... ok
test [ui] ui/parser/issue-33418.rs ... ok
test [ui] ui/parser/issue-35813-postfix-after-cast.rs ... ok
test [ui] ui/parser/issue-59418.rs ... ok
test [ui] ui/parser/issue-62660.rs ... ok
test [ui] ui/parser/issue-3036.rs ... ok
test [ui] ui/parser/issue-62913.rs ... ok
test [ui] ui/parser/issue-63116.rs ... ok
test [ui] ui/parser/issue-63135.rs ... ok
test [ui] ui/parser/issue-66357-unexpected-unreachable.rs ... ok
test [ui] ui/parser/issue-62973.rs ... ok
test [ui] ui/parser/issue-62894.rs ... ok
test [ui] ui/parser/issue-68730.rs ... ok
test [ui] ui/parser/issue-62895.rs ... ok
test [ui] ui/parser/issue-6610.rs ... ok
test [ui] ui/parser/issue-63115-range-pat-interpolated.rs ... ok
test [ui] ui/parser/issue-65041-empty-vis-matcher-in-trait.rs ... ok
test [ui] ui/parser/issue-65122-mac-invoc-in-mut-patterns.rs ... ok
test [ui] ui/parser/issue-65041-empty-vis-matcher-in-enum.rs ... ok
test [ui] ui/parser/issue-68890.rs ... ok
test [ui] ui/parser/issue-68629.rs ... ok
test [ui] ui/parser/issue-67377-invalid-syntax-in-enum-discriminant.rs ... ok
test [ui] ui/parser/issue-70583-block-is-empty-2.rs ... ok
test [ui] ui/parser/issue-70583-block-is-empty-1.rs ... ok
test [ui] ui/parser/issue-68890-2.rs ... ok
test [ui] ui/numbers-arithmetic/arith-2.rs ... ok
test [ui] ui/parser/issue-68788-in-trait-item-propagation.rs ... ok
test [ui] ui/parser/issue-8537.rs ... ok
test [ui] ui/parser/issue-70552-ascription-in-parens-after-call.rs ... ok
test [ui] ui/parser/issue-70549-resolve-after-recovered-self-ctor.rs ... ok
test [ui] ui/parser/issue-70050-ntliteral-accepts-negated-lit.rs ... ok
test [ui] ui/parser/item-free-const-no-body-semantic-fail.rs ... ok
test [ui] ui/parser/item-free-const-no-body-syntactic-pass.rs ... ok
test [ui] ui/parser/issue-67146-negative-outlives-bound-syntactic-fail.rs ... ok
test [ui] ui/parser/item-free-static-no-body-semantic-fail.rs ... ok
test [ui] ui/parser/item-free-static-no-body-syntactic-pass.rs ... ok
test [ui] ui/parser/item-free-type-bounds-syntactic-pass.rs ... ok
test [ui] ui/parser/item-free-type-bounds-semantic-fail.rs ... ok
test [ui] ui/parser/keyword-box-as-identifier.rs ... ok
test [ui] ui/parser/keyword-as-as-identifier.rs ... ok
test [ui] ui/parser/keyword-abstract.rs ... ok
test [ui] ui/parser/keyword-break-as-identifier.rs ... ok
test [ui] ui/parser/keyword-const-as-identifier.rs ... ok
test [ui] ui/parser/issue-65257-invalid-var-decl-recovery.rs ... ok
test [ui] ui/parser/issue-70388-without-witness.rs ... ok
test [ui] ui/parser/keyword-continue-as-identifier.rs ... ok
test [ui] ui/parser/keyword-else-as-identifier.rs ... ok
test [ui] ui/parser/keyword-enum-as-identifier.rs ... ok
test [ui] ui/parser/keyword-final.rs ... ok
test [ui] ui/parser/keyword-for-as-identifier.rs ... ok
test [ui] ui/parser/keyword-if-as-identifier.rs ... ok
test [ui] ui/parser/keyword-impl-as-identifier.rs ... ok
test [ui] ui/parser/keyword-fn-as-identifier.rs ... ok
test [ui] ui/parser/issue-70388-recover-dotdotdot-rest-pat.rs ... ok
test [ui] ui/parser/keyword-match-as-identifier.rs ... ok
test [ui] ui/parser/keyword-let-as-identifier.rs ... ok
test [ui] ui/parser/keyword-loop-as-identifier.rs ... ok
test [ui] ui/parser/keyword-mut-as-identifier.rs ... ok
test [ui] ui/parser/keyword-in-as-identifier.rs ... ok
test [ui] ui/parser/keyword-mod-as-identifier.rs ... ok
test [ui] ui/parser/keyword-pub-as-identifier.rs ... ok
test [ui] ui/parser/keyword-override.rs ... ok
test [ui] ui/parser/keyword-move-as-identifier.rs ... ok
test [ui] ui/parser/keyword-return-as-identifier.rs ... ok
test [ui] ui/parser/keyword-ref-as-identifier.rs ... ok
test [ui] ui/parser/keyword-struct-as-identifier.rs ... ok
test [ui] ui/parser/keyword-static-as-identifier.rs ... ok
test [ui] ui/parser/keyword-try-as-identifier-edition2018.rs ... ok
test [ui] ui/parser/keyword-trait-as-identifier.rs ... ok
test [ui] ui/parser/keyword-while-as-identifier.rs ... ok
test [ui] ui/parser/keyword-unsafe-as-identifier.rs ... ok
test [ui] ui/parser/keyword-where-as-identifier.rs ... ok
test [ui] ui/parser/keyword-use-as-identifier.rs ... ok
test [ui] ui/parser/keyword-type-as-identifier.rs ... ok
test [ui] ui/parser/keyword.rs ... ok
test [ui] ui/parser/keyword-typeof.rs ... ok
test [ui] ui/parser/keywords-followed-by-double-colon.rs ... ok
test [ui] ui/parser/lex-bad-binary-literal.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-1.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-4.rs ... ok
test [ui] ui/parser/labeled-no-colon-expr.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-7.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-3.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-5.rs ... ok
test [ui] ui/parser/lex-bad-octal-literal.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-2.rs ... ok
test [ui] ui/parser/lex-bad-numeric-literals.rs ... ok
test [ui] ui/parser/lex-bare-cr-string-literal-doc-comment.rs ... ok
test [ui] ui/parser/lex-stray-backslash.rs ... ok
test [ui] ui/parser/lex-bad-token.rs ... ok
test [ui] ui/numbers-arithmetic/arith-0.rs ... ok
test [ui] ui/parser/macro-bad-delimiter-ident.rs ... ok
test [ui] ui/parser/macro-keyword.rs ... ok
test [ui] ui/parser/let-binop.rs ... ok
test [ui] ui/parser/lifetime-semicolon.rs ... ok
test [ui] ui/parser/lifetime-in-pattern.rs ... ok
test [ui] ui/parser/macro-mismatched-delim-paren-brace.rs ... ok
test [ui] ui/parser/macro/bad-macro-argument.rs ... ok
test [ui] ui/parser/macro-mismatched-delim-brace-paren.rs ... ok
test [ui] ui/parser/macro/issue-37234.rs ... ok
test [ui] ui/parser/macro/issue-33569.rs ... ok
test [ui] ui/parser/macro/issue-37113.rs ... ok
test [ui] ui/parser/macro/macro-doc-comments-2.rs ... ok
test [ui] ui/parser/macro/literals-are-validated-before-expansion.rs ... ok
test [ui] ui/parser/macro/macro-doc-comments-1.rs ... ok
test [ui] ui/parser/lex-bad-char-literals-6.rs ... ok
test [ui] ui/parser/macro/macro-incomplete-parse.rs ... ok
test [ui] ui/parser/macro/pub-item-macro.rs ... ok
test [ui] ui/parser/mod_file_not_exist_windows.rs ... ignored
test [ui] ui/parser/macro/macro-repeat.rs ... ok
test [ui] ui/parser/macros-no-semicolon.rs ... ok
test [ui] ui/parser/macros-no-semicolon-items.rs ... ok
test [ui] ui/parser/macro/trait-object-macro-matcher.rs ... ok
test [ui] ui/parser/mismatched-delim-brace-empty-block.rs ... ok
test [ui] ui/parser/mod_file_with_path_attr.rs ... ok
test [ui] ui/parser/missing_right_paren.rs ... ok
test [ui] ui/parser/multitrait.rs ... ok
test [ui] ui/parser/lifetime-in-pattern-recover.rs ... ok
test [ui] ui/parser/multiline-comment-line-tracking.rs ... ok
test [ui] ui/parser/mismatched-braces/missing-close-brace-in-struct.rs ... ok
test [ui] ui/parser/missing-semicolon.rs ... ok
test [ui] ui/parser/match-arrows-block-then-binop.rs ... ok
test [ui] ui/parser/mbe_missing_right_paren.rs ... ok
test [ui] ui/parser/mismatched-braces/missing-close-brace-in-trait.rs ... ok
test [ui] ui/parser/mismatched-braces/missing-close-brace-in-impl-trait.rs ... ok
test [ui] ui/parser/mod_file_not_exist.rs ... ok
test [ui] ui/parser/mut-patterns.rs ... ok
test [ui] ui/numbers-arithmetic/div-mod.rs ... ok
test [ui] ui/parser/new-unicode-escapes-1.rs ... ok
test [ui] ui/parser/no-binary-float-literal.rs ... ok
test [ui] ui/parser/new-unicode-escapes-2.rs ... ok
test [ui] ui/parser/new-unicode-escapes-3.rs ... ok
test [ui] ui/parser/not-a-pred.rs ... ok
test [ui] ui/parser/new-unicode-escapes-4.rs ... ok
test [ui] ui/parser/no-unsafe-self.rs ... ok
test [ui] ui/parser/no-const-fn-in-extern-block.rs ... ok
test [ui] ui/parser/macro/trait-non-item-macros.rs ... ok
test [ui] ui/parser/pat-lt-bracket-1.rs ... ok
test [ui] ui/parser/paren-after-qualified-path-in-match.rs ... ok
test [ui] ui/parser/omitted-arg-in-item-fn.rs ... ok
test [ui] ui/parser/pat-lt-bracket-2.rs ... ok
test [ui] ui/parser/match-refactor-to-expr.rs ... ok
test [ui] ui/parser/paamayim-nekudotayim.rs ... ok
test [ui] ui/parser/no-hex-float-literal.rs ... ok
test [ui] ui/parser/pat-ranges-1.rs ... ok
test [ui] ui/parser/pat-lt-bracket-5.rs ... ok
test [ui] ui/parser/pat-lt-bracket-4.rs ... ok
test [ui] ui/parser/pat-lt-bracket-3.rs ... ok
test [ui] ui/parser/pat-ranges-3.rs ... ok
test [ui] ui/parser/pat-ranges-2.rs ... ok
test [ui] ui/parser/pat-ranges-4.rs ... ok
test [ui] ui/parser/pat-tuple-1.rs ... ok
test [ui] ui/parser/pat-ref-enum.rs ... ok
test [ui] ui/parser/raw/issue-70677-panic-on-unterminated-raw-str-at-eof.rs ... ok
test [ui] ui/parser/pat-tuple-3.rs ... ok
test [ui] ui/parser/pat-tuple-2.rs ... ok
test [ui] ui/parser/range-3.rs ... ok
test [ui] ui/parser/range-4.rs ... ok
test [ui] ui/parser/pub-method-macro.rs ... ok
test [ui] ui/parser/raw/raw-byte-string-eof.rs ... ok
test [ui] ui/parser/raw/raw-byte-string-literals.rs ... ok
test [ui] ui/parser/numeric-lifetime.rs ... ok
test [ui] ui/parser/raw/raw-str-delim.rs ... ok
test [ui] ui/parser/range_inclusive_dotdotdot.rs ... ok
test [ui] ui/parser/raw/raw-literal-self.rs ... ok
test [ui] ui/parser/raw/raw-str-unterminated.rs ... ok
test [ui] ui/parser/raw/raw-str-unbalanced.rs ... ok
test [ui] ui/parser/raw/raw-string-2.rs ... ok
test [ui] ui/parser/raw/raw-literal-underscore.rs ... ok
test [ui] ui/parser/raw/raw-literal-keywords.rs ... ok
test [ui] ui/parser/raw/raw-string.rs ... ok
test [ui] ui/parser/nt-parsing-has-recovery.rs ... ok
test [ui] ui/parser/raw/raw-str-in-macro-call.rs ... ok
test [ui] ui/parser/recover-assoc-const-constraint.rs ... ok
test [ui] ui/parser/recover-enum2.rs ... ok
test [ui] ui/parser/recover-assoc-lifetime-constraint.rs ... ok
test [ui] ui/parser/qualified-path-in-turbofish.rs ... ok
test [ui] ui/parser/recover-assoc-eq-missing-term.rs ... ok
test [ui] ui/parser/pat-lt-bracket-7.rs ... ok
test [ui] ui/parser/pat-lt-bracket-6.rs ... ok
test [ui] ui/parser/recover-enum.rs ... ok
test [ui] ui/parser/recover-field-extra-angle-brackets.rs ... ok
test [ui] ui/parser/recover-from-bad-variant.rs ... ok
test [ui] ui/parser/range_inclusive.rs ... ok
test [ui] ui/parser/removed-syntax-enum-newtype.rs ... ok
test [ui] ui/parser/removed-syntax-closure-lifetime.rs ... ok
test [ui] ui/parser/recover-quantified-closure.rs ... ok
test [ui] ui/parser/recover-tuple-pat.rs ... ok
test [ui] ui/parser/recovered-struct-variant.rs ... ok
test [ui] ui/parser/recover-struct.rs ... ok
test [ui] ui/parser/recover-range-pats.rs ... ok
test [ui] ui/parser/regions-out-of-scope-slice.rs ... ok
test [ui] ui/parser/removed-syntax-fixed-vec.rs ... ok
test [ui] ui/parser/removed-syntax-mut-vec-ty.rs ... ok
test [ui] ui/parser/removed-syntax-ptr-lifetime.rs ... ok
test [ui] ui/parser/removed-syntax-field-let.rs ... ok
test [ui] ui/parser/recover-from-homoglyph.rs ... ok
test [ui] ui/parser/removed-syntax-record.rs ... ok
test [ui] ui/parser/removed-syntax-uniq-mut-ty.rs ... ok
test [ui] ui/parser/removed-syntax-mut-vec-expr.rs ... ok
test [ui] ui/parser/removed-syntax-fn-sigil.rs ... ok
test [ui] ui/parser/removed-syntax-uniq-mut-expr.rs ... ok
test [ui] ui/parser/removed-syntax-field-semicolon.rs ... ok
test [ui] ui/parser/recover-missing-semi.rs ... ok
test [ui] ui/parser/removed-syntax-mode.rs ... ok
test [ui] ui/parser/removed-syntax-static-fn.rs ... ok
test [ui] ui/parser/recover-labeled-non-block-expr.rs ... ok
test [ui] ui/parser/shebang/issue-71471-ignore-tidy.rs ... ok
test [ui] ui/parser/self-in-function-arg.rs ... ok
test [ui] ui/parser/recover-for-loop-parens-around-head.rs ... ok
test [ui] ui/parser/require-parens-for-chained-comparison.rs ... ok
test [ui] ui/parser/self-param-syntactic-pass.rs ... ok
test [ui] ui/parser/recover-const-async-fn-ptr.rs ... ok
test [ui] ui/parser/recover-tuple.rs ... ok
test [ui] ui/parser/removed-syntax-with-1.rs ... ok
test [ui] ui/parser/removed-syntax-with-2.rs ... ok
test [ui] ui/parser/shebang/shebang-doc-comment.rs ... ok
test [ui] ui/parser/self-param-semantic-fail.rs ... ok
test [ui] ui/parser/several-carriage-returns-in-doc-comment.rs ... ok
test [ui] ui/parser/shebang/multiline-attrib.rs ... ok
test [ui] ui/parser/shebang/shebang-and-attrib.rs ... ok
test [ui] ui/parser/shebang/shebang-must-start-file.rs ... ok
test [ui] ui/parser/shebang/regular-attrib.rs ... ok
test [ui] ui/parser/shebang/shebang-comment.rs ... ok
test [ui] ui/parser/shebang/shebang-empty.rs ... ok
test [ui] ui/parser/struct-field-numeric-shorthand.rs ... ok
test [ui] ui/parser/shebang/shebang-space.rs ... ok
test [ui] ui/parser/stmt_expr_attrs_placement.rs ... ok
test [ui] ui/parser/shebang/sneaky-attrib.rs ... ok
test [ui] ui/parser/struct-literal-in-if.rs ... ok
test [ui] ui/parser/stripped-nested-outline-mod-pass.rs ... ok
test [ui] ui/parser/shebang/valid-shebang.rs ... ok
test [ui] ui/parser/struct-literal-in-match-discriminant.rs ... ok
test [ui] ui/parser/struct-literal-in-while.rs ... ok
test [ui] ui/parser/trait-bounds-not-on-impl.rs ... ok
test [ui] ui/parser/trailing-carriage-return-in-string.rs ... ok
test [ui] ui/parser/trait-item-with-defaultness-fail-semantic.rs ... ok
test [ui] ui/parser/tag-variant-disr-non-nullary.rs ... ok
test [ui] ui/parser/struct-literal-in-for.rs ... ok
test [ui] ui/parser/unbalanced-doublequote.rs ... ok
test [ui] ui/parser/trait-object-polytrait-priority.rs ... ok
test [ui] ui/parser/trait-object-bad-parens.rs ... ok
test [ui] ui/parser/trait-object-lifetime-parens.rs ... ok
test [ui] ui/parser/trait-pub-assoc-const.rs ... ok
test [ui] ui/parser/type-parameters-in-field-exprs.rs ... ok
test [ui] ui/parser/unclosed-braces.rs ... ok
test [ui] ui/parser/trait-pub-assoc-ty.rs ... ok
test [ui] ui/parser/trait-item-with-defaultness-pass.rs ... ok
test [ui] ui/parser/unclosed_delim_mod.rs ... ok
test [ui] ui/parser/trait-pub-method.rs ... ok
test [ui] ui/parser/trait-object-trait-parens.rs ... ok
test [ui] ui/parser/underscore_item_not_const.rs ... ok
test [ui] ui/parser/unsized.rs ... ok
test [ui] ui/parser/underscore-suffix-for-float.rs ... ok
test [ui] ui/parser/struct-literal-restrictions-in-lamda.rs ... ok
test [ui] ui/parser/unicode-chars.rs ... ok
test [ui] ui/parser/use-as-where-use-ends-with-mod-sep.rs ... ok
test [ui] ui/parser/use-ends-with-mod-sep.rs ... ok
test [ui] ui/parser/virtual-structs.rs ... ok
test [ui] ui/parser/unicode-quote-chars.rs ... ok
test [ui] ui/parser/unmatched-delimiter-at-end-of-file.rs ... ok
test [ui] ui/parser/underscore-suffix-for-string.rs ... ok
test [ui] ui/parser/where-clauses-no-bounds-or-predicates.rs ... ok
test [ui] ui/parser/unsized2.rs ... ok
test [ui] ui/parser/trait-plusequal-splitting.rs ... ok
test [ui] ui/parser/variadic-ffi-syntactic-pass.rs ... ok
test [ui] ui/parser/variadic-ffi-semantic-restrictions.rs ... ok
test [ui] ui/parser/wrong-escape-of-curly-braces.rs ... ok
test [ui] ui/parser/where_with_bound.rs ... ok
test [ui] ui/parser/unclosed-delimiter-in-dep.rs ... ok
test [ui] ui/pattern/bindings-after-at/bind-by-move-neither-can-live-while-the-other-survives-1.rs ... ok
test [ui] ui/parser/trailing-plus-in-bounds.rs ... ok
test [ui] ui/pattern/bindings-after-at/bind-by-move-no-subbindings-fun-param.rs ... ok
test [ui] ui/partialeq_help.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-at-and-box-pass.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-move-and-move.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-by-move-and-ref-inverse-promotion.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-by-copy-bindings-in-at.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-by-move-and-ref.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-at-and-box.rs ... ok
test [ui] ui/parser/variadic-ffi-nested-syntactic-fail.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-by-move-and-ref-inverse.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-ref-both-sides.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-ref-mut-and-ref.rs ... ok
test [ui] ui/pattern/bindings-after-at/borrowck-pat-ref-mut-twice.rs ... ok
test [ui] ui/pattern/bindings-after-at/feature-gate-bindings_after_at.rs ... ok
test [ui] ui/pattern/bindings-after-at/copy-and-move-mixed.rs ... ok
test [ui] ui/pattern/bindings-after-at/nested-binding-mode-lint.rs ... ok
test [ui] ui/pattern/bindings-after-at/default-binding-modes-both-sides-independent.rs ... ok
test [ui] ui/pathless-extern-ok.rs ... ok
test [ui] ui/pattern/bindings-after-at/nested-binding-modes-mut.rs ... ok
test [ui] ui/pattern/bindings-after-at/nested-binding-modes-ref.rs ... ok
test [ui] ui/pattern/bindings-after-at/nested-type-ascription-syntactically-invalid.rs ... ok
test [ui] ui/pattern/bindings-after-at/wild-before-at-syntactically-rejected.rs ... ok
test [ui] ui/pattern/bindings-after-at/pat-at-same-name-both.rs ... ok
test [ui] ui/pattern/deny-irrefutable-let-patterns.rs ... ok
test [ui] ui/pattern/const-pat-ice.rs ... ok
test [ui] ui/pattern/issue-66270-pat-struct-parser-recovery.rs ... ok
test [ui] ui/pattern/issue-68394-let-pat-runtime-value.rs ... ok
test [ui] ui/pattern/issue-67776-match-same-name-enum-variant-refs.rs ... ok
test [ui] ui/pattern/issue-68396-let-float-bug.rs ... ok
test [ui] ui/pattern/issue-68393-let-pat-assoc-constant.rs ... ok
test [ui] ui/pattern/issue-71042-opaquely-typed-constant-used-in-pattern.rs ... ok
test [ui] ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs ... ok
test [ui] ui/numbers-arithmetic/arith-1.rs ... ok
test [ui] ui/pattern/move-ref-patterns/by-move-sub-pat-unreachable.rs ... ok
test [ui] ui/numbers-arithmetic/float-int-invalid-const-cast.rs ... ok
test [ui] ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.rs ... ok
test [ui] ui/pattern/move-ref-patterns/move-ref-patterns-closure-captures-pass.rs ... ok
test [ui] ui/pattern/move-ref-patterns/issue-53840.rs ... ok
test [ui] ui/pattern/move-ref-patterns/move-ref-patterns-closure-captures-inside.rs ... ok
test [ui] ui/pattern/move-ref-patterns/feature-gate-move_ref_pattern.rs ... ok
test [ui] ui/pattern/pat-shadow-in-nested-binding.rs ... ok
test [ui] ui/pattern/pat-tuple-bad-type.rs ... ok
test [ui] ui/pattern/move-ref-patterns/move-ref-patterns-default-binding-modes.rs ... ok
test [ui] ui/pattern/move-ref-patterns/move-ref-patterns-closure-captures.rs ... ok
test [ui] ui/pattern/pat-struct-field-expr-has-type.rs ... ok
test [ui] ui/pattern/pat-tuple-overfield.rs ... ok
test [ui] ui/pattern/pat-type-err-formal-param.rs ... ok
test [ui] ui/numbers-arithmetic/arith-unsigned.rs ... ok
test [ui] ui/numbers-arithmetic/float.rs ... ok
test [ui] ui/pattern/patkind-litrange-no-expr.rs ... ok
test [ui] ui/pattern/pattern-binding-disambiguation.rs ... ok
test [ui] ui/pattern/pattern-ident-path-generics.rs ... ok
test [ui] ui/pattern/pattern-tyvar-2.rs ... ok
test [ui] ui/pattern/pattern-tyvar.rs ... ok
test [ui] ui/numbers-arithmetic/i32-sub.rs ... ok
test [ui] ui/pattern/rest-pat-syntactic.rs ... ok
test [ui] ui/pattern/rest-pat-semantic-disallowed.rs ... ok
test [ui] ui/numbers-arithmetic/float2.rs ... ok
test [ui] ui/pattern/usefulness/always-inhabited-union-ref.rs ... ok
test [ui] ui/pattern/pat-type-err-let-stmt.rs ... ok
test [ui] ui/pattern/pattern-error-continue.rs ... ok
test [ui] ui/pattern/usefulness/issue-35609.rs ... ok
test [ui] ui/pattern/usefulness/exhaustive_integer_patterns.rs ... ok
test [ui] ui/nullable-pointer-iotareduction.rs ... ok
test [ui] ui/numbers-arithmetic/float_math.rs ... ok
test [ui] ui/pattern/usefulness/issue-53820-slice-pattern-large-array.rs ... ok
test [ui] ui/pattern/usefulness/issue-71930-type-of-match-scrutinee.rs ... ok
test [ui] ui/pattern/usefulness/issue-65413-constants-and-slices-exhaustiveness.rs ... ok
test [ui] ui/pattern/usefulness/issue-43253.rs ... ok
test [ui] ui/pattern/usefulness/issue-72476-associated-type.rs ... ok
test [ui] ui/pattern/usefulness/match-byte-array-patterns-2.rs ... ok
test [ui] ui/pattern/usefulness/match-arm-statics.rs ... ok
test [ui] ui/pattern/usefulness/match-non-exhaustive.rs ... ok
test [ui] ui/pattern/usefulness/match-empty.rs ... ok
test [ui] ui/pattern/usefulness/match-empty-exhaustive_patterns.rs ... ok
test [ui] ui/pattern/usefulness/match-byte-array-patterns.rs ... ok
test [ui] ui/pattern/usefulness/match-arm-statics-2.rs ... ok
test [ui] ui/pattern/usefulness/match-ref-ice.rs ... ok
test [ui] ui/pattern/usefulness/match-range-fail-dominate.rs ... ok
test [ui] ui/pattern/usefulness/match-slice-patterns.rs ... ok
test [ui] ui/pattern/usefulness/match-vec-fixed.rs ... ok
test [ui] ui/pattern/usefulness/match-privately-empty.rs ... ok
test [ui] ui/numbers-arithmetic/divide-by-zero.rs ... ok
test [ui] ui/pattern/usefulness/match-vec-unreachable.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-float-range-match.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-pattern-pointer-size-int.rs ... ok
test [ui] ui/pattern/usefulness/refutable-pattern-in-fn-arg.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-match-nested.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-defined-here.rs ... ok
test [ui] ui/pattern/usefulness/refutable-pattern-errors.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-match.rs ... ok
test [ui] ui/numbers-arithmetic/float-nan.rs ... ok
test [ui] ui/pattern/usefulness/non-exhaustive-pattern-witness.rs ... ok
test [ui] ui/pattern/usefulness/slice-pattern-const-2.rs ... ok
test [ui] ui/pattern/usefulness/slice-patterns-irrefutable.rs ... ok
test [ui] ui/pattern/usefulness/slice-patterns-reachability.rs ... ok
test [ui] ui/pattern/usefulness/slice-pattern-const-3.rs ... ok
test [ui] ui/numbers-arithmetic/floatlits.rs ... ok
test [ui] ui/pattern/usefulness/slice-patterns-exhaustiveness.rs ... ok
test [ui] ui/pattern/usefulness/struct-like-enum-nonexhaustive.rs ... ok
test [ui] ui/pattern/usefulness/slice-pattern-const.rs ... ok
test [ui] ui/pattern/usefulness/struct-pattern-match-useless.rs ... ok
test [ui] ui/numbers-arithmetic/int.rs ... ok
test [ui] ui/pattern/usefulness/top-level-alternation.rs ... ok
test [ui] ui/numbers-arithmetic/i8-incr.rs ... ok
test [ui] ui/placement-syntax.rs ... ok
test [ui] ui/pattern/usefulness/tuple-struct-nonexhaustive.rs ... ok
test [ui] ui/numbers-arithmetic/float-signature.rs ... ok
test [ui] ui/phantom-oibit.rs ... ok
test [ui] ui/prim-with-args.rs ... ok
test [ui] ui/precise_pointer_size_matching.rs ... ok
test [ui] ui/pptypedef.rs ... ok
test [ui] ui/point-to-type-err-cause-on-impl-trait-return-2.rs ... ok
test [ui] ui/nll/issue-53123-raw-pointer-cast.rs ... ok
test [ui] ui/priv-in-bad-locations.rs ... ok
test [ui] ui/numbers-arithmetic/float-literal-inference.rs ... ok
test [ui] ui/print_type_sizes/padding.rs ... ok
test [ui] ui/print_type_sizes/anonymous.rs ... ok
test [ui] ui/print_type_sizes/multiple_types.rs ... ok
test [ui] ui/print_type_sizes/niche-filling.rs ... ok
test [ui] ui/print_type_sizes/no_duplicates.rs ... ok
test [ui] ui/print_type_sizes/packed.rs ... ok
test [ui] ui/privacy/associated-item-privacy-inherent.rs ... ok
test [ui] ui/print-fuel/print-fuel.rs ... ok
test [ui] ui/print_type_sizes/generics.rs ... ok
test [ui] ui/print_type_sizes/repr-align.rs ... ok
test [ui] ui/print_type_sizes/repr_int_c.rs ... ok
test [ui] ui/point-to-type-err-cause-on-impl-trait-return.rs ... ok
test [ui] ui/print_type_sizes/variants.rs ... ok
test [ui] ui/print_type_sizes/uninhabited.rs ... ok
test [ui] ui/privacy/decl-macro.rs ... ok
test [ui] ui/privacy/associated-item-privacy-type-binding.rs ... ok
test [ui] ui/print_type_sizes/zero-sized-fields.rs ... ok
test [ui] ui/privacy/associated-item-privacy-trait.rs ... ok
test [ui] ui/privacy/legacy-ctor-visibility.rs ... ok
test [ui] ui/privacy/privacy-in-paths.rs ... ok
test [ui] ui/privacy/privacy-sanity.rs ... ok
test [ui] ui/privacy/privacy3.rs ... ok
test [ui] ui/privacy/privacy2.rs ... ok
test [ui] ui/privacy/privacy-ns1.rs ... ok
test [ui] ui/privacy/privacy4.rs ... ok
test [ui] ui/privacy/privacy-ns2.rs ... ok
test [ui] ui/privacy/privacy1.rs ... ok
test [ui] ui/privacy/privacy-ufcs.rs ... ok
test [ui] ui/numbers-arithmetic/integer-literal-suffix-inference-2.rs ... ok
test [ui] ui/privacy/private-in-public-assoc-ty.rs ... ok
test [ui] ui/privacy/private-in-public-ill-formed.rs ... ok
test [ui] ui/privacy/private-in-public-lint.rs ... ok
test [ui] ui/privacy/private-in-public-non-principal.rs ... ok
test [ui] ui/privacy/private-impl-method.rs ... ok
test [ui] ui/privacy/private-in-public-non-principal-2.rs ... ok
test [ui] ui/privacy/private-in-public-warn.rs ... ok
test [ui] ui/privacy/issue-57264-2.rs ... ok
test [ui] ui/privacy/issue-57264-1.rs ... ok
test [ui] ui/privacy/private-in-public.rs ... ok
test [ui] ui/numbers-arithmetic/integer-literal-radix.rs ... ok
test [ui] ui/privacy/private-item-simple.rs ... ok
test [ui] ui/privacy/private-inferred-type-1.rs ... ok
test [ui] ui/privacy/privacy5.rs ... ok
test [ui] ui/privacy/private-in-public-expr-pat.rs ... ok
test [ui] ui/privacy/private-method-inherited.rs ... ok
test [ui] ui/privacy/private-in-public-type-alias-impl-trait.rs ... ok
test [ui] ui/privacy/private-method.rs ... ok
test [ui] ui/privacy/private-inferred-type.rs ... ok
test [ui] ui/privacy/private-struct-field-ctor.rs ... ok
test [ui] ui/privacy/private-struct-field-pattern.rs ... ok
test [ui] ui/privacy/private-variant-reexport.rs ... ok
test [ui] ui/privacy/private-struct-field.rs ... ok
test [ui] ui/numbers-arithmetic/numeric-method-autoexport.rs ... ok
test [ui] ui/privacy/private-inferred-type-2.rs ... ok
test [ui] ui/privacy/restricted/relative-2018.rs ... ok
test [ui] ui/privacy/restricted/private-in-public.rs ... ok
test [ui] ui/privacy/private-method-cross-crate.rs ... ok
test [ui] ui/privacy/private-inferred-type-3.rs ... ok
test [ui] ui/privacy/restricted/struct-literal-field.rs ... ok
test [ui] ui/privacy/union-field-privacy-1.rs ... ok
test [ui] ui/privacy/private-struct-field-cross-crate.rs ... ok
test [ui] ui/privacy/union-field-privacy-2.rs ... ok
test [ui] ui/privacy/private-type-in-interface.rs ... ok
test [ui] ui/privacy/restricted/lookup-ignores-private.rs ... ok
test [ui] ui/privacy/restricted/test.rs ... ok
test [ui] ui/privacy/pub-priv-dep/pub-priv1.rs ... ok
test [ui] ui/numbers-arithmetic/next-power-of-two-overflow-ndebug.rs ... ok
test [ui] ui/numbers-arithmetic/integer-literal-suffix-inference.rs ... ok
test [ui] ui/numbers-arithmetic/i128.rs ... ok
test [ui] ui/numbers-arithmetic/integer-literal-suffix-inference-3.rs ... ok
test [ui] ui/proc-macro/ambiguous-builtin-attrs-test.rs ... ok
test [ui] ui/proc-macro/ambiguous-builtin-attrs.rs ... ok
test [ui] ui/proc-macro/attribute.rs ... ok
test [ui] ui/proc-macro/attr-invalid-exprs.rs ... ok
test [ui] ui/proc-macro/attr-stmt-expr.rs ... ok
test [ui] ui/numbers-arithmetic/promoted_overflow_opt.rs ... ok
test [ui] ui/proc-macro/attribute-order-restricted.rs ... ok
test [ui] ui/numbers-arithmetic/shift.rs ... ok
test [ui] ui/numbers-arithmetic/shift-various-types.rs ... ok
test [ui] ui/proc-macro/attribute-spans-preserved.rs ... ok
test [ui] ui/numbers-arithmetic/mod-zero.rs ... ok
test [ui] ui/numbers-arithmetic/next-power-of-two-overflow-debug.rs ... ok
test [ui] ui/proc-macro/attribute-with-error.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-mul.rs ... ok
test [ui] ui/proc-macro/attributes-on-definitions.rs ... ok
test [ui] ui/numbers-arithmetic/u128-as-f32.rs ... ok
test [ui] ui/proc-macro/define-two.rs ... ok
test [ui] ui/object-lifetime-default-from-rptr-mut.rs ... ok
test [ui] ui/proc-macro/attributes-included.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-sub.rs ... ok
test [ui] ui/proc-macro/attributes-on-modules.rs ... ok
test [ui] ui/proc-macro/attributes-on-modules-fail.rs ... ok
test [ui] ui/numbers-arithmetic/signed-shift-const-eval.rs ... ok
test [ui] ui/numbers-arithmetic/uint.rs ... ok
test [ui] ui/numbers-arithmetic/u128.rs ... ok
test [ui] ui/numbers-arithmetic/u8-incr.rs ... ok
test [ui] ui/object-lifetime-default-default-to-static.rs ... ok
test [ui] ui/numbers-arithmetic/u32-decr.rs ... ok
test [ui] ui/numbers-arithmetic/u8-incr-decr.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-pow-unsigned.rs ... ok
test [ui] ui/proc-macro/call-site.rs ... ok
test [ui] ui/numbers-arithmetic/promoted_overflow.rs ... ok
test [ui] ui/proc-macro/crt-static.rs ... ok
test [ui] ui/proc-macro/break-token-spans.rs ... ok
test [ui] ui/proc-macro/capture-macro-rules-invoke.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-pow-signed.rs ... ok
test [ui] ui/objects-coerce-freeze-borrored.rs ... ok
test [ui] ui/numbers-arithmetic/shift-near-oflo.rs ... ok
test [ui] ui/objects-owned-object-owned-method.rs ... ok
test [ui] ui/proc-macro/derive-helper-shadowing-2.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-neg.rs ... ok
test [ui] ui/proc-macro/export-macro.rs ... ok
test [ui] ui/proc-macro/exports.rs ... ok
test [ui] ui/proc-macro/derive-bad.rs ... ok
test [ui] ui/object-method-numbering.rs ... ok
test [ui] ui/object-lifetime-default-from-rptr.rs ... ok
test [ui] ui/proc-macro/derive-helper-configured.rs ... ok
test [ui] ui/proc-macro/extern-prelude-extern-crate-proc-macro.rs ... ok
test [ui] ui/offset_from.rs ... ok
test [ui] ui/proc-macro/derive-still-gated.rs ... ok
test [ui] ui/numbers-arithmetic/int-abs-overflow.rs ... ok
test [ui] ui/proc-macro/derive-helper-shadowed.rs ... ok
test [ui] ui/proc-macro/derive-in-mod.rs ... ok
test [ui] ui/proc-macro/illegal-proc-macro-derive-use.rs ... ok
test [ui] ui/objects-owned-object-borrowed-method-headerless.rs ... ok
test [ui] ui/proc-macro/invalid-attributes.rs ... ok
test [ui] ui/proc-macro/expand-to-unstable-2.rs ... ok
test [ui] ui/proc-macro/disappearing-resolution.rs ... ok
test [ui] ui/proc-macro/edition-imports-2018.rs ... ok
test [ui] ui/proc-macro/dollar-crate.rs ... ok
test [ui] ui/numbers-arithmetic/overflowing-add.rs ... ok
test [ui] ui/proc-macro/dollar-crate-issue-57089.rs ... ok
test [ui] ui/proc-macro/expand-to-unstable.rs ... ok
test [ui] ui/proc-macro/empty-where-clause.rs ... ok
test [ui] ui/object-lifetime-default-from-rptr-box.rs ... ok
test [ui] ui/proc-macro/dollar-crate-issue-62325.rs ... ok
test [ui] ui/proc-macro/derive-helper-shadowing.rs ... ok
test [ui] ui/proc-macro/gen-macro-rules-hygiene.rs ... ok
test [ui] ui/operator-multidispatch.rs ... ok
test [ui] ui/proc-macro/generate-dollar-ident.rs ... ok
test [ui] ui/proc-macro/gen-macro-rules.rs ... ok
test [ui] ui/operator-associativity.rs ... ok
test [ui] ui/one-tuple.rs ... ok
test [ui] ui/op-assign-builtins-by-ref.rs ... ok
test [ui] ui/proc-macro/generate-mod.rs ... ok
test [ui] ui/proc-macro/helper-attr-blocked-by-import-ambig.rs ... ok
test [ui] ui/proc-macro/invalid-punct-ident-1.rs ... ok
test [ui] ui/proc-macro/invalid-punct-ident-2.rs ... ok
test [ui] ui/proc-macro/helper-attr-blocked-by-import.rs ... ok
test [ui] ui/proc-macro/invalid-punct-ident-3.rs ... ok
test [ui] ui/proc-macro/hygiene_example.rs ... ok
test [ui] ui/proc-macro/macro-namespace-reserved.rs ... ok
test [ui] ui/proc-macro/input-interpolated.rs ... ok
test [ui] ui/proc-macro/macro-namespace-reserved-2.rs ... ok
test [ui] ui/proc-macro/import.rs ... ok
test [ui] ui/or-patterns/basic-switchint.rs ... ok
test [ui] ui/once-move-out-on-heap.rs ... ok
test [ui] ui/optimization-fuel-0.rs ... ok
test [ui] ui/proc-macro/issue-38586.rs ... ok
test [ui] ui/proc-macro/macros-in-extern-derive.rs ... ok
test [ui] ui/proc-macro/invalid-punct-ident-4.rs ... ok
test [ui] ui/proc-macro/issue-59191-replace-root-with-fn.rs ... ok
test [ui] ui/proc-macro/module.rs ... ignored
test [ui] ui/proc-macro/issue-41211.rs ... ok
test [ui] ui/proc-macro/issue-50493.rs ... ok
test [ui] ui/proc-macro/item-error.rs ... ok
test [ui] ui/proc-macro/issue-36935.rs ... ok
test [ui] ui/proc-macro/issue-37788.rs ... ok
test [ui] ui/numbers-arithmetic/num-wrapping.rs ... ok
test [ui] ui/operator-overloading.rs ... ok
test [ui] ui/proc-macro/lifetimes.rs ... ok
test [ui] ui/option-ext.rs ... ok
test [ui] ui/proc-macro/keep-expr-tokens.rs ... ok
test [ui] ui/proc-macro/outer/inner.rs ... ignored
test [ui] ui/proc-macro/non-root.rs ... ok
test [ui] ui/opeq.rs ... ok
test [ui] ui/or-patterns/basic-switch.rs ... ok
test [ui] ui/proc-macro/lints_in_proc_macros.rs ... ok
test [ui] ui/option-unwrap.rs ... ok
test [ui] ui/proc-macro/macro-crate-multi-decorator.rs ... ok
test [ui] ui/proc-macro/proc-macro-deprecated-attr.rs ... ok
test [ui] ui/proc-macro/pub-at-crate-root.rs ... ok
test [ui] ui/proc-macro/issue-53481.rs ... ok
test [ui] ui/proc-macro/reserved-macro-names.rs ... ok
test [ui] ui/proc-macro/load-panic.rs ... ok
test [ui] ui/proc-macro/signature.rs ... ok
test [ui] ui/proc-macro/meta-macro-hygiene.rs ... ok
test [ui] ui/optimization-fuel-1.rs ... ok
test [ui] ui/proc-macro/macro-brackets.rs ... ok
test [ui] ui/proc-macro/macro-rules-derive.rs ... ok
test [ui] ui/or-patterns/let-pattern.rs ... ok
test [ui] ui/proc-macro/macros-in-type.rs ... ok
test [ui] ui/or-patterns/bindings-runpass-2.rs ... ok
test [ui] ui/proc-macro/macro-use-bang.rs ... ok
test [ui] ui/proc-macro/macro-use-attr.rs ... ok
test [ui] ui/proc-macro/no-missing-docs.rs ... ok
test [ui] ui/proc_macro.rs ... ignored
test [ui] ui/proc-macro/mixed-site-span.rs ... ok
test [ui] ui/proc-macro/two-crate-types-1.rs ... ok
test [ui] ui/proc-macro/two-crate-types-2.rs ... ok
test [ui] ui/proc-macro/visibility-path.rs ... ok
test [ui] ui/proc-macro/multispan.rs ... ok
test [ui] ui/proc-macro/proc-macro-attributes.rs ... ok
test [ui] ui/proc-macro/parent-source-spans.rs ... ok
test [ui] ui/or-patterns/bindings-runpass-1.rs ... ok
test [ui] ui/proc-macro/proc-macro-gates.rs ... ok
test [ui] ui/proc-macro/proc-macro-gates2.rs ... ok
test [ui] ui/proc-macro/nested-item-spans.rs ... ok
test [ui] ui/proc-macro/no-macro-use-attr.rs ... ok
test [ui] ui/proc-macro/out-of-line-mod.rs ... ok
test [ui] ui/or-patterns/if-let-while-let.rs ... ok
test [ui] ui/proc-macro/shadow.rs ... ok
test [ui] ui/proc-macro/resolved-located-at.rs ... ok
test [ui] ui/pub/issue-33174-restricted-type-in-public-interface.rs ... ok
test [ui] ui/pub/pub-ident-fn-3.rs ... ok
test [ui] ui/ptr-coercion.rs ... ok
test [ui] ui/or-patterns/for-loop.rs ... ok
test [ui] ui/pub/pub-ident-fn-or-struct-2.rs ... ok
test [ui] ui/pub/pub-ident-fn-or-struct.rs ... ok
test [ui] ui/pub/pub-ident-fn-with-lifetime-2.rs ... ok
test [ui] ui/or-patterns/box-patterns.rs ... ok
test [ui] ui/pub/pub-ident-fn-2.rs ... ok
test [ui] ui/or-patterns/search-via-bindings.rs ... ok
test [ui] ui/proc-macro/three-equals.rs ... ok
test [ui] ui/pub/pub-ident-struct-with-lifetime.rs ... ok
test [ui] ui/pub/pub-ident-with-lifetime-incomplete.rs ... ok
test [ui] ui/pub/pub-restricted-error-fn.rs ... ok
test [ui] ui/pub/pub-reexport-priv-extern-crate.rs ... ok
test [ui] ui/pub/pub-restricted-non-path.rs ... ok
test [ui] ui/pub/pub-ident-fn.rs ... ok
test [ui] ui/pub/pub-ident-fn-with-lifetime.rs ... ok
test [ui] ui/pub/pub-restricted-error.rs ... ok
test [ui] ui/pub/pub-restricted.rs ... ok
test [ui] ui/pub/pub-ident-struct.rs ... ok
test [ui] ui/qualified/qualified-path-params-2.rs ... ok
test [ui] ui/qualified/qualified-path-params.rs ... ok
test [ui] ui/proc-macro/trait-fn-args-2015.rs ... ok
test [ui] ui/proc-macro/weird-hygiene.rs ... ok
test [ui] ui/output-slot-variants.rs ... ok
test [ui] ui/question-mark-type-infer.rs ... ok
test [ui] ui/proc-macro/subspan.rs ... ok
test [ui] ui/range/issue-54505-no-std.rs ... ok
test [ui] ui/proc-macro/span-preservation.rs ... ok
test [ui] ui/range/issue-73553-misinterp-range-literal.rs ... ok
test [ui] ui/range/range-inclusive-pattern-precedence2.rs ... ok
test [ui] ui/range/range-1.rs ... ok
test [ui] ui/multi-panic.rs ... ok
test [ui] ui/range/issue-54505.rs ... ok
test [ui] ui/range/issue-54505-no-literals.rs ... ok
test [ui] ui/range/range_traits-2.rs ... ok
test [ui] ui/range/range-inclusive-pattern-precedence.rs ... ok
test [ui] ui/range/range_traits-3.rs ... ok
test [ui] ui/range/range_traits-6.rs ... ok
test [ui] ui/out-pointer-aliasing.rs ... ok
test [ui] ui/range/range_traits-4.rs ... ok
test [ui] ui/raw-ref-op/feature-raw-ref-op.rs ... ok
test [ui] ui/or-patterns/struct-like.rs ... ok
test [ui] ui/range/range_traits-1.rs ... ok
test [ui] ui/range/range_traits-7.rs ... ok
test [ui] ui/range/range_traits-5.rs ... ok
test [ui] ui/or-patterns/mix-with-wild.rs ... ok
test [ui] ui/raw-ref-op/raw-ref-temp.rs ... ok
test [ui] ui/raw-ref-op/raw-ref-temp-deref.rs ... ok
test [ui] ui/raw-ref-op/unusual_locations.rs ... ok
test [ui] ui/over-constrained-vregs.rs ... ok
test [ui] ui/reachable/expr_add.rs ... ok
test [ui] ui/reachable/expr_again.rs ... ok
test [ui] ui/reachable/expr_assign.rs ... ok
test [ui] ui/reachable/expr_array.rs ... ok
test [ui] ui/or-patterns/slice-patterns.rs ... ok
test [ui] ui/reachable/expr_block.rs ... ok
test [ui] ui/reachable/expr_call.rs ... ok
test [ui] ui/reachable/expr_box.rs ... ok
test [ui] ui/reachable/expr_cast.rs ... ok
test [ui] ui/reachable/expr_andand.rs ... ok
test [ui] ui/reachable/expr_if.rs ... ok
test [ui] ui/reachable/expr_method.rs ... ok
test [ui] ui/reachable/expr_match.rs ... ok
test [ui] ui/reachable/expr_loop.rs ... ok
test [ui] ui/reachable/expr_repeat.rs ... ok
test [ui] ui/reachable/expr_return.rs ... ok
test [ui] ui/reachable/expr_return_in_macro.rs ... ok
test [ui] ui/reachable/expr_struct.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef-indexing.rs ... ok
test [ui] ui/reachable/expr_tup.rs ... ok
test [ui] ui/reachable/expr_type.rs ... ok
test [ui] ui/reachable/expr_unary.rs ... ok
test [ui] ui/reachable/expr_oror.rs ... ok
test [ui] ui/reachable/expr_while.rs ... ok
test [ui] ui/proc-macro/resolve-error.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef-order.rs ... ok
test [ui] ui/reachable/unreachable-code.rs ... ok
test [ui] ui/reachable/unreachable-arm.rs ... ok
test [ui] ui/reachable/unreachable-in-call.rs ... ok
test [ui] ui/reachable/unwarned-match-on-never.rs ... ok
test [ui] ui/overloaded/overloaded-calls-object-one-arg.rs ... ok
test [ui] ui/reachable/unreachable-try-pattern.rs ... ok
test [ui] ui/reachable/unreachable-loop-patterns.rs ... ok
test [ui] ui/reassign-ref-mut.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef-count.rs ... ok
test [ui] ui/recursion/recursive-enum.rs ... ok
test [ui] ui/overlap-doesnt-conflict-with-specialization.rs ... ok
test [ui] ui/overlap-permitted-for-annotated-marker-traits.rs ... ok
test [ui] ui/reachable/unreachable-variant.rs ... ok
test [ui] ui/recursion/recursive-requirements.rs ... ok
test [ui] ui/recursion/recursive-static-definition.rs ... ok
test [ui] ui/recursion/issue-26548-recursion-via-normalize.rs ... ok
test [ui] ui/recursion/recursive-types-are-not-uninhabited.rs ... ok
test [ui] ui/recursion_limit/empty.rs ... ok
test [ui] ui/recursion_limit/invalid_digit.rs ... ok
test [ui] ui/recursion_limit/overflow.rs ... ok
test [ui] ui/recursion/issue-38591-non-regular-dropck-recursion.rs ... ok
test [ui] ui/recursion_limit/zero.rs ... ok
test [ui] ui/recursion/recursive-reexports.rs ... ok
test [ui] ui/recursion/recursion.rs ... ok
test [ui] ui/ref-suggestion.rs ... ok
test [ui] ui/regions-fn-subtyping-return-static-fail.rs ... ok
test [ui] ui/regions/issue-72051-member-region-hang.rs ... ok
test [ui] ui/regions/region-borrow-params-issue-29793-big.rs ... ok
test [ui] ui/regions/issue-56537-closure-uses-region-from-container.rs ... ok
test [ui] ui/regions/region-borrow-params-issue-29793-small.rs ... ok
test [ui] ui/regions/region-bound-on-closure-outlives-call.rs ... ok
test [ui] ui/regions/region-bounds-on-objects-and-type-parameters.rs ... ok
test [ui] ui/regions/region-invariant-static-error-reporting.rs ... ok
test [ui] ui/regions/region-lifetime-bounds-on-fns-where-clause.rs ... ok
test [ui] ui/regions/region-multiple-lifetime-bounds-on-fns-where-clause.rs ... ok
test [ui] ui/regions/region-bound-extra-bound-in-inherent-impl.rs ... ok
test [ui] ui/regions/region-bound-same-bounds-in-trait-and-impl.rs ... ok
test [ui] ui/regions/region-object-lifetime-2.rs ... ok
test [ui] ui/regions/region-object-lifetime-4.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef-vtable.rs ... ok
test [ui] ui/overloaded/overloaded-calls-object-two-args.rs ... ok
test [ui] ui/regions/region-object-lifetime-5.rs ... ok
test [ui] ui/regions/regions-addr-of-arg.rs ... ok
test [ui] ui/regions/region-object-lifetime-in-coercion.rs ... ok
test [ui] ui/regions/region-object-lifetime-1.rs ... ok
test [ui] ui/regions/region-object-lifetime-3.rs ... ok
test [ui] ui/regions/regions-addr-of-upvar-self.rs ... ok
test [ui] ui/regions/regions-addr-of-self.rs ... ok
test [ui] ui/regions/regions-adjusted-lvalue-op.rs ... ok
test [ui] ui/regions/regions-assoc-type-in-supertrait-outlives-container.rs#migrate ... ok
test [ui] ui/regions/regions-assoc-type-in-supertrait-outlives-container.rs#nll ... ok
test [ui] ui/overloaded/overloaded-calls-simple.rs ... ok
test [ui] ui/overloaded/overloaded-index-in-field.rs ... ok
test [ui] ui/regions/regions-assoc-type-static-bound-in-trait-not-met.rs ... ok
test [ui] ui/regions/regions-assoc-type-region-bound-in-trait-not-met.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef-xcrate.rs ... ok
test [ui] ui/overloaded/overloaded-autoderef.rs ... ok
test [ui] ui/overloaded/overloaded-deref-count.rs ... ok
test [ui] ui/overloaded/overloaded-calls-object-zero-args.rs ... ok
test [ui] ui/regions/regions-bounded-by-trait-requiring-static.rs ... ok
test [ui] ui/overloaded/overloaded-calls-param-vtables.rs ... ok
test [ui] ui/regions/regions-bounded-method-type-parameters.rs ... ok
test [ui] ui/regions/regions-bounded-method-type-parameters-trait-bound.rs ... ok
test [ui] ui/regions/regions-bounds.rs ... ok
test [ui] ui/regions/regions-close-object-into-object-1.rs ... ok
test [ui] ui/regions/regions-close-object-into-object-2.rs ... ok
test [ui] ui/regions/regions-close-associated-type-into-object.rs ... ok
test [ui] ui/regions/regions-bounded-method-type-parameters-cross-crate.rs ... ok
test [ui] ui/overloaded/overloaded-index-autoderef.rs ... ok
test [ui] ui/regions/regions-close-object-into-object-4.rs ... ok
test [ui] ui/regions/regions-close-object-into-object-3.rs ... ok
test [ui] ui/regions/regions-close-object-into-object-5.rs ... ok
test [ui] ui/overloaded/overloaded_deref_with_ref_pattern.rs ... ok
test [ui] ui/regions/regions-close-over-type-parameter-1.rs ... ok
test [ui] ui/regions/regions-close-over-type-parameter-multiple.rs ... ok
test [ui] ui/regions/regions-close-param-into-object.rs ... ok
test [ui] ui/no-stdio.rs ... ok
test [ui] ui/overloaded/overloaded-calls-zero-args.rs ... ok
test [ui] ui/regions/regions-creating-enums3.rs ... ok
test [ui] ui/regions/regions-creating-enums.rs ... ok
test [ui] ui/overloaded/overloaded-index.rs ... ok
test [ui] ui/regions/regions-creating-enums4.rs ... ok
test [ui] ui/overloaded/overloaded-index-assoc-list.rs ... ok
test [ui] ui/owned-implies-static.rs ... ok
test [ui] ui/regions/regions-early-bound-error-method.rs ... ok
test [ui] ui/overloaded/overloaded-deref.rs ... ok
test [ui] ui/packed/packed-struct-address-of-element.rs ... ok
test [ui] ui/regions/regions-early-bound-error.rs ... ok
test [ui] ui/packed/packed-struct-match.rs ... ok
test [ui] ui/overloaded/overloaded_deref_with_ref_pattern_issue15609.rs ... ok
test [ui] ui/packed/packed-struct-borrow-element.rs ... ok
test [ui] ui/packed/packed-struct-drop-aligned.rs ... ok
test [ui] ui/regions/regions-enum-not-wf.rs ... ok
test [ui] ui/packed/packed-struct-layout.rs ... ok
test [ui] ui/regions/regions-escape-method.rs ... ok
test [ui] ui/packed/packed-struct-optimized-enum.rs ... ok
test [ui] ui/packed/packed-struct-size-xc.rs ... ok
test [ui] ui/regions/regions-escape-via-trait-or-not.rs ... ok
test [ui] ui/packed/packed-struct-size.rs ... ok
test [ui] ui/packed/packed-tuple-struct-layout.rs ... ok
test [ui] ui/packed/packed-struct-generic-size.rs ... ok
test [ui] ui/regions/regions-fn-subtyping-return-static.rs ... ok
test [ui] ui/packed/packed-struct-generic-layout.rs ... ok
test [ui] ui/regions/regions-free-region-ordering-callee-4.rs ... ok
test [ui] ui/regions/regions-free-region-ordering-caller.rs#migrate ... ok
test [ui] ui/regions/regions-free-region-ordering-callee.rs ... ok
test [ui] ui/packed/packed-tuple-struct-size.rs ... ok
test [ui] ui/regions/regions-free-region-ordering-caller.rs#nll ... ok
test [ui] ui/packed/packed-with-inference-vars-issue-61402.rs ... ok
test [ui] ui/regions/regions-free-region-ordering-caller1.rs ... ok
test [ui] ui/regions/regions-free-region-ordering-incorrect.rs ... ok
test [ui] ui/regions/regions-implied-bounds-projection-gap-1.rs ... ok
test [ui] ui/regions/regions-glb-free-free.rs ... ok
test [ui] ui/packed/packed-struct-vec.rs ... ok
test [ui] ui/regions/regions-implied-bounds-projection-gap-hr-1.rs ... ok
test [ui] ui/regions/regions-in-enums-anon.rs ... ok
test [ui] ui/regions/regions-in-enums.rs ... ok
test [ui] ui/regions/regions-in-structs-anon.rs ... ok
test [ui] ui/regions/regions-implied-bounds-projection-gap-2.rs ... ok
test [ui] ui/regions/regions-in-structs.rs ... ok
test [ui] ui/regions/regions-infer-at-fn-not-param.rs ... ok
test [ui] ui/panic-runtime/link-to-abort.rs ... ok
test [ui] ui/regions/regions-implied-bounds-projection-gap-3.rs ... ok
test [ui] ui/regions/regions-implied-bounds-projection-gap-4.rs ... ok
test [ui] ui/regions/regions-infer-borrow-scope-too-big.rs ... ok
test [ui] ui/regions/regions-infer-bound-from-trait.rs ... ok
test [ui] ui/regions/regions-infer-bound-from-trait-self.rs ... ok
test [ui] ui/regions/regions-infer-call-3.rs ... ok
test [ui] ui/regions/regions-infer-contravariance-due-to-decl.rs ... ok
test [ui] ui/panic-runtime/link-to-unwind.rs ... ok
test [ui] ui/regions/regions-infer-covariance-due-to-decl.rs ... ok
test [ui] ui/regions/regions-infer-invariance-due-to-decl.rs ... ok
test [ui] ui/regions/regions-infer-invariance-due-to-mutability-3.rs ... ok
test [ui] ui/regions/regions-infer-invariance-due-to-mutability-4.rs ... ok
test [ui] ui/regions/regions-infer-not-param.rs ... ok
test [ui] ui/regions/regions-infer-paramd-indirect.rs ... ok
test [ui] ui/regions/regions-infer-proc-static-upvar.rs ... ok
test [ui] ui/panic-runtime/unwind-interleaved.rs ... ok
test [ui] ui/panic-runtime/unwind-rec.rs ... ok
test [ui] ui/panic-runtime/unwind-unique.rs ... ok
test [ui] ui/panic-while-printing.rs ... ok
test [ui] ui/panics/doublepanic.rs ... ok
test [ui] ui/regions/regions-lifetime-bounds-on-fns.rs ... ok
test [ui] ui/panic-runtime/unwind-rec2.rs ... ok
test [ui] ui/regions/regions-lifetime-of-struct-or-enum-variant.rs ... ok
test [ui] ui/panics/main-panic.rs ... ok
test [ui] ui/panics/explicit-panic-msg.rs ... ok
test [ui] ui/regions/regions-name-duplicated.rs ... ok
test [ui] ui/panics/args-panic.rs ... ok
test [ui] ui/regions/regions-name-static.rs ... ok
test [ui] ui/panic-runtime/abort.rs ... ok
test [ui] ui/regions/regions-name-undeclared.rs ... ok
test [ui] ui/panics/explicit-panic.rs ... ok
test [ui] ui/regions/regions-nested-fns-2.rs ... ok
test [ui] ui/regions/regions-nested-fns.rs ... ok
test [ui] ui/panics/panic-handler-chain.rs ... ok
test [ui] ui/panics/panic-macro-any-wrapped.rs ... ok
test [ui] ui/regions/regions-normalize-in-where-clause-list.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-enum-region-rev.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-enum-region.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-enum-type-rev.rs ... ok
test [ui] ui/panics/panic-macro-any.rs ... ok
test [ui] ui/panics/panic-safe.rs ... ok
test [ui] ui/panics/panic-macro-explicit.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-struct-region-rev.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-enum-type.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-struct-type-rev.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-struct-region.rs ... ok
test [ui] ui/regions/regions-outlives-projection-container-wc.rs#migrate ... ok
test [ui] ui/regions/regions-outlives-projection-container-hrtb.rs#nll ... ok
test [ui] ui/regions/regions-outlives-projection-container-hrtb.rs#migrate ... ok
test [ui] ui/regions/regions-outlives-projection-container-wc.rs#nll ... ok
test [ui] ui/regions/regions-outlives-projection-container.rs ... ok
test [ui] ui/regions/regions-outlives-nominal-type-struct-type.rs ... ok
test [ui] ui/panics/panic-macro-fmt.rs ... ok
test [ui] ui/panics/panic-set-handler.rs ... ok
test [ui] ui/regions/regions-pattern-typing-issue-19552.rs ... ok
test [ui] ui/regions/regions-pattern-typing-issue-19997.rs ... ok
test [ui] ui/panics/panic-main.rs ... ok
test [ui] ui/regions/regions-proc-bound-capture.rs ... ok
test [ui] ui/panics/panic-parens.rs ... ok
test [ui] ui/regions/regions-outlives-projection-hrtype.rs ... ok
test [ui] ui/regions/regions-outlives-scalar.rs ... ok
test [ui] ui/regions/regions-outlives-projection-trait-def.rs ... ok
test [ui] ui/panics/panic-in-dtor-drops-fields.rs ... ok
test [ui] ui/regions/regions-reborrow-from-shorter-mut-ref-mut-ref.rs ... ok
test [ui] ui/regions/regions-reborrow-from-shorter-mut-ref.rs ... ok
test [ui] ui/panics/panic-set-unset-handler.rs ... ok
test [ui] ui/regions/regions-ref-in-fn-arg.rs ... ok
test [ui] ui/regions/regions-ret-borrowed-1.rs ... ok
test [ui] ui/regions/regions-ret-borrowed.rs ... ok
test [ui] ui/panics/panic-macro-static.rs ... ok
test [ui] ui/regions/regions-ret.rs ... ok
test [ui] ui/regions/regions-return-ref-to-upvar-issue-17403.rs ... ok
test [ui] ui/regions/regions-return-stack-allocated-vec.rs ... ok
test [ui] ui/regions/regions-static-bound.rs#migrate ... ok
test [ui] ui/regions/regions-static-bound.rs#nll ... ok
test [ui] ui/regions/regions-steal-closure.rs ... ok
test [ui] ui/panics/panic-take-handler-nop.rs ... ok
test [ui] ui/regions/regions-trait-1.rs ... ok
test [ui] ui/regions/regions-trait-object-subtyping.rs ... ok
test [ui] ui/panics/panic-recover-propagate.rs ... ok
test [ui] ui/parse-assoc-type-lt.rs ... ok
test [ui] ui/regions/regions-trait-variance.rs ... ok
test [ui] ui/regions/regions-undeclared.rs ... ok
test [ui] ui/regions/regions-var-type-out-of-scope.rs ... ok
test [ui] ui/panics/unique-panic.rs ... ok
test [ui] ui/regions/regions-variance-contravariant-use-covariant-in-second-position.rs ... ok
test [ui] ui/regions/regions-variance-contravariant-use-covariant.rs ... ok
test [ui] ui/regions/regions-variance-covariant-use-contravariant.rs ... ok
test [ui] ui/regions/regions-variance-invariant-use-contravariant.rs ... ok
test [ui] ui/regions/regions-variance-invariant-use-covariant.rs ... ok
test [ui] ui/paren-free.rs ... ok
test [ui] ui/panics/panic-task-name-owned.rs ... ok
test [ui] ui/regions/regions-wf-trait-object.rs ... ok
test [ui] ui/parse-panic.rs ... ok
test [ui] ui/regions/type-param-outlives-reempty-issue-74429-2.rs ... ok
test [ui] ui/reify-intrinsic.rs ... ok
test [ui] ui/regions/type-param-outlives-reempty-issue-74429.rs ... ok
test [ui] ui/panics/panic.rs ... ok
test [ui] ui/reject-specialized-drops-8142.rs ... ok
test [ui] ui/panics/result-get-panic.rs ... ok
test [ui] ui/repeat_count_const_in_async_fn.rs ... ok
test [ui] ui/repeat-to-run-dtor-twice.rs ... ok
test [ui] ui/repr.rs ... ok
test [ui] ui/panics/while-panic.rs ... ok
test [ui] ui/panics/while-body-panics.rs ... ok
test [ui] ui/repr/repr-align.rs ... ok
test [ui] ui/repr/feature-gate-no-niche.rs ... ok
test [ui] ui/repr/repr-no-niche-inapplicable-to-unions.rs ... ok
test [ui] ui/repr/repr-packed-contains-align.rs ... ok
test [ui] ui/repeat_count.rs ... ok
test [ui] ui/repr/repr-transparent-other-items.rs ... ok
test [ui] ui/repr/repr-align-assign.rs ... ok
test [ui] ui/repr/repr-transparent-other-reprs.rs ... ok
test [ui] ui/repr/repr-transparent.rs ... ok
test [ui] ui/reserved/reserved-attr-on-macro.rs ... ok
test [ui] ui/reserved/reserved-become.rs ... ok
test [ui] ui/required-lang-item.rs ... ok
test [ui] ui/removing-extern-crate.rs ... ok
test [ui] ui/resolve/block-with-trait-parent.rs ... ok
test [ui] ui/panics/fmt-panic.rs ... ok
test [ui] ui/resolve/impl-items-vis-unresolved.rs ... ok
test [ui] ui/panic-runtime/abort-link-to-unwinding-crates.rs ... ok
test [ui] ui/resolve/issue-14254.rs ... ok
test [ui] ui/resolve/issue-16058.rs ... ok
test [ui] ui/resolve/issue-17518.rs ... ok
test [ui] ui/resolve/issue-18252.rs ... ok
test [ui] ui/resolve/enums-are-namespaced-xc.rs ... ok
test [ui] ui/resolve/issue-21221-1.rs ... ok
test [ui] ui/resolve/issue-21221-2.rs ... ok
test [ui] ui/resolve/issue-23305.rs ... ok
test [ui] ui/resolve/issue-22692.rs ... ok
test [ui] ui/resolve/issue-19452.rs ... ok
test [ui] ui/resolve/issue-21221-3.rs ... ok
test [ui] ui/resolve/issue-2356.rs ... ok
test [ui] ui/resolve/issue-33876.rs ... ok
test [ui] ui/resolve/issue-24968.rs ... ok
test [ui] ui/resolve/issue-21221-4.rs ... ok
test [ui] ui/resolve/issue-39226.rs ... ok
test [ui] ui/resolve/issue-5035.rs ... ok
test [ui] ui/resolve/issue-54379.rs ... ok
test [ui] ui/resolve/issue-5035-2.rs ... ok
test [ui] ui/resolve/issue-65025-extern-static-parent-generics.rs ... ok
test [ui] ui/resolve/issue-57523.rs ... ok
test [ui] ui/resolve/issue-65035-static-with-parent-generics.rs ... ok
test [ui] ui/resolve/issue-6702.rs ... ok
test [ui] ui/resolve/issue-3907-2.rs ... ok
test [ui] ui/resolve/issue-3907.rs ... ok
test [ui] ui/resolve/name-clash-nullary.rs ... ok
test [ui] ui/resolve/levenshtein.rs ... ok
test [ui] ui/resolve/issue-70736-async-fn-no-body-def-collector.rs ... ok
test [ui] ui/resolve/issue-69401-trait-fn-no-body-ty-local.rs ... ok
test [ui] ui/resolve/privacy-enum-ctor.rs ... ok
test [ui] ui/resolve/resolve-bad-import-prefix.rs ... ok
test [ui] ui/resolve/raw-ident-in-path.rs ... ok
test [ui] ui/resolve/resolve-bad-visibility.rs ... ok
test [ui] ui/resolve/resolve-assoc-suggestions.rs ... ok
test [ui] ui/resolve/resolve-conflict-extern-crate-vs-extern-crate.rs ... ok
test [ui] ui/resolve/resolve-conflict-import-vs-extern-crate.rs ... ok
test [ui] ui/resolve/resolve-conflict-item-vs-extern-crate.rs ... ok
test [ui] ui/resolve/resolve-conflict-item-vs-import.rs ... ok
test [ui] ui/panics/panic-macro-owned.rs ... ok
test [ui] ui/resolve/privacy-struct-ctor.rs ... ok
test [ui] ui/resolve/resolve-conflict-type-vs-import.rs ... ok
test [ui] ui/resolve/resolve-conflict-import-vs-import.rs ... ok
test [ui] ui/resolve/resolve-hint-macro.rs ... ok
test [ui] ui/resolve/resolve-label.rs ... ok
test [ui] ui/resolve/resolve-inconsistent-binding-mode.rs ... ok
test [ui] ui/resolve/resolve-inconsistent-names.rs ... ok
test [ui] ui/resolve/resolve-primitive-fallback.rs ... ok
test [ui] ui/panics/panic-task-name-none.rs ... ok
test [ui] ui/resolve/resolve-self-in-impl-2.rs ... ok
test [ui] ui/resolve/resolve-self-in-impl.rs ... ok
test [ui] ui/resolve/resolve-type-param-in-item-in-trait.rs ... ok
test [ui] ui/resolve/resolve-speculative-adjustment.rs ... ok
test [ui] ui/resolve/resolve-variant-assoc-item.rs ... ok
test [ui] ui/resolve/token-error-correct-2.rs ... ok
test [ui] ui/resolve/resolve-unknown-trait.rs ... ok
test [ui] ui/resolve/suggest-path-instead-of-mod-dot-item.rs ... ok
test [ui] ui/resolve/token-error-correct-3.rs ... ok
test [ui] ui/resolve/tuple-struct-alias.rs ... ok
test [ui] ui/resolve/token-error-correct.rs ... ok
test [ui] ui/resolve/typo-suggestion-named-underscore.rs ... ok
test [ui] ui/resolve/unboxed-closure-sugar-nonexistent-trait.rs ... ok
test [ui] ui/panics/panic-handler-set-twice.rs ... ok
test [ui] ui/resolve/unresolved_static_type_field.rs ... ok
test [ui] ui/resolve/use_suggestion.rs ... ok
test [ui] ui/resolve/use_suggestion_placement.rs ... ok
test [ui] ui/resolve/token-error-correct-4.rs ... ok
test [ui] ui/resolve/visibility-indeterminate.rs ... ok
test [ui] ui/resolve_self_super_hint.rs ... ok
test [ui] ui/ret-non-nil.rs ... ok
test [ui] ui/return-disjoint-regions.rs ... ok
test [ui] ui/retslot-cast.rs ... ok
test [ui] ui/return/return-match-array-const.rs ... ok
test [ui] ui/return/return-from-diverging.rs ... ok
test [ui] ui/return/return-unit-from-diverging.rs ... ok
test [ui] ui/return/return-type.rs ... ok
test [ui] ui/rfc-0107-bind-by-move-pattern-guards/former-E0008-now-pass.rs ... ok
test [ui] ui/parser-unicode-whitespace.rs ... ok
test [ui] ui/rfc-0107-bind-by-move-pattern-guards/rfc-reject-double-move-across-arms.rs ... ok
test [ui] ui/rfc-0107-bind-by-move-pattern-guards/rfc-reject-double-move-in-first-arm.rs ... ok
test [ui] ui/panics/test-should-fail-bad-message.rs ... ok
test [ui] ui/parser/issue-65846-rollback-gating-failing-matcher.rs ... ok
test [ui] ui/panics/test-panic.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-impl-trait.rs ... ok
test [ui] ui/panics/test-should-panic-bad-message.rs ... ok
test [ui] ui/pattern/irrefutable-let-patterns.rs ... ok
test [ui] ui/pattern/bindings-after-at/nested-patterns.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-in-test-should-panic.rs ... ok
test [ui] ui/panics/test-should-panic-no-message.rs ... ok
test [ui] ui/path-lookahead.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-main-i32.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-main-wrong-type.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-not-satisfied.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-test-wrong-type.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/const.rs ... ok
test [ui] ui/pattern/bindings-after-at/box-patterns.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/borrowck-issue-49631.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/enum.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/explicit-mut.rs ... ok
test [ui] ui/pattern/bindings-after-at/or-patterns-slice-patterns.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/issue-44912-or.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/for.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/lit.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/no-double-error.rs ... ok
test [ui] ui/rfc-2005-default-binding-mode/slice.rs ... ok
test [ui] ui/panic-runtime/lto-abort.rs ... ok
test [ui] ui/pattern/bindings-after-at/or-patterns-box-patterns.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/enum_same_crate_empty_match.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/improper_ctypes/same_crate_proper.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/invalid-attribute.rs ... ok
test [ui] ui/pattern/bindings-after-at/slice-patterns.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/borrowck-exhaustive.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/borrowck-non-exhaustive.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/enum.rs ... ok
test [ui] ui/path.rs ... ok
test [ui] ui/pattern/bindings-after-at/or-patterns.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/improper_ctypes/extern_crate_improper.rs ... ok
test [ui] ui/pattern/usefulness/guards-not-exhaustive.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/coercions_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/match_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/struct.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/indirect_match.rs ... ok
test [ui] ui/pattern/usefulness/nested-exhaustive-match.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/patterns_same_crate.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/coercions.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/issue-65157-repeated-match-arm.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/indirect_match_with_exhaustive_patterns.rs ... ok
test [ui] ui/rfc-2027-object-safe-for-dispatch/downcast-unsafe-trait-objects.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/match.rs ... ok
test [ui] ui/rfc-2027-object-safe-for-dispatch/static-dispatch-unsafe-object.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/variant.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/match_with_exhaustive_patterns.rs ... ok
test [ui] ui/pattern/usefulness/irrefutable-unit.rs ... ok
test [ui] ui/rfc-2091-track-caller/error-odd-syntax.rs ... ok
test [ui] ui/pattern/usefulness/irrefutable-exhaustive-integer-binding.rs ... ok
test [ui] ui/paths-containing-nul.rs ... ok
test [ui] ui/rfc-2091-track-caller/error-with-invalid-abi.rs ... ok
test [ui] ui/rfc-2091-track-caller/error-with-main.rs ... ok
test [ui] ui/privacy/privacy-ns.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/uninhabited/patterns.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/variants_fictive_visibility.rs ... ok
test [ui] ui/rfc-2091-track-caller/error-with-naked.rs ... ok
test [ui] ui/rfc-2091-track-caller/error-with-start.rs ... ok
test [ui] ui/rfc-2091-track-caller/only-for-fns.rs ... ok
test [ui] ui/privacy/privacy1-rpass.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/cross-crate.rs ... ok
test [ui] ui/pattern/move-ref-patterns/move-ref-patterns-dynamic-semantics.rs ... ok
test [ui] ui/primitive-binop-lhs-mut.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/dont-infer-static.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/enum.rs ... ok
test [ui] ui/privacy/privacy-reexport.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/explicit-enum.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/explicit-dyn.rs ... ok
test [ui] ui/privacy/pub-extern-privacy.rs ... ok
test [ui] ui/panics/panic-arg.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/explicit-projection.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/explicit-struct.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/explicit-union.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/infer-static.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/nested-regions.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/nested-enum.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/nested-structs.rs ... ok
test [ui] ui/privacy/priv-impl-prim-ty.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/issue-54467.rs ... ok
test [ui] ui/privacy/private-class-field.rs ... ok
test [ui] ui/privacy/pub-priv-dep/std-pub.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/nested-union.rs ... ok
test [ui] ui/privacy/pub_use_mods_xcrate_exe.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/reference.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-enum-not-wf.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/projection.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-outlives-nominal-type-region-rev.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-outlives-nominal-type-region.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-outlives-nominal-type-type-rev.rs ... ok
test [ui] ui/privacy/pub-use-xcrate.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-struct-not-wf.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/regions-outlives-nominal-type-type.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/self-dyn.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/self-structs.rs ... ok
test [ui] ui/rfc-2126-crate-paths/crate-path-non-absolute.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/meta.rs ... ok
test [ui] ui/rfc-2126-crate-paths/keyword-crate-as-identifier.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/non-existent-3.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/non-existent-1.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/non-existent-2.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/not-allowed.rs ... ok
test [ui] ui/rfc-2457/crate_name_nonascii_forbidden-1.rs ... ok
test [ui] ui/rfc-2457/crate_name_nonascii_forbidden-2.rs ... ok
test [ui] ui/rfc-2457/mod_file_nonascii_with_path_allowed.rs ... ok
test [ui] ui/rfc-2457/mod_file_nonascii_forbidden.rs ... ok
test [ui] ui/rfc-2457/idents-normalized.rs ... ok
test [ui] ui/rfc-2361-dbg-macro/dbg-macro-move-semantics.rs ... ok
test [ui] ui/rfc-2361-dbg-macro/dbg-macro-requires-debug.rs ... ok
test [ui] ui/rfc-2457/mod_inline_nonascii_allowed.rs ... ok
test [ui] ui/rfc-2306/convert-id-const-with-gate.rs ... ok
test [ui] ui/panics/panic-handler-flail-wildly.rs ... ok
test [ui] ui/rfc-2497-if-let-chains/ast-pretty-check.rs ... ok
test [ui] ui/rfc-2457/no_mangle_nonascii_forbidden.rs ... ok
test [ui] ui/rfc-2497-if-let-chains/feature-gate.rs ... ok
test [ui] ui/rfc-2565-param-attrs/attr-without-param.rs ... ok
test [ui] ui/rfc-2126-extern-absolute-paths/single-segment.rs ... ok
test [ui] ui/rfc-2565-param-attrs/param-attrs-2018.rs ... ok
test [ui] ui/rfc-2565-param-attrs/param-attrs-builtin-attrs.rs ... ok
test [ui] ui/rfc-2565-param-attrs/param-attrs-allowed.rs ... ok
test [ui] ui/rfc-2627-raw-dylib/feature-gate-raw-dylib-2.rs ... ok
test [ui] ui/rfc-2565-param-attrs/param-attrs-cfg.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/assoc-type.rs ... ignored
test [ui] ui/panics/abort-on-panic.rs ... ok
test [ui] ui/rfc-2627-raw-dylib/feature-gate-raw-dylib.rs ... ok
test [ui] ui/rfc-2627-raw-dylib/link-ordinal-and-name.rs ... ok
test [ui] ui/rfc-2627-raw-dylib/link-ordinal-invalid-format.rs ... ok
test [ui] ui/rfc-2627-raw-dylib/link-ordinal-too-large.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-and-non-const-impl.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/feature-gate.rs#gated ... ok
test [ui] ui/privacy/private-method-rpass.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/feature-gate.rs#stock ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/opt-out-twice.rs ... ok
test [ui] ui/panic-runtime/lto-unwind.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/in-impl-trait.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/syntax.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/in-trait-bounds.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/without-question-mark.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/in-trait-object.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/const-trait-bound-opt-out/with-maybe-sized.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/feature-gate.rs#stock ... ok
test [ui] ui/rfc-2632-const-trait-impl/feature-gate.rs#gated ... ok
test [ui] ui/rfc-2632-const-trait-impl/hir-const-check.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/impl-opt-out-trait.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/inherent-impl.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/syntax.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/stability.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-direct-struct-embedded.rs ... ok
test [ui] ui/print-stdout-eprint-stderr.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-direct-struct-param.rs ... ok
test [ui] ui/rfc-2565-param-attrs/proc-macro-cannot-be-used.rs ... ok
test [ui] ui/rfc-2497-if-let-chains/disallowed-positions.rs ... ok
test [ui] ui/rfc-2565-param-attrs/issue-64682-dropping-first-attrs-in-impl-fns.rs ... ok
test [ui] ui/proc-macro/add-impl.rs ... ok
test [ui] ui/rfc-2565-param-attrs/param-attrs-pretty.rs ... ok
test [ui] ui/rfc1445/feature-gate.rs#no_gate ... ok
test [ui] ui/rfc1445/feature-gate.rs#with_gate ... ok
test [ui] ui/rfc1445/issue-61188-match-slice-forbidden-without-eq.rs ... ok
test [ui] ui/proc-macro/append-impl.rs ... ok
test [ui] ui/proc-macro/attr-on-trait.rs ... ok
test [ui] ui/rfc1445/match-forbidden-without-eq.rs ... ok
test [ui] ui/rfc1445/match-nonempty-array-forbidden-without-eq.rs ... ok
test [ui] ui/rfc1445/match-requires-both-partialeq-and-eq.rs ... ok
test [ui] ui/proc-macro/attr-cfg.rs#bar ... ok
test [ui] ui/rfc1623-2.rs ... ok
test [ui] ui/rfc1623.rs ... ok
test [ui] ui/rfc1717/missing-link-attr.rs ... ok
test [ui] ui/rfc1717/multiple-renames.rs ... ok
test [ui] ui/rfc1717/rename-to-empty.rs ... ok
test [ui] ui/proc-macro/attr-args.rs ... ok
test [ui] ui/proc-macro/attr-stmt-expr-rpass.rs ... ok
test [ui] ui/proc-macro/attr-cfg.rs#foo ... ok
test [ui] ui/proc-macro/bang-macro.rs ... ok
test [ui] ui/proc-macro/count_compound_ops.rs ... ok
test [ui] ui/proc-macro/custom-attr-only-one-derive.rs ... ok
test [ui] ui/proc-macro/debug/dump-debug-span-debug.rs ... ok
test [ui] ui/proc-macro/debug/dump-debug.rs ... ok
test [ui] ui/proc-macro/derive-test.rs ... ok
test [ui] ui/proc-macro/crate-var.rs ... ok
test [ui] ui/proc-macro/empty-crate.rs ... ok
test [ui] ui/proc-macro/derive-attr-cfg.rs ... ok
test [ui] ui/proc-macro/derive-same-struct.rs ... ok
test [ui] ui/proc-macro/derive-b.rs ... ok
test [ui] ui/proc-macro/derive-two-attrs.rs ... ok
test [ui] ui/proc-macro/derive-union.rs ... ok
test [ui] ui/proc-macro/expand-with-a-macro.rs ... ok
test [ui] ui/proc-macro/gen-lifetime-token.rs ... ok
test [ui] ui/proc-macro/is-available.rs ... ok
test [ui] ui/proc-macro/issue-50061.rs ... ok
test [ui] ui/proc-macro/issue-39889.rs ... ok
test [ui] ui/proc-macro/meta-delim.rs ... ok
test [ui] ui/numbers-arithmetic/saturating-float-casts.rs ... ok
test [ui] ui/proc-macro/issue-42708.rs ... ok
test [ui] ui/proc-macro/lifetimes-rpass.rs ... ok
test [ui] ui/proc-macro/macros-in-extern.rs ... ok
test [ui] ui/proc-macro/meta-macro.rs ... ok
test [ui] ui/proc-macro/modify-ast.rs ... ok
test [ui] ui/proc-macro/negative-token.rs ... ok
test [ui] ui/rfcs/rfc-2396-target_feature-11/check-pass.rs ... ignored
test [ui] ui/rfcs/rfc-2396-target_feature-11/feature-gate-target_feature_11.rs ... ignored
test [ui] ui/rfcs/rfc-2396-target_feature-11/fn-ptr.rs ... ignored
test [ui] ui/rfcs/rfc-2396-target_feature-11/fn-traits.rs ... ignored
test [ui] ui/rfcs/rfc-2396-target_feature-11/safe-calls.rs ... ignored
test [ui] ui/rfcs/rfc-2396-target_feature-11/trait-impl.rs ... ignored
test [ui] ui/proc-macro/nodelim-groups.rs ... ok
test [ui] ui/process-termination/process-termination-simple.rs ... ok
test [ui] ui/proc-macro/load-two.rs ... ok
test [ui] ui/ptr-coercion-rpass.rs ... ok
test [ui] ui/project-cache-issue-37154.rs ... ok
test [ui] ui/project-cache-issue-31849.rs ... ok
test [ui] ui/process/tls-exit-status.rs ... ok
test [ui] ui/project-defer-unification.rs ... ok
test [ui] ui/rmeta-priv-warn.rs ... ok
test [ui] ui/rmeta-pass.rs ... ok
test [ui] ui/rmeta-lib-pass.rs ... ok
test [ui] ui/rmeta.rs ... ok
test [ui] ui/process/process-exit.rs ... ok
test [ui] ui/rmeta_meta_main.rs ... ok
test [ui] ui/rust-2018/async-ident-allowed.rs ... ok
test [ui] ui/rmeta_lib.rs ... ok
test [ui] ui/proc-macro/nested-macro-rules.rs ... ok
test [ui] ui/rust-2018/dyn-trait-compatibility.rs ... ok
test [ui] ui/process/process-spawn-nonexistent.rs ... ok
test [ui] ui/rust-2018/async-ident.rs ... ok
test [ui] ui/rust-2018/dyn-keyword.rs ... ok
test [ui] ui/rust-2018/edition-lint-fully-qualified-paths.rs ... ok
test [ui] ui/rust-2018/edition-lint-infer-outlives-multispan.rs ... ok
test [ui] ui/rust-2018/edition-lint-nested-paths.rs ... ok
test [ui] ui/rust-2018/edition-lint-nested-empty-paths.rs ... ok
test [ui] ui/proc-macro/not-joint.rs ... ok
test [ui] ui/rust-2018/edition-lint-infer-outlives.rs ... ok
test [ui] ui/rust-2018/edition-lint-uninferable-outlives.rs ... ok
test [ui] ui/rust-2018/edition-lint-paths-2018.rs ... ok
test [ui] ui/rust-2018/extern-crate-idiomatic-in-2018.rs ... ok
test [ui] ui/rust-2018/edition-lint-paths.rs ... ok
test [ui] ui/proc-macro/span-api-tests.rs ... ok
test [ui] ui/rust-2018/future-proofing-locals.rs ... ok
test [ui] ui/rust-2018/extern-crate-rename.rs ... ok
test [ui] ui/rust-2018/issue-52202-use-suggestions.rs ... ok
test [ui] ui/rust-2018/issue-54006.rs ... ok
test [ui] ui/rust-2018/extern-crate-submod.rs ... ok
test [ui] ui/process/process-sigpipe.rs ... ok
test [ui] ui/rust-2018/local-path-suggestions-2015.rs ... ok
test [ui] ui/proc-macro/struct-field-macro.rs ... ok
test [ui] ui/rust-2018/issue-54400-unused-extern-crate-attr-span.rs ... ok
test [ui] ui/rust-2018/local-path-suggestions-2018.rs ... ok
test [ui] ui/rust-2018/macro-use-warned-against.rs ... ok
test [ui] ui/rust-2018/remove-extern-crate.rs ... ok
test [ui] ui/rust-2018/trait-import-suggestions.rs ... ok
test [ui] ui/rust-2018/proc-macro-crate-in-paths.rs ... ok
test [ui] ui/rust-2018/try-ident.rs ... ok
test [ui] ui/process-termination/process-termination-blocking-io.rs ... ok
test [ui] ui/rust-2018/uniform-paths/ambiguity-macros-nested.rs ... ok
test [ui] ui/rust-2018/try-macro.rs ... ok
test [ui] ui/rust-2018/uniform-paths/ambiguity-macros.rs ... ok
test [ui] ui/rust-2018/uniform-paths/ambiguity-nested.rs ... ok
test [ui] ui/rust-2018/uniform-paths/block-scoped-shadow-nested.rs ... ok
test [ui] ui/rust-2018/uniform-paths/ambiguity.rs ... ok
test [ui] ui/rust-2018/uniform-paths/block-scoped-shadow.rs ... ok
test [ui] ui/rust-2018/uniform-paths/deadlock.rs ... ok
test [ui] ui/rust-2018/uniform-paths/issue-54253.rs ... ok
test [ui] ui/rust-2018/uniform-paths/cross-crate.rs ... ok
test [ui] ui/rust-2018/uniform-paths/fn-local-enum.rs ... ok
test [ui] ui/range.rs ... ok
test [ui] ui/rust-2018/uniform-paths/from-decl-macro.rs ... ok
test [ui] ui/rust-2018/uniform-paths/macro-rules.rs ... ok
test [ui] ui/proc-macro/smoke.rs ... ok
test [ui] ui/pure-sum.rs ... ok
test [ui] ui/rust-2018/uniform-paths/prelude-fail-2.rs ... ok
test [ui] ui/rust-2018/uniform-paths/issue-56596-2.rs ... ok
test [ui] ui/rust-2018/uniform-paths/prelude-fail.rs ... ok
test [ui] ui/rust-2018/uniform-paths/issue-56596.rs ... ok
test [ui] ui/rustc-args-required-const2.rs ... ok
test [ui] ui/rustc-error.rs ... ok
test [ui] ui/rustc-args-required-const.rs ... ok
test [ui] ui/sanitize/address.rs ... ignored
test [ui] ui/sanitize/badfree.rs ... ignored
test [ui] ui/sanitize/cfg.rs#address ... ignored
test [ui] ui/sanitize/cfg.rs#leak ... ignored
test [ui] ui/sanitize/cfg.rs#memory ... ignored
test [ui] ui/sanitize/cfg.rs#thread ... ignored
test [ui] ui/sanitize/incompatible.rs ... ok
test [ui] ui/rust-2018/uniform-paths/prelude.rs ... ok
test [ui] ui/sanitize/issue-72154-lifetime-markers.rs ... ignored
test [ui] ui/sanitize/leak.rs ... ignored
test [ui] ui/sanitize/memory.rs ... ignored
test [ui] ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt0 ... ignored
test [ui] ui/sanitize/new-llvm-pass-manager-thin-lto.rs#opt1 ... ignored
test [ui] ui/sanitize/thread.rs ... ignored
test [ui] ui/process/process-remove-from-env.rs ... ok
test [ui] ui/sanitize/use-after-scope.rs ... ignored
test [ui] ui/sanitize/unsupported-target.rs ... ok
test [ui] ui/sanitize/inline-always.rs ... ok
test [ui] ui/safe-extern-statics-mut.rs ... ok
test [ui] ui/safe-extern-statics.rs ... ok
test [ui] ui/save-analysis/emit-notifications.rs ... ok
test [ui] ui/save-analysis/issue-59134-0.rs ... ok
test [ui] ui/save-analysis/issue-59134-1.rs ... ok
test [ui] ui/save-analysis/issue-64659.rs ... ok
test [ui] ui/save-analysis/issue-65411.rs ... ok
test [ui] ui/save-analysis/issue-63663.rs ... ok
test [ui] ui/save-analysis/issue-68621.rs ... ok
test [ui] ui/save-analysis/issue-65590.rs ... ok
test [ui] ui/save-analysis/issue-72267.rs ... ok
test [ui] ui/save-analysis/issue-73020.rs ... ok
test [ui] ui/self/arbitrary-self-types-not-object-safe.rs#object_safe_for_dispatch ... ok
test [ui] ui/self/arbitrary-self-types-not-object-safe.rs#curr ... ok
test [ui] ui/rust-2018/suggestions-not-always-applicable.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime-async.rs ... ok
test [ui] ui/save-analysis/issue-73022.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime_impl_trait-async.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime_impl_trait.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime_mismatch.rs ... ok
test [ui] ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs ... ok
test [ui] ui/process/process-envs.rs ... ok
test [ui] ui/reachable-unnameable-type-alias.rs ... ok
test [ui] ui/raw-ref-op/raw-ref-op.rs ... ok
test [ui] ui/range_inclusive_gate.rs ... ok
test [ui] ui/raw-str.rs ... ok
test [ui] ui/range-type-infer.rs ... ok
test [ui] ui/self/elision/alias-async.rs ... ok
test [ui] ui/rcvr-borrowed-to-region.rs ... ok
test [ui] ui/readalias.rs ... ok
test [ui] ui/self/elision/alias.rs ... ok
test [ui] ui/self/elision/assoc.rs ... ok
test [ui] ui/self/elision/assoc-async.rs ... ok
test [ui] ui/self/elision/lt-alias-async.rs ... ok
test [ui] ui/ranges-precedence.rs ... ok
test [ui] ui/self/elision/lt-alias.rs ... ok
test [ui] ui/refer-to-other-statics-by-value.rs ... ok
test [ui] ui/self/elision/lt-assoc-async.rs ... ok
test [ui] ui/self/elision/lt-assoc.rs ... ok
test [ui] ui/reexport-star.rs ... ok
test [ui] ui/self/elision/lt-ref-self.rs ... ok
test [ui] ui/raw-fat-ptr.rs ... ok
test [ui] ui/self/elision/lt-self.rs ... ok
test [ui] ui/self/elision/lt-self-async.rs ... ok
test [ui] ui/self/elision/lt-ref-self-async.rs ... ok
test [ui] ui/self/elision/lt-struct.rs ... ok
test [ui] ui/self/elision/lt-struct-async.rs ... ok
test [ui] ui/range_inclusive.rs ... ok
test [ui] ui/self/elision/multiple-ref-self.rs ... ok
test [ui] ui/self/elision/ref-alias-async.rs ... ok
test [ui] ui/self/elision/multiple-ref-self-async.rs ... ok
test [ui] ui/self/elision/ref-alias.rs ... ok
test [ui] ui/self/elision/ref-assoc-async.rs ... ok
test [ui] ui/self/elision/ref-assoc.rs ... ok
test [ui] ui/self/elision/ref-mut-alias-async.rs ... ok
test [ui] ui/self/elision/ref-mut-alias.rs ... ok
test [ui] ui/self/elision/ref-mut-self.rs ... ok
test [ui] ui/self/elision/ref-mut-struct.rs ... ok
test [ui] ui/regions/regions-addr-of-interior-of-unique-box.rs ... ok
test [ui] ui/self/elision/ref-mut-struct-async.rs ... ok
test [ui] ui/self/elision/ref-mut-self-async.rs ... ok
test [ui] ui/reexport-should-still-link.rs ... ok
test [ui] ui/self/elision/ref-self.rs ... ok
test [ui] ui/self/elision/ref-struct-async.rs ... ok
test [ui] ui/self/elision/ref-struct.rs ... ok
test [ui] ui/self/elision/ref-self-async.rs ... ok
test [ui] ui/self/elision/self.rs ... ok
test [ui] ui/self/elision/self-async.rs ... ok
test [ui] ui/self/elision/struct.rs ... ok
test [ui] ui/self/elision/struct-async.rs ... ok
test [ui] ui/self/point-at-arbitrary-self-type-method.rs ... ok
test [ui] ui/self/explicit-self-closures.rs ... ok
test [ui] ui/regions/regions-bound-lists-feature-gate.rs ... ok
test [ui] ui/realloc-16687.rs ... ok
test [ui] ui/regions/regions-bound-lists-feature-gate-2.rs ... ok
test [ui] ui/self/self-impl.rs ... ok
test [ui] ui/self/point-at-arbitrary-self-type-trait-method.rs ... ok
test [ui] ui/self/self-infer.rs ... ok
test [ui] ui/regions/regions-bot.rs ... ok
test [ui] ui/reachable-unnameable-items.rs ... ok
test [ui] ui/regions/regions-addr-of-ret.rs ... ok
test [ui] ui/self/self-in-typedefs.rs ... ok
test [ui] ui/self/self-vs-path-ambiguity.rs ... ok
test [ui] ui/regions/regions-assoc-type-static-bound.rs ... ok
test [ui] ui/self/self_lifetime-async.rs ... ok
test [ui] ui/self/self-type-param.rs ... ok
test [ui] ui/regions/regions-borrow-evec-fixed.rs ... ok
test [ui] ui/self/self_type_keyword-2.rs ... ok
test [ui] ui/self/self_lifetime.rs ... ok
test [ui] ui/self/self_type_keyword.rs ... ok
test [ui] ui/self/suggest-self.rs ... ok
test [ui] ui/self/suggest-self-2.rs ... ok
test [ui] ui/regions/regions-borrow-evec-uniq.rs ... ok
test [ui] ui/regions/regions-borrow-uniq.rs ... ok
test [ui] ui/process/process-status-inherits-stdin.rs ... ok
test [ui] ui/regions/regions-close-over-type-parameter-successfully.rs ... ok
test [ui] ui/regions/regions-creating-enums2.rs ... ok
test [ui] ui/regions/regions-assoc-type-region-bound.rs ... ok
test [ui] ui/regions/regions-borrow-at.rs ... ok
test [ui] ui/regions/regions-copy-closure.rs ... ok
test [ui] ui/regions/regions-dependent-let-ref.rs ... ok
test [ui] ui/seq-args.rs ... ok
test [ui] ui/regions/regions-creating-enums5.rs ... ok
test [ui] ui/regions/regions-debruijn-of-object.rs ... ok
test [ui] ui/regions/regions-dependent-autoslice.rs ... ok
test [ui] ui/regions/regions-dependent-autofn.rs ... ok
test [ui] ui/reexport-test-harness-main.rs ... ok
test [ui] ui/shadowed/shadowed-lifetime.rs ... ok
test [ui] ui/shadow-bool.rs ... ok
test [ui] ui/shadowed/shadowed-use-visibility.rs ... ok
test [ui] ui/shadowed/shadowed-type-parameter.rs ... ok
test [ui] ui/regions/regions-dependent-addr-of.rs ... ok
test [ui] ui/shadowed/shadowed-trait-methods.rs ... ok
test [ui] ui/shadowed/shadowing-in-the-same-pattern.rs ... ok
test [ui] ui/shift-various-bad-types.rs ... ok
test [ui] ui/short-error-format.rs ... ok
test [ui] ui/regions/regions-early-bound-lifetime-in-assoc-fn.rs ... ok
test [ui] ui/regions/regions-early-bound-used-in-bound.rs ... ok
test [ui] ui/regions/regions-early-bound-trait-param.rs ... ok
test [ui] ui/regions/regions-escape-into-other-fn.rs ... ok
test [ui] ui/regions/regions-early-bound-used-in-bound-method.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-arithmetic.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs ... ok
test [ui] ui/regions/regions-early-bound-used-in-type-param.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-bitmask.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-cast.rs ... ok
test [ui] ui/regions/regions-expl-self.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-comparison.rs ... ok
test [ui] ui/simd-type.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-elements.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-reduction.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-generic-select.rs ... ok
test [ui] ui/simd-type-generic-monomorphisation.rs ... ok
test [ui] ui/regions/regions-fn-subtyping-2.rs ... ok
test [ui] ui/regions/regions-infer-borrow-scope-within-loop-ok.rs ... ok
test [ui] ui/regions/regions-fn-subtyping.rs ... ok
test [ui] ui/regions/regions-infer-borrow-scope.rs ... ok
test [ui] ui/regions/regions-free-region-outlives-static-outlives-free-region.rs ... ok
test [ui] ui/regions/regions-infer-borrow-scope-addr-of.rs ... ok
test [ui] ui/regions/regions-infer-borrow-scope-view.rs ... ok
test [ui] ui/regions/regions-infer-static-from-proc.rs ... ok
test [ui] ui/regions/regions-infer-call-2.rs ... ok
test [ui] ui/regions/regions-infer-region-in-fn-but-not-type.rs ... ok
test [ui] ui/regions/regions-infer-call.rs ... ok
test [ui] ui/similar-tokens.rs ... ok
test [ui] ui/regions/regions-issue-22246.rs ... ok
test [ui] ui/regions/regions-infer-reborrow-ref-mut-recurse.rs ... ok
test [ui] ui/single-primitive-inherent-impl.rs ... ok
test [ui] ui/regions/regions-lifetime-nonfree-late-bound.rs ... ok
test [ui] ui/regions/regions-issue-21422.rs ... ok
test [ui] ui/regions/regions-lifetime-static-items-enclosing-scopes.rs ... ok
test [ui] ui/single-use-lifetime/fn-types.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-fn-argument.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-inherent-impl-header.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-inherent-method-return.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-inherent-method-argument.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-fn-argument-in-band.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-fn-return.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-trait-method-argument.rs ... ok
test [ui] ui/single-use-lifetime/one-use-in-struct.rs ... ok
test [ui] ui/single-use-lifetime/two-uses-in-inherent-method-argument-and-return.rs ... ok
test [ui] ui/single-use-lifetime/two-uses-in-fn-argument-and-return.rs ... ok
test [ui] ui/single-use-lifetime/two-uses-in-fn-arguments.rs ... ok
test [ui] ui/regions/regions-nullary-variant.rs ... ok
test [ui] ui/single-use-lifetime/two-uses-in-inherent-impl-header.rs ... ok
test [ui] ui/single-use-lifetime/zero-uses-in-impl.rs ... ok
test [ui] ui/single-use-lifetime/zero-uses-in-fn.rs ... ok
test [ui] ui/sized-cycle-note.rs ... ok
test [ui] ui/single-use-lifetime/two-uses-in-trait-impl.rs ... ok
test [ui] ui/regions/regions-mock-codegen.rs ... ok
test [ui] ui/slice-2.rs ... ok
test [ui] ui/slice-mut-2.rs ... ok
test [ui] ui/slightly-nice-generic-literal-messages.rs ... ok
test [ui] ui/regions/regions-lub-ref-ref-rc.rs ... ok
test [ui] ui/slice-mut.rs ... ok
test [ui] ui/span/E0046.rs ... ok
test [ui] ui/regions/regions-infer-contravariance-due-to-ret.rs ... ok
test [ui] ui/span/E0057.rs ... ok
test [ui] ui/regions/regions-link-fn-args.rs ... ok
test [ui] ui/span/E0072.rs ... ok
test [ui] ui/span/E0204.rs ... ok
test [ui] ui/span/E0493.rs ... ok
test [ui] ui/span/E0536.rs ... ok
test [ui] ui/span/E0535.rs ... ok
test [ui] ui/span/E0537.rs ... ok
test [ui] ui/span/borrowck-borrow-overloaded-auto-deref-mut.rs ... ok
test [ui] ui/span/borrowck-call-method-from-mut-aliasable.rs ... ok
test [ui] ui/span/borrowck-borrow-overloaded-deref-mut.rs ... ok
test [ui] ui/regions/regions-reassign-let-bound-pointer.rs ... ok
test [ui] ui/span/borrowck-call-is-borrow-issue-12224.rs ... ok
test [ui] ui/span/borrowck-fn-in-const-b.rs ... ok
test [ui] ui/span/borrowck-object-mutability.rs ... ok
test [ui] ui/span/borrowck-let-suggestion-suffixes.rs ... ok
test [ui] ui/span/borrowck-ref-into-rvalue.rs ... ok
test [ui] ui/regions/regions-reassign-match-bound-pointer.rs ... ok
test [ui] ui/span/destructor-restrictions.rs ... ok
test [ui] ui/span/dropck-object-cycle.rs ... ok
test [ui] ui/span/dropck_direct_cycle_with_drop.rs ... ok
test [ui] ui/span/dropck_arr_cycle_checked.rs ... ok
test [ui] ui/regions/regions-no-bound-in-argument-cleanup.rs ... ok
test [ui] ui/span/dropck_misc_variants.rs ... ok
test [ui] ui/span/gated-features-attr-spans.rs ... ok
test [ui] ui/span/import-ty-params.rs ... ok
test [ui] ui/span/impl-wrong-item-for-trait.rs ... ok
test [ui] ui/span/dropck_vec_cycle_checked.rs ... ok
test [ui] ui/span/coerce-suggestions.rs ... ok
test [ui] ui/span/issue-11925.rs ... ok
test [ui] ui/span/issue-15480.rs ... ok
test [ui] ui/span/issue-24356.rs ... ok
test [ui] ui/span/issue-23338-locals-die-before-temps-of-body.rs ... ok
test [ui] ui/span/issue-23729.rs ... ok
test [ui] ui/span/issue-23827.rs ... ok
test [ui] ui/regions/regions-params.rs ... ok
test [ui] ui/span/issue-24805-dropck-child-has-items-via-parent.rs ... ok
test [ui] ui/span/issue-24690.rs ... ok
test [ui] ui/span/issue-24805-dropck-trait-has-items.rs ... ok
test [ui] ui/span/issue-27522.rs ... ok
test [ui] ui/span/issue-26656.rs ... ok
test [ui] ui/span/issue-24895-copy-clone-dropck.rs ... ok
test [ui] ui/span/issue-29106.rs ... ok
test [ui] ui/span/issue-25199.rs ... ok
test [ui] ui/span/issue-29595.rs ... ok
test [ui] ui/span/issue-35987.rs ... ok
test [ui] ui/span/issue-36530.rs ... ok
test [ui] ui/span/issue-33884.rs ... ok
test [ui] ui/span/issue-37767.rs ... ok
test [ui] ui/span/issue-36537.rs ... ok
test [ui] ui/span/issue-34264.rs ... ok
test [ui] ui/span/issue-39698.rs ... ok
test [ui] ui/span/issue-39018.rs ... ok
test [ui] ui/span/issue-43927-non-ADT-derive.rs ... ok
test [ui] ui/span/issue-42234-unknown-receiver-type.rs ... ok
test [ui] ui/span/issue-40157.rs ... ok
test [ui] ui/span/issue28498-reject-ex1.rs ... ok
test [ui] ui/span/issue-7575.rs ... ok
test [ui] ui/span/issue28498-reject-lifetime-param.rs ... ok
test [ui] ui/regions/regions-return-interior-of-option.rs ... ok
test [ui] ui/span/macro-span-replacement.rs ... ok
test [ui] ui/span/issue28498-reject-passed-to-fn.rs ... ok
test [ui] ui/span/lint-unused-unsafe.rs ... ok
test [ui] ui/span/issue28498-reject-trait-bound.rs ... ok
test [ui] ui/span/macro-ty-params.rs ... ok
test [ui] ui/span/method-and-field-eager-resolution.rs ... ok
test [ui] ui/span/missing-unit-argument.rs ... ok
test [ui] ui/regions/regions-self-in-enums.rs ... ok
test [ui] ui/span/multiline-span-E0072.rs ... ok
test [ui] ui/span/multispan-import-lint.rs ... ok
test [ui] ui/span/mut-ptr-cant-outlive-ref.rs ... ok
test [ui] ui/span/mut-arg-hint.rs ... ok
test [ui] ui/span/non-existing-module-import.rs ... ok
test [ui] ui/span/pub-struct-field.rs ... ok
test [ui] ui/span/multiline-span-simple.rs ... ok
test [ui] ui/span/move-closure.rs ... ok
test [ui] ui/span/recursive-type-field.rs ... ok
test [ui] ui/regions/regions-relate-bound-regions-on-closures-to-inference-variables.rs ... ok
test [ui] ui/span/range-2.rs ... ok
test [ui] ui/span/regionck-unboxed-closure-lifetimes.rs ... ok
test [ui] ui/span/regions-escape-loop-via-variable.rs ... ok
test [ui] ui/span/regions-close-over-type-parameter-2.rs ... ok
test [ui] ui/span/regions-close-over-borrowed-ref-in-obj.rs ... ok
test [ui] ui/regions/regions-self-impls.rs ... ok
test [ui] ui/regions/regions-scope-chain-example.rs ... ok
test [ui] ui/span/send-is-not-static-ensures-scoping.rs ... ok
test [ui] ui/span/regions-escape-loop-via-vec.rs ... ok
test [ui] ui/span/regions-infer-borrow-scope-within-loop.rs ... ok
test [ui] ui/span/slice-borrow.rs ... ok
test [ui] ui/span/suggestion-non-ascii.rs ... ok
test [ui] ui/span/send-is-not-static-std-sync-2.rs ... ok
test [ui] ui/span/type-binding.rs ... ok
test [ui] ui/span/send-is-not-static-std-sync.rs ... ok
test [ui] ui/span/type-annotations-needed-expr.rs ... ok
test [ui] ui/span/typo-suggestion.rs ... ok
test [ui] ui/span/visibility-ty-params.rs ... ok
test [ui] ui/regions/regions-simple.rs ... ok
test [ui] ui/regions/regions-static-bound-rpass.rs ... ok
test [ui] ui/span/wf-method-late-bound-regions.rs ... ok
test [ui] ui/span/vec_refs_data_with_early_death.rs ... ok
test [ui] ui/span/vec-must-not-hide-type-from-dropck.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-feature-gate-default.rs ... ok
test [ui] ui/specialization/deafult-associated-type-bound-1.rs ... ok
test [ui] ui/specialization/deafult-generic-associated-type-bound.rs ... ok
test [ui] ui/specialization/deafult-associated-type-bound-2.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-no-default.rs ... ok
test [ui] ui/specialization/defaultimpl/validation.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-trait-item-not-implemented.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-wfcheck.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-trait-not-implemented.rs ... ok
test [ui] ui/specialization/issue-39448.rs ... ok
test [ui] ui/span/transitive-dep-span.rs ... ok
test [ui] ui/specialization/issue-39618.rs ... ok
test [ui] ui/specialization/issue-36804.rs ... ok
test [ui] ui/specialization/issue-44861.rs ... ok
test [ui] ui/specialization/issue-52050.rs ... ok
test [ui] ui/specialization/issue-63716-parse-async.rs ... ok
test [ui] ui/specialization/issue-59435.rs ... ok
test [ui] ui/specialization/issue-70442.rs ... ok
test [ui] ui/specialization/min_specialization/dyn-trait-assoc-types.rs ... ok
test [ui] ui/regions/regions-variance-covariant-use-covariant.rs ... ok
test [ui] ui/specialization/min_specialization/repeated_projection_type.rs ... ok
test [ui] ui/specialization/min_specialization/repeating_param.rs ... ok
test [ui] ui/specialization/min_specialization/implcit-well-formed-bounds.rs ... ok
test [ui] ui/specialization/min_specialization/repeating_lifetimes.rs ... ok
test [ui] ui/specialization/min_specialization/spec-iter.rs ... ok
test [ui] ui/regions/regions-variance-contravariant-use-contravariant.rs ... ok
test [ui] ui/specialization/min_specialization/spec-reference.rs ... ok
test [ui] ui/specialization/min_specialization/specialization_marker.rs ... ok
test [ui] ui/specialization/min_specialization/specialize_on_marker.rs ... ok
test [ui] ui/specialization/min_specialization/specialization_super_trait.rs ... ok
test [ui] ui/specialization/min_specialization/specialization_trait.rs ... ok
test [ui] ui/specialization/min_specialization/impl_specialization_trait.rs ... ok
test [ui] ui/specialization/min_specialization/specialize_on_spec_trait.rs ... ok
test [ui] ui/specialization/min_specialization/specialize_on_static.rs ... ok
test [ui] ui/specialization/min_specialization/specialize_on_trait.rs ... ok
test [ui] ui/specialization/non-defaulted-item-fail.rs ... ok
test [ui] ui/resolve-issue-2428.rs ... ok
test [ui] ui/specialization/specialization-default-projection.rs ... ok
test [ui] ui/specialization/specialization-default-types.rs ... ok
test [ui] ui/regions/regions-trait-object-1.rs ... ok
test [ui] ui/specialization/specialization-feature-gate-default.rs ... ok
test [ui] ui/return-nil.rs ... ok
test [ui] ui/specialization/specialization-feature-gate-overlap.rs ... ok
test [ui] ui/specialization/specialization-no-default.rs ... ok
test [ui] ui/regions/regions-static-closure.rs ... ok
test [ui] ui/repeat-expr-in-static.rs ... ok
test [ui] ui/specialization/specialization-overlap-hygiene.rs ... ok
test [ui] ui/specialization/specialization-overlap-negative.rs ... ok
test [ui] ui/ret-none.rs ... ok
test [ui] ui/repr_c_int_align.rs ... ok
test [ui] ui/specialization/specialization-polarity.rs ... ok
test [ui] ui/specialization/specialization-overlap.rs ... ok
test [ui] ui/process/process-spawn-with-unicode-params.rs ... ok
test [ui] ui/ret-bang.rs ... ok
test [ui] ui/result-opt-conversions.rs ... ok
test [ui] ui/resolve-pseudo-shadowing.rs ... ok
test [ui] ui/stability-attribute/missing-stability-attr-at-top-level.rs ... ok
test [ui] ui/rfc-0107-bind-by-move-pattern-guards/rfc-basic-examples.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-issue-43027.rs ... ok
test [ui] ui/resource-assign-is-not-copy.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-non-staged-force-unstable.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-non-staged.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-sanity-2.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-sanity-3.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-issue.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-sanity-4.rs ... ok
test [ui] ui/stability-attribute/stability-attribute-sanity.rs ... ok
test [ui] ui/stability-in-private-module.rs ... ok
test [ui] ui/stable-features.rs ... ok
test [ui] ui/resource-destruct.rs ... ok
test [ui] ui/static/static-closures.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/enum_same_crate.rs ... ok
test [ui] ui/static/issue-24843.rs ... ok
test [ui] ui/static/static-drop-scope.rs ... ok
test [ui] ui/static/static-items-cant-move.rs ... ok
test [ui] ui/static/static-lifetime-bound.rs ... ok
test [ui] ui/static/static-lifetime.rs ... ok
test [ui] ui/static/static-extern-type.rs ... ok
test [ui] ui/rfc-0107-bind-by-move-pattern-guards/bind-by-move-no-guards.rs ... ok
test [ui] ui/static/static-method-privacy.rs ... ok
test [ui] ui/static/static-mut-foreign-requires-unsafe.rs ... ok
test [ui] ui/static/static-mut-not-pat.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-for-never.rs ... ok
test [ui] ui/static/static-mut-not-constant.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/structs_same_crate.rs ... ok
test [ui] ui/static/static-mut-bad-types.rs ... ok
test [ui] ui/static/static-mut-requires-unsafe.rs ... ok
test [ui] ui/static/static-region-bound.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-for-str.rs ... ok
test [ui] ui/static_sized_requirement.rs ... ok
test [ui] ui/static/static-reference-to-fn-2.rs ... ok
test [ui] ui/static/static-vec-repeat-not-constant.rs ... ok
test [ui] ui/rfc-2091-track-caller/caller-location-fnptr-rt-ctfe-equiv.rs ... ok
test [ui] ui/static/static-reference-to-fn-1.rs ... ok
test [ui] ui/staticness-mismatch.rs ... ok
test [ui] ui/regions/regions-no-variance-from-fn-generics.rs ... ok
test [ui] ui/rfc-2027-object-safe-for-dispatch/manual-self-impl-for-unsafe-obj.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs ... ok
test [ui] ui/static/static-priv-by-default2.rs ... ok
test [ui] ui/rfc-2008-non-exhaustive/variants_same_crate.rs ... ok
test [ui] ui/rfc-2091-track-caller/caller-location-intrinsic.rs ... ok
test [ui] ui/rfc-2091-track-caller/const-caller-location.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs ... ok
test [ui] ui/std-uncopyable-atomics.rs ... ok
test [ui] ui/stmt_expr_attrs_no_feature.rs ... ok
test [ui] ui/rfc-2091-track-caller/pass.rs ... ok
test [ui] ui/str/str-array-assignment.rs ... ok
test [ui] ui/regions/regions-refcell.rs ... ok
test [ui] ui/str/str-concat-on-double-ref.rs ... ok
test [ui] ui/str/str-as-char.rs ... ok
test [ui] ui/str/str-lit-type-mismatch.rs ... ok
test [ui] ui/str/str-idx.rs ... ok
test [ui] ui/rfc-2091-track-caller/call-chain.rs ... ok
test [ui] ui/rfc-2091-track-caller/intrinsic-wrapper.rs ... ok
test [ui] ui/str/str-mut-idx.rs ... ok
test [ui] ui/rfc-2091-track-caller/tracked-trait-obj.rs ... ok
test [ui] ui/rfc-2093-infer-outlives/privacy.rs ... ok
test [ui] ui/rfc-2091-track-caller/tracked-fn-ptr-with-arg.rs ... ok
test [ui] ui/rfc-2091-track-caller/track-caller-ffi.rs ... ok
test [ui] ui/struct-literal-variant-in-if.rs ... ok
test [ui] ui/rfc-2091-track-caller/track-caller-attribute.rs ... ok
test [ui] ui/rfc-2091-track-caller/tracked-fn-ptr.rs ... ok
test [ui] ui/rfc-2091-track-caller/diverging-caller-location.rs ... ok
test [ui] ui/rfc-2091-track-caller/tracked-trait-impls.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/generic-bound.rs ... ok
test [ui] ui/rfc1445/allow-hide-behind-direct-unsafe-ptr-embedded.rs ... ok
test [ui] ui/rfc1445/allow-hide-behind-indirect-unsafe-ptr-param.rs ... ok
test [ui] ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs ... ok
test [ui] ui/rfc-2497-if-let-chains/protect-precedences.rs ... ok
test [ui] ui/rfc1445/allow-hide-behind-direct-unsafe-ptr-param.rs ... ok
test [ui] ui/rfc-2091-track-caller/std-panic-locations.rs ... ok
test [ui] ui/rfc1445/allow-hide-behind-indirect-unsafe-ptr-embedded.rs ... ok
test [ui] ui/repr/repr-no-niche.rs ... ok
test [ui] ui/rfc1445/allow-use-behind-cousin-variant.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-doubly-indirect-embedded.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-doubly-indirect-param.rs ... ok
test [ui] ui/rfc1445/match-empty-array-allowed-without-eq-issue-62336.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs ... ok
test [ui] ui/rfc-2361-dbg-macro/dbg-macro-expected-behavior.rs ... ok
test [ui] ui/rfc1445/fn-ptr-is-structurally-matchable.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-indirect-struct-param.rs ... ok
test [ui] ui/rfc1445/issue-62307-match-ref-ref-forbidden-without-eq.rs ... ok
test [ui] ui/rfc1445/cant-hide-behind-indirect-struct-embedded.rs ... ok
test [ui] ui/rfc1445/issue-63479-match-fnptr.rs ... ok
test [ui] ui/rfc1445/phantom-data-is-structurally-matchable.rs ... ok
test [ui] ui/rfcs/rfc-1014-2.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-empty.rs ... ok
test [ui] ui/rfcs/rfc-1014.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result.rs ... ok
test [ui] ui/rfcs/rfc-1789-as-cell/from-mut.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-impl-termination.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-result-box-error_ok.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-exitcode.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/constref.rs ... ok
test [ui] ui/rfcs/rfc-1937-termination-trait/termination-trait-for-str.rs ... ok
test [ui] ui/rfc-1937-termination-trait/termination-trait-in-test.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/for.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/box.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/general.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/enum.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/lit.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/ref-region.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/reset-mode.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/struct.rs ... ok
test [ui] ui/rfcs/rfc-2151-raw-identifiers/basic.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/slice.rs ... ok
test [ui] ui/rfcs/rfc-2151-raw-identifiers/attr.rs ... ok
test [ui] ui/rfcs/rfc-2421-unreserve-pure-offsetof-sizeof-alignof.rs ... ok
test [ui] ui/rfcs/rfc-2175-or-if-while-let/basic.rs ... ok
test [ui] ui/rfcs/rfc-2151-raw-identifiers/macros.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/tuple.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/tuple-struct.rs ... ok
test [ui] ui/rfcs/rfc-2151-raw-identifiers/items.rs ... ok
test [ui] ui/rfcs/rfc1445/eq-allows-match.rs ... ok
test [ui] ui/rfcs/rfc1717/library-override.rs ... ok
test [ui] ui/rfcs/rfc1623.rs ... ok
test [ui] ui/rfcs/rfc-2302-self-struct-ctor.rs ... ok
test [ui] ui/rfcs/rfc1445/eq-allows-match-on-ty-in-macro.rs ... ok
test [ui] ui/rmeta-rpass.rs ... ok
test [ui] ui/rust-2018/issue-51008-1.rs ... ok
test [ui] ui/rust-2018/issue-51008.rs ... ok
test [ui] ui/rust-2018/extern-crate-idiomatic.rs ... ok
test [ui] ui/rvalue-static-promotion.rs ... ok
test [ui] ui/rustc-rust-log.rs ... ok
test [ui] ui/self/arbitrary_self_types_raw_pointer_struct.rs ... ok
test [ui] ui/self/arbitrary_self_types_stdlib_pointers.rs ... ok
test [ui] ui/rust-2018/uniform-paths/redundant.rs ... ok
test [ui] ui/self/arbitrary_self_types_pointers_and_wrappers.rs ... ok
test [ui] ui/purity-infer.rs ... ok
test [ui] ui/self/arbitrary_self_types_silly.rs ... ok
test [ui] ui/rust-2018/extern-crate-referenced-by-self-path.rs ... ok
test [ui] ui/rfcs/rfc-2005-default-binding-mode/range.rs ... ok
test [ui] ui/self/arbitrary_self_types_nested.rs ... ok
test [ui] ui/self/arbitrary_self_types_unsized_struct.rs ... ok
test [ui] ui/self/arbitrary_self_types_struct.rs ... ok
test [ui] ui/self/arbitrary_self_types_raw_pointer_trait.rs ... ok
test [ui] ui/self/arbitrary_self_types_trait.rs ... ok
test [ui] ui/rfcs/rfc1857-drop-order.rs ... ok
test [ui] ui/self/explicit-self-objects-uniq.rs ... ok
test [ui] ui/self/builtin-superkinds-self-type.rs ... ok
test [ui] ui/self/object-safety-sized-self-by-value-self.rs ... ok
test [ui] ui/self/by-value-self-in-mut-slot.rs ... ok
test [ui] ui/self/explicit-self-generic.rs ... ok
test [ui] ui/self/explicit-self.rs ... ok
test [ui] ui/self/move-self.rs ... ok
test [ui] ui/self/self-in-mut-slot-default-method.rs ... ok
test [ui] ui/self/self-impl-2.rs ... ok
test [ui] ui/self/self-shadowing-import.rs ... ok
test [ui] ui/self/self-in-mut-slot-immediate-value.rs ... ok
test [ui] ui/self/self-re-assign.rs ... ok
test [ui] ui/self/explicit_self_xcrate_exe.rs ... ok
test [ui] ui/sized-borrowed-pointer.rs ... ok
test [ui] ui/self/where-for-self.rs ... ok
test [ui] ui/self/uniq-self-in-mut-slot.rs ... ok
test [ui] ui/self/ufcs-explicit-self.rs ... ok
test [ui] ui/sepcomp/sepcomp-fns-backwards.rs ... ok
test [ui] ui/sepcomp/sepcomp-extern.rs ... ok
test [ui] ui/sepcomp/sepcomp-statics.rs ... ok
test [ui] ui/sepcomp/sepcomp-fns.rs ... ok
test [ui] ui/semistatement-in-lambda.rs ... ok
test [ui] ui/sepcomp/sepcomp-cci.rs ... ok
test [ui] ui/shadow.rs ... ok
test [ui] ui/sepcomp/sepcomp-lib.rs ... ok
test [ui] ui/seq-compare.rs ... ok
test [ui] ui/shadowed-use-visibility.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-inlining-issue67557-ice.rs ... ok
test [ui] ui/signal-alternate-stack-cleanup.rs ... ok
test [ui] ui/simd-intrinsic/simd-intrinsic-inlining-issue67557.rs ... ok
test [ui] ui/self/object-safety-sized-self-return-Self.rs ... ok
test [ui] ui/simd/simd-intrinsic-float-minmax.rs ... ok
test [ui] ui/sepcomp/sepcomp-unwind.rs ... ok
test [ui] ui/simd/simd-intrinsic-float-math.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-arithmetic.rs ... ok
test [ui] ui/simd/simd-generics.rs ... ok
test [ui] ui/simd/simd-size-align.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-arithmetic-saturating.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-elements.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-bitmask.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-gather.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-reduction.rs ... ok
test [ui] ui/self/string-self-append.rs ... ok
test [ui] ui/simd/simd-type.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-cast.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-comparison.rs ... ok
test [ui] ui/simd/simd-intrinsic-generic-select.rs ... ok
test [ui] ui/structs/struct-duplicate-comma.rs ... ok
test [ui] ui/structs/struct-field-cfg.rs ... ok
test [ui] ui/structs/struct-base-wrong-type.rs ... ok
test [ui] ui/simple-infer.rs ... ok
test [ui] ui/simple_global_asm.rs ... ok
test [ui] ui/structs/struct-fields-dupe.rs ... ok
test [ui] ui/structs/struct-fields-decl-dupe.rs ... ok
test [ui] ui/structs/struct-field-init-syntax.rs ... ok
test [ui] ui/structs/struct-fields-hints-no-dupe.rs ... ok
test [ui] ui/structs/struct-fields-hints.rs ... ok
test [ui] ui/structs/struct-fields-missing.rs ... ok
test [ui] ui/structs/struct-fields-shorthand.rs ... ok
test [ui] ui/structs/struct-fields-too-many.rs ... ok
test [ui] ui/structs/struct-fields-shorthand-unresolved.rs ... ok
test [ui] ui/structs/struct-pat-derived-error.rs ... ok
test [ui] ui/structs/struct-path-associated-type.rs ... ok
test [ui] ui/structs/struct-path-alias-bounds.rs ... ok
test [ui] ui/structs/struct-fields-typo.rs ... ok
test [ui] ui/structs/struct-field-privacy.rs ... ok
test [ui] ui/structs/struct-path-self.rs ... ok
test [ui] ui/structs/struct-missing-comma.rs ... ok
test [ui] ui/structs/struct-variant-privacy.rs ... ok
test [ui] ui/self/object-safety-sized-self-generic-method.rs ... ok
test [ui] ui/structs/struct-path-self-type-mismatch.rs ... ok
test [ui] ui/substs-ppaux.rs#normal ... ok
test [ui] ui/structs/struct-variant-privacy-xc.rs ... ok
test [ui] ui/suffixed-literal-meta.rs ... ok
test [ui] ui/substs-ppaux.rs#verbose ... ok
test [ui] ui/suggestions/assoc-const-as-field.rs ... ok
test [ui] ui/suggestions/assoc-type-in-method-return.rs ... ok
test [ui] ui/suggestions/adt-param-with-implicit-sized-bound.rs ... ok
test [ui] ui/structs/structure-constructor-type-mismatch.rs ... ok
test [ui] ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs ... ok
test [ui] ui/suggestions/attribute-typos.rs ... ok
test [ui] ui/suggestions/const-in-struct-pat.rs ... ok
test [ui] ui/suggestions/borrow-for-loop-head.rs ... ok
test [ui] ui/suggestions/const-no-type.rs ... ok
test [ui] ui/suggestions/as-ref.rs ... ok
test [ui] ui/suggestions/const-pat-non-exaustive-let-new-var.rs ... ok
test [ui] ui/mpsc_stress.rs ... test [ui] ui/mpsc_stress.rs has been running for over 60 seconds
test [ui] ui/suggestions/dont-suggest-deref-inside-macro-issue-58298.rs ... ok
test [ui] ui/suggestions/dont-suggest-ref/move-into-closure.rs ... ok
test [ui] ui/suggestions/dont-suggest-ref/duplicate-suggestions.rs ... ok
test [ui] ui/suggestions/dont-suggest-ref/simple.rs ... ok
test [ui] ui/suggestions/constrain-trait.rs ... ok
test [ui] ui/suggestions/dont-suggest-try_into-in-macros.rs ... ok
test [ui] ui/suggestions/fn-missing-lifetime-in-item.rs ... ok
test [ui] ui/suggestions/fn-needing-specified-return-type-param.rs ... ok
test [ui] ui/suggestions/fn-ctor-passed-as-arg-where-it-should-have-been-called.rs ... ok
test [ui] ui/suggestions/fn-or-tuple-struct-with-underscore-args.rs ... ok
test [ui] ui/suggestions/format-borrow.rs ... ok
test [ui] ui/suggestions/expected-boxed-future-isnt-pinned.rs ... ok
test [ui] ui/suggestions/fn-or-tuple-struct-without-args.rs ... ok
test [ui] ui/suggestions/fn-trait-notation.rs ... ok
test [ui] ui/suggestions/imm-ref-trait-object-literal-bound-regions.rs ... ok
test [ui] ui/suggestions/for-i-in-vec.rs ... ok
test [ui] ui/suggestions/imm-ref-trait-object-literal.rs ... ok
test [ui] ui/suggestions/impl-trait-missing-lifetime.rs ... ok
test [ui] ui/suggestions/imm-ref-trait-object.rs ... ok
test [ui] ui/suggestions/impl-trait-return-trailing-semicolon.rs ... ok
test [ui] ui/suggestions/invalid-bin-op.rs ... ok
test [ui] ui/suggestions/impl-trait-with-missing-bounds.rs ... ok
test [ui] ui/suggestions/into-str.rs ... ok
test [ui] ui/suggestions/issue-21673.rs ... ok
test [ui] ui/suggestions/issue-51055-missing-semicolon-between-call-and-tuple.rs ... ok
test [ui] ui/suggestions/impl-trait-with-missing-trait-bounds-in-arg.rs ... ok
test [ui] ui/suggestions/issue-61226.rs ... ok
test [ui] ui/suggestions/issue-52820.rs ... ok
test [ui] ui/suggestions/issue-64252-self-type.rs ... ok
test [ui] ui/suggestions/issue-62843.rs ... ok
test [ui] ui/suggestions/issue-57672.rs ... ok
test [ui] ui/suggestions/issue-59819.rs ... ok
test [ui] ui/suggestions/issue-66968-suggest-sorted-words.rs ... ok
test [ui] ui/sepcomp/sepcomp-lib-lto.rs ... ok
test [ui] ui/suggestions/issue-71394-no-from-impl.rs ... ok
test [ui] ui/suggestions/let-binding-init-expr-as-ty.rs ... ok
test [ui] ui/suggestions/lifetimes/trait-object-nested-in-impl-trait.rs ... ok
test [ui] ui/suggestions/lifetimes/missing-lifetimes-in-signature.rs ... ok
test [ui] ui/suggestions/issue-72766.rs ... ok
test [ui] ui/suggestions/match-ergonomics.rs ... ok
test [ui] ui/suggestions/method-missing-parentheses.rs ... ok
test [ui] ui/suggestions/missing-assoc-fn.rs ... ok
test [ui] ui/suggestions/mismatched-types-numeric-from.rs ... ok
test [ui] ui/suggestions/missing-assoc-type-bound-restriction.rs ... ok
test [ui] ui/suggestions/missing-lifetime-specifier.rs ... ok
test [ui] ui/suggestions/missing-assoc-fn-applicable-suggestions.rs ... ok
test [ui] ui/slowparse-bstring.rs ... ok
test [ui] ui/suggestions/match-needing-semi.rs ... ok
test [ui] ui/suggestions/missing-trait-bounds-for-method-call.rs ... ok
test [ui] ui/suggestions/missing-trait-bound-for-op.rs ... ok
test [ui] ui/suggestions/mut-borrow-needed-by-trait.rs ... ok
test [ui] ui/suggestions/missing-trait-item.rs ... ok
test [ui] ui/suggestions/object-unsafe-trait-references-self.rs ... ok
test [ui] ui/suggestions/object-unsafe-trait-should-use-self.rs ... ok
test [ui] ui/suggestions/mut-ref-reassignment.rs ... ok
test [ui] ui/suggestions/option-content-move2.rs ... ok
test [ui] ui/suggestions/path-by-value.rs ... ok
test [ui] ui/suggestions/no-extern-crate-in-type.rs ... ok
test [ui] ui/suggestions/opaque-type-error.rs ... ok
test [ui] ui/suggestions/object-unsafe-trait-should-use-where-sized.rs ... ok
test [ui] ui/suggestions/path-display.rs ... ok
test [ui] ui/suggestions/raw-name-use-suggestion.rs ... ok
test [ui] ui/suggestions/option-content-move.rs ... ok
test [ui] ui/suggestions/remove-as_str.rs ... ok
test [ui] ui/suggestions/return-without-lifetime.rs ... ok
test [ui] ui/specialization/defaultimpl/projection.rs ... ok
test [ui] ui/suggestions/restrict-type-argument.rs ... ok
test [ui] ui/suggestions/recover-from-semicolon-trailing-item.rs ... ok
test [ui] ui/suggestions/recover-invalid-float.rs ... ok
test [ui] ui/suggestions/suggest-closure-return-type-1.rs ... ok
test [ui] ui/suggestions/suggest-closure-return-type-2.rs ... ok
test [ui] ui/suggestions/struct-initializer-comma.rs ... ok
test [ui] ui/suggestions/suggest-assoc-fn-call-with-turbofish-through-deref.rs ... ok
test [ui] ui/suggestions/suggest-assoc-fn-call-with-turbofish.rs ... ok
test [ui] ui/suggestions/suggest-closure-return-type-3.rs ... ok
test [ui] ui/specialization/defaultimpl/specialization-trait-item-not-implemented-rpass.rs ... ok
test [ui] ui/suggestions/suggest-labels.rs ... ok
test [ui] ui/suggestions/suggest-move-lifetimes.rs ... ok
test [ui] ui/suggestions/suggest-move-types.rs ... ok
test [ui] ui/size-and-align.rs ... ok
test [ui] ui/suggestions/suggest-methods.rs ... ok
test [ui] ui/specialization/defaultimpl/out-of-order.rs ... ok
test [ui] ui/suggestions/suggest-on-bare-closure-call.rs ... ok
test [ui] ui/slowparse-string.rs ... ok
test [ui] ui/span/unused-warning-point-at-identifier.rs ... ok
test [ui] ui/suggestions/suggest-box.rs ... ok
test [ui] ui/suggestions/suggest-ref-mut.rs ... ok
test [ui] ui/suggestions/suggest-impl-trait-lifetime.rs ... ok
test [ui] ui/sized-owned-pointer.rs ... ok
test [ui] ui/suggestions/suggest-std-when-using-type.rs ... ok
test [ui] ui/suggestions/type-ascription-instead-of-method.rs ... ok
test [ui] ui/suggestions/suggest-split-at-mut.rs ... ok
test [ui] ui/suggestions/suggest-variants.rs ... ok
test [ui] ui/suggestions/type-ascription-instead-of-let.rs ... ok
test [ui] ui/suggestions/type-ascription-instead-of-variant.rs ... ok
test [ui] ui/specialization/assoc-ty-graph-cycle.rs ... ok
test [ui] ui/suggestions/type-ascription-instead-of-path.rs ... ok
test [ui] ui/suggestions/type-ascription-instead-of-path-2.rs ... ok
test [ui] ui/suggestions/suggest-remove-refs-3.rs ... ok
test [ui] ui/suggestions/suggest-remove-refs-1.rs ... ok
test [ui] ui/suggestions/suggest-private-fields.rs ... ok
test [ui] ui/suggestions/type-mismatch-struct-field-shorthand-2.rs ... ok
test [ui] ui/suggestions/suggest-remove-refs-2.rs ... ok
test [ui] ui/suggestions/use-type-argument-instead-of-assoc-type.rs ... ok
test [ui] ui/suggestions/type-not-found-in-adt-field.rs ... ok
test [ui] ui/super-at-top-level.rs ... ok
test [ui] ui/suggestions/unused-closure-argument.rs ... ok
test [ui] ui/sleep.rs ... ok
test [ui] ui/suppressed-error.rs ... ok
test [ui] ui/specialization/defaultimpl/overlap-projection.rs ... ok
test [ui] ui/specialization/issue-50452.rs ... ok
test [ui] ui/suggestions/type-mismatch-struct-field-shorthand.rs ... ok
test [ui] ui/specialization/defaultimpl/allowed-cross-crate.rs ... ok
test [ui] ui/suggestions/vec-macro-in-pattern.rs ... ok
test [ui] ui/suggestions/trait-with-missing-associated-type-restriction.rs ... ok
test [ui] ui/switched-expectations.rs ... ok
test [ui] ui/suggestions/trait-with-missing-associated-type-restriction-fixable.rs ... ok
test [ui] ui/signal-exit-status.rs ... ok
test [ui] ui/specialization/cross-crate-defaults.rs ... ok
test [ui] ui/specialization/specialization-assoc-fns.rs ... ok
test [ui] ui/symbol-names/basic.rs#v0 ... ok
test [ui] ui/symbol-names/basic.rs#legacy ... ok
test [ui] ui/suggestions/issue-61963.rs ... ok
test [ui] ui/syntax-trait-polarity-feature-gate.rs ... ok
test [ui] ui/syntax-trait-polarity.rs ... ok
test [ui] ui/symbol-names/impl1.rs#legacy ... ok
test [ui] ui/specialization/specialization-basics.rs ... ok
test [ui] ui/symbol-names/impl1.rs#v0 ... ok
test [ui] ui/symbol-names/impl2.rs ... ok
test [ui] ui/synthetic-param.rs ... ok
test [ui] ui/specialization/soundness/partial_eq_range_inclusive.rs ... ok
test [ui] ui/tag-type-args.rs ... ok
test [ui] ui/target-feature/gate.rs ... ignored
test [ui] ui/target-feature/invalid-attribute.rs ... ignored
test [ui] ui/tag-variant-disr-dup.rs ... ok
test [ui] ui/symbol-names/issue-60925.rs#legacy ... ok
test [ui] ui/svh/svh-change-trait-bound.rs ... ok
test [ui] ui/symbol-names/issue-60925.rs#v0 ... ok
test [ui] ui/tail-typeck.rs ... ok
test [ui] ui/svh/svh-change-type-arg.rs ... ok
test [ui] ui/tag-that-dare-not-speak-its-name.rs ... ok
test [ui] ui/svh/svh-change-type-static.rs ... ok
test [ui] ui/svh/svh-change-lit.rs ... ok
test [ui] ui/svh/svh-change-significant-cfg.rs ... ok
test [ui] ui/tag-variant-cast-non-nullary.rs ... ok
test [ui] ui/svh/svh-change-type-ret.rs ... ok
test [ui] ui/svh/svh-use-trait.rs ... ok
test [ui] ui/terminal-width/non-1-width-unicode-multiline-label.rs ... ok
test [ui] ui/specialization/soundness/partial_ord_slice.rs ... ok
test [ui] ui/specialization/specialization-default-methods.rs ... ok
test [ui] ui/terr-sorts.rs ... ok
test [ui] ui/terminal-width/whitespace-trimming-2.rs ... ok
test [ui] ui/terminal-width/flag-human.rs ... ok
test [ui] ui/terr-in-field.rs ... ok
test [ui] ui/test-attrs/decl-macro-test.rs ... ok
test [ui] ui/test-attrs/inaccessible-test-modules.rs ... ok
test [ui] ui/terminal-width/non-whitespace-trimming-2.rs ... ok
test [ui] ui/terminal-width/non-whitespace-trimming.rs ... ok
test [ui] ui/terminal-width/whitespace-trimming.rs ... ok
test [ui] ui/terminal-width/flag-json.rs ... ok
test [ui] ui/specialization/specialization-allowed-cross-crate.rs ... ok
test [ui] ui/terminal-width/non-whitespace-trimming-unicode.rs ... ok
test [ui] ui/test-attrs/test-attr-non-associated-functions.rs ... ok
test [ui] ui/test-attrs/test-on-macro.rs ... ok
test [ui] ui/test-attrs/test-warns-dead-code.rs ... ok
test [ui] ui/test-attrs/test-should-panic-attr.rs ... ok
test [ui] ui/test-cfg.rs ... ok
test [ui] ui/test-panic-abort-disabled.rs ... ok
test [ui] ui/test-attrs/test-cant-be-shadowed.rs ... ok
test [ui] ui/sigpipe-should-be-ignored.rs ... ok
test [ui] ui/specialization/specialization-on-projection.rs ... ok
test [ui] ui/specialization/specialization-overlap-projection.rs ... ok
test [ui] ui/specialization/specialization-cross-crate.rs ... ok
test [ui] ui/specialization/specialization-cross-crate-no-gate.rs ... ok
test [ui] ui/specialization/specialization-out-of-order.rs ... ok
test [ui] ui/specialization/specialization-translate-projections-with-params.rs ... ok
test [ui] ui/specialization/specialization-projection.rs ... ok
test [ui] ui/specialization/specialization-super-traits.rs ... ok
test [ui] ui/thread-local-in-ctfe.rs ... ok
test [ui] ui/thread-local-mutation.rs ... ok
test [ui] ui/specialization/specialization-translate-projections.rs ... ok
test [ui] ui/specialization/specialization-translate-projections-with-lifetimes.rs ... ok
test [ui] ui/specialization/specialization-projection-alias.rs ... ok
test [ui] ui/sse2.rs ... ok
test [ui] ui/statics/static-method-in-trait-with-tps-intracrate.rs ... ok
test [ui] ui/statics/static-function-pointer.rs ... ok
test [ui] ui/statics/static-methods-in-traits.rs ... ok
test [ui] ui/statics/static-methods-in-traits2.rs ... ok
test [ui] ui/statics/static-function-pointer-xc.rs ... ok
test [ui] ui/statics/static-fn-inline-xc.rs ... ok
test [ui] ui/stable-addr-of.rs ... ok
test [ui] ui/statics/static-fn-trait-xc.rs ... ok
test [ui] ui/statics/static-recursive.rs ... ok
test [ui] ui/statics/static-mut-xc.rs ... ok
test [ui] ui/str-multiline.rs ... ok
test [ui] ui/str-concat.rs ... ok
test [ui] ui/struct-ctor-mangling.rs ... ok
test [ui] ui/statics/static-method-xcrate.rs ... ok
test [ui] ui/structs-enums/align-enum.rs ... ok
test [ui] ui/string-escapes.rs ... ok
test [ui] ui/string-box-error.rs ... ok
test [ui] ui/structs-enums/borrow-tuple-fields.rs ... ok
test [ui] ui/str/str-overrun.rs ... ok
test [ui] ui/statics/static-impl.rs ... ok
test [ui] ui/structs-enums/class-cast-to-trait.rs ... ok
test [ui] ui/structs-enums/class-dtor.rs ... ok
test [ui] ui/structs-enums/class-exports.rs ... ok
test [ui] ui/structs-enums/class-cast-to-trait-cross-crate-2.rs ... ok
test [ui] ui/structs-enums/class-cast-to-trait-multiple-types.rs ... ok
test [ui] ui/structs-enums/class-method-cross-crate.rs ... ok
test [ui] ui/structs-enums/class-implement-traits.rs ... ok
test [ui] ui/structs-enums/class-methods.rs ... ok
test [ui] ui/structs-enums/class-impl-very-parameterized-trait.rs ... ok
test [ui] ui/structs-enums/class-poly-methods.rs ... ok
test [ui] ui/structs-enums/class-poly-methods-cross-crate.rs ... ok
test [ui] ui/structs-enums/class-methods-cross-crate.rs ... ok
test [ui] ui/structs-enums/class-str-field.rs ... ok
test [ui] ui/structs-enums/classes-simple-method.rs ... ok
test [ui] ui/structs-enums/class-separate-impl.rs ... ok
test [ui] ui/structs-enums/class-typarams.rs ... ok
test [ui] ui/structs-enums/class-implement-trait-cross-crate.rs ... ok
test [ui] ui/structs-enums/align-struct.rs ... ok
test [ui] ui/structs-enums/enum-clike-ffi-as-int.rs ... ok
test [ui] ui/structs-enums/codegen-tag-static-padding.rs ... ok
test [ui] ui/structs-enums/compare-generic-enums.rs ... ok
test [ui] ui/structs-enums/enum-discr.rs ... ok
test [ui] ui/structs-enums/empty-tag.rs ... ok
test [ui] ui/structs-enums/discrim-explicit-23030.rs ... ok
test [ui] ui/tool-attributes/diagnostic_item.rs ... ok
test [ui] ui/structs-enums/empty-struct-braces.rs ... ok
test [ui] ui/tool-attributes/diagnostic_item2.rs ... ok
test [ui] ui/tool-attributes/diagnostic_item3.rs ... ok
test [ui] ui/structs-enums/classes-cross-crate.rs ... ok
test [ui] ui/tool-attributes/tool-attributes-misplaced-1.rs ... ok
test [ui] ui/tool-attributes/tool-attributes-misplaced-2.rs ... ok
test [ui] ui/tool_lints-fail.rs ... ok
test [ui] ui/tool-attributes/tool-attributes-shadowing.rs ... ok
test [ui] ui/structs-enums/enum-discrim-manual-sizing.rs ... ok
test [ui] ui/structs-enums/enum-layout-optimization.rs ... ok
test [ui] ui/tool_lints.rs ... ok
test [ui] ui/trace_macros-format.rs ... ok
test [ui] ui/trace_macros-gate.rs ... ok
test [ui] ui/structs-enums/enum-alignment.rs ... ok
test [ui] ui/structs-enums/enum-discrim-autosizing.rs ... ok
test [ui] ui/structs-enums/classes-simple-cross-crate.rs ... ok
test [ui] ui/trait-method-number-parameters.rs ... ok
test [ui] ui/structs-enums/enum-disr-val-pretty.rs ... ok
test [ui] ui/structs-enums/enum-discrim-range-overflow.rs ... ok
test [ui] ui/structs-enums/classes.rs ... ok
test [ui] ui/traits/cycle-cache-err-60010.rs ... ok
test [ui] ui/structs-enums/enum-non-c-like-repr-c.rs ... ok
test [ui] ui/traits/conservative_impl_trait.rs ... ok
test [ui] ui/structs-enums/enum-export-inheritance.rs ... ok
test [ui] ui/structs-enums/enum-non-c-like-repr-c-and-int.rs ... ok
test [ui] ui/structs-enums/enum-non-c-like-repr-int.rs ... ok
test [ui] ui/structs-enums/enum-nullable-const-null-with-fields.rs ... ok
test [ui] ui/structs-enums/enum-discrim-width-stuff.rs ... ok
test [ui] ui/traits/impl_trait_as_trait_return_position.rs ... ok
test [ui] ui/structs-enums/enum-null-pointer-opt.rs ... ok
test [ui] ui/structs-enums/enum-vec-initializer.rs ... ok
test [ui] ui/structs-enums/classes-self-referential.rs ... ok
test [ui] ui/traits/negative-impls/feature-gate-negative_impls.rs ... ok
test [ui] ui/structs-enums/enum-nullable-simplifycfg-misopt.rs ... ok
test [ui] ui/structs-enums/export-abstract-tag.rs ... ok
test [ui] ui/traits/negative-impls/negated-auto-traits-error.rs ... ok
test [ui] ui/structs-enums/export-tag-variant.rs ... ok
test [ui] ui/traits/negative-impls/negative-default-impls.rs ... ok
test [ui] ui/simd/simd-target-feature-mixup.rs ... ok
test [ui] ui/structs-enums/enum-variants.rs ... ok
test [ui] ui/structs-enums/enum-univariant-repr.rs ... ok
test [ui] ui/traits/negative-impls/negative-specializes-positive.rs ... ok
test [ui] ui/traits/negative-impls/negative-specializes-positive-item.rs ... ok
test [ui] ui/traits/negative-impls/no-items.rs ... ok
test [ui] ui/structs-enums/expr-match-struct.rs ... ok
test [ui] ui/traits/negative-impls/pin-unsound-issue-66544-clone.rs ... ok
test [ui] ui/structs-enums/field-destruction-order.rs ... ok
test [ui] ui/traits/negative-impls/positive-specializes-negative.rs ... ok
test [ui] ui/traits/negative-impls/pin-unsound-issue-66544-derefmut.rs ... ok
test [ui] ui/traits/overlap-not-permitted-for-builtin-trait.rs ... ok
test [ui] ui/traits/reservation-impls/reservation-impl-coherence-conflict.rs ... ok
test [ui] ui/structs-enums/foreign-struct.rs ... ok
test [ui] ui/traits/negative-impls/rely-on-negative-impl-in-coherence.rs ... ok
test [ui] ui/structs-enums/expr-if-struct.rs ... ok
test [ui] ui/traits/reservation-impls/reservation-impl-no-use.rs ... ok
test [ui] ui/traits/reservation-impls/reservation-impl-non-lattice-ok.rs ... ok
test [ui] ui/traits/self-without-lifetime-constraint.rs ... ok
test [ui] ui/structs-enums/module-qualified-struct-destructure.rs ... ok
test [ui] ui/traits/trait-alias-ambiguous.rs ... ok
test [ui] ui/traits/trait-alias/issue-60021-assoc-method-resolve.rs ... ok
test [ui] ui/structs-enums/classes-simple.rs ... ok
test [ui] ui/structs-enums/functional-struct-upd.rs ... ok
test [ui] ui/traits/trait-alias/issue-72415-assoc-const-resolve.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-impl.rs ... ok
test [ui] ui/structs-enums/namespaced-enum-glob-import.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-no-duplicates.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-cross-crate.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-maybe-bound.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-no-extra-traits.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-object-fail.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-object-wf.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-only-maybe-bound.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-syntax-fail.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-wf.rs ... ok
test [ui] ui/structs-enums/namespaced-enum-emulate-flat-xc.rs ... ok
test [ui] ui/structs-enums/namespaced-enum-glob-import-xcrate.rs ... ok
test [ui] ui/traits/trait-as-struct-constructor.rs ... ok
test [ui] ui/running-with-no-runtime.rs ... ok
test [ui] ui/structs-enums/nested-enum-same-names.rs ... ok
test [ui] ui/traits/trait-bounds-not-on-bare-trait.rs ... ok
test [ui] ui/structs-enums/newtype-struct-drop-run.rs ... ok
test [ui] ui/structs-enums/namespaced-enum-emulate-flat.rs ... ok
test [ui] ui/structs-enums/ivec-tag.rs ... ok
test [ui] ui/structs-enums/namespaced-enums.rs ... ok
test [ui] ui/traits/trait-bounds-not-on-struct.rs ... ok
test [ui] ui/structs-enums/newtype-struct-with-dtor.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-in-fns.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-in-impls.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-locals.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-static.rs ... ok
test [ui] ui/structs-enums/newtype-struct-xc-2.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-xc.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-xc1.rs ... ok
test [ui] ui/structs-enums/nonzero-enum.rs ... ok
test [ui] ui/structs-enums/object-lifetime-default-from-rptr-struct.rs ... ok
test [ui] ui/traits/trait-bounds-sugar.rs ... ok
test [ui] ui/traits/trait-coercion-generic-regions.rs ... ok
test [ui] ui/traits/trait-coercion-generic-bad.rs ... ok
test [ui] ui/structs-enums/numeric-fields.rs ... ok
test [ui] ui/traits/trait-bounds-same-crate-name.rs ... ok
test [ui] ui/structs-enums/newtype-struct-xc.rs ... ok
test [ui] ui/structs-enums/object-lifetime-default-from-ref-struct.rs ... ok
test [ui] ui/structs-enums/rec-extend.rs ... ok
test [ui] ui/structs-enums/rec.rs ... ok
test [ui] ui/structs-enums/rec-tup.rs ... ok
test [ui] ui/structs-enums/record-pat.rs ... ok
test [ui] ui/traits/trait-duplicate-methods.rs ... ok
test [ui] ui/structs-enums/rec-auto.rs ... ok
test [ui] ui/structs-enums/rec-align-u32.rs ... ok
test [ui] ui/structs-enums/rec-align-u64.rs ... ok
test [ui] ui/traits/trait-impl-1.rs ... ok
test [ui] ui/structs-enums/struct-aliases.rs ... ok
test [ui] ui/structs-enums/small-enum-range-edge.rs ... ok
test [ui] ui/structs-enums/namespaced-enums-xcrate.rs ... ok
test [ui] ui/traits/trait-impl-different-num-params.rs ... ok
test [ui] ui/structs-enums/simple-generic-tag.rs ... ok
test [ui] ui/traits/trait-impl-can-not-have-untraitful-items.rs ... ok
test [ui] ui/traits/trait-impl-for-module.rs ... ok
test [ui] ui/structs-enums/struct-field-shorthand.rs ... ok
test [ui] ui/traits/trait-impl-method-mismatch.rs ... ok
test [ui] ui/structs-enums/struct-like-variant-construct.rs ... ok
test [ui] ui/traits/trait-impl-of-supertrait-has-wrong-lifetime-parameters.rs ... ok
test [ui] ui/structs-enums/simple-match-generic-tag.rs ... ok
test [ui] ui/structs-enums/struct-destructuring-cross-crate.rs ... ok
test [ui] ui/structs-enums/struct-aliases-xcrate.rs ... ok
test [ui] ui/structs-enums/struct-new-as-field-name.rs ... ok
test [ui] ui/out-of-stack.rs ... test [ui] ui/out-of-stack.rs has been running for over 60 seconds
test [ui] ui/structs-enums/struct-like-variant-match.rs ... ok
test [ui] ui/structs-enums/struct-order-of-eval-1.rs ... ok
test [ui] ui/structs-enums/struct-lit-functional-no-fields.rs ... ok
test [ui] ui/structs-enums/struct-literal-dtor.rs ... ok
test [ui] ui/structs-enums/struct-order-of-eval-2.rs ... ok
test [ui] ui/structs-enums/struct-partial-move-1.rs ... ok
test [ui] ui/structs-enums/struct-partial-move-2.rs ... ok
test [ui] ui/structs-enums/struct-order-of-eval-3.rs ... ok
test [ui] ui/structs-enums/small-enums-with-fields.rs ... ok
test [ui] ui/structs-enums/struct-order-of-eval-4.rs ... ok
test [ui] ui/structs-enums/struct-variant-field-visibility.rs ... ok
test [ui] ui/structs-enums/tag-align-dyn-variants.rs ... ok
test [ui] ui/structs-enums/struct-pattern-matching.rs ... ok
test [ui] ui/structs-enums/struct-path-associated-type.rs ... ok
test [ui] ui/structs-enums/struct-path-self.rs ... ok
test [ui] ui/structs-enums/struct_variant_xc.rs ... ok
test [ui] ui/structs-enums/tag-exports.rs ... ok
test [ui] ui/structs-enums/struct_variant_xc_match.rs ... ok
test [ui] ui/structs-enums/tag-align-u64.rs ... ok
test [ui] ui/structs-enums/tag-align-dyn-u64.rs ... ok
test [ui] ui/structs-enums/tag-align-shape.rs ... ok
test [ui] ui/structs-enums/resource-in-struct.rs ... ok
test [ui] ui/traits/trait-item-privacy.rs ... ok
test [ui] ui/structs-enums/tag-variant-disr-type-mismatch.rs ... ok
test [ui] ui/traits/trait-matching-lifetimes.rs ... ok
test [ui] ui/structs-enums/tag-in-block.rs ... ok
test [ui] ui/traits/trait-object-auto-dedup-in-impl.rs ... ok
test [ui] ui/traits/trait-method-private.rs ... ok
test [ui] ui/structs-enums/tag-disr-val-shape.rs ... ok
test [ui] ui/structs-enums/tuple-struct-construct.rs ... ok
test [ui] ui/structs-enums/tuple-struct-trivial.rs ... ok
test [ui] ui/traits/trait-object-macro-matcher.rs ... ok
test [ui] ui/structs-enums/tuple-struct-constructor-pointer.rs ... ok
test [ui] ui/traits/trait-object-vs-lifetime-2.rs ... ok
test [ui] ui/traits/trait-object-vs-lifetime.rs ... ok
test [ui] ui/structs-enums/tag.rs ... ok
test [ui] ui/traits/trait-object-safety.rs ... ok
test [ui] ui/traits/trait-object-with-self-in-projection-output-bad.rs ... ok
test [ui] ui/structs-enums/tuple-struct-matching.rs ... ok
test [ui] ui/structs-enums/uninstantiable-struct.rs ... ok
test [ui] ui/traits/trait-or-new-type-instead.rs ... ok
test [ui] ui/structs-enums/variant-structs-trivial.rs ... ok
test [ui] ui/traits/trait-param-without-lifetime-constraint.rs ... ok
test [ui] ui/structs-enums/unit-like-struct.rs ... ok
test [ui] ui/traits/trait-object-with-self-in-projection-output-good.rs ... ok
test [ui] ui/traits/trait-object-with-self-in-projection-output-repeated-supertrait.rs ... ok
test [ui] ui/traits/trait-resolution-in-overloaded-op.rs ... ok
test [ui] ui/traits/trait-safety-fn-body.rs ... ok
test [ui] ui/traits/trait-safety-inherent-impl.rs ... ok
test [ui] ui/traits/trait-safety-trait-impl.rs ... ok
test [ui] ui/traits/trait-privacy.rs ... ok
test [ui] ui/structured-compare.rs ... ok
test [ui] ui/traits/trait-static-method-generic-inference.rs ... ok
test [ui] ui/swap-2.rs ... ok
test [ui] ui/super.rs ... ok
test [ui] ui/swap-1.rs ... ok
test [ui] ui/super-fast-paren-parsing.rs ... ok
test [ui] ui/traits/trait-safety-trait-impl-cc.rs ... ok
test [ui] ui/traits/trait-test.rs ... ok
test [ui] ui/swap-overlapping.rs ... ok
test [ui] ui/traits/trait-suggest-deferences-multiple-1.rs ... ok
test [ui] ui/traits/trait-test-2.rs ... ok
test [ui] ui/traits/trait-suggest-deferences-multiple-0.rs ... ok
test [ui] ui/traits/trait-suggest-deferences-issue-62530.rs ... ok
test [ui] ui/traits/trait-suggest-where-clause.rs ... ok
test [ui] ui/traits/trait-suggest-deferences-issue-39029.rs ... ok
test [ui] ui/syntax-extension-minor.rs ... ok
test [ui] ui/traits/traits-assoc-type-in-supertrait-bad.rs ... ok
test [ui] ui/svh-add-nothing.rs ... ok
test [ui] ui/traits/trait-with-dst.rs ... ok
test [ui] ui/structs/rhs-type.rs ... ok
test [ui] ui/structs-enums/unit-like-struct-drop-run.rs ... ok
test [ui] ui/structs-enums/tuple-struct-destructuring.rs ... ok
test [ui] ui/traits/traits-inductive-overflow-lifetime.rs ... ok
test [ui] ui/traits/traits-inductive-overflow-simultaneous.rs ... ok
test [ui] ui/tail-call-arg-leak.rs ... ok
test [ui] ui/traits/traits-inductive-overflow-supertrait-oibit.rs ... ok
test [ui] ui/traits/traits-inductive-overflow-supertrait.rs ... ok
test [ui] ui/test-attrs/test-vs-cfg-test.rs ... ok
test [ui] ui/traits/traits-inductive-overflow-two-traits.rs ... ok
test [ui] ui/thin-lto-global-allocator.rs ... ok
test [ui] ui/structs-enums/tag-variant-disr-val.rs ... ok
test [ui] ui/traits/traits-issue-23003-overflow.rs ... ok
test [ui] ui/traits/traits-issue-71136.rs ... ok
test [ui] ui/traits/traits-multidispatch-bad.rs ... ok
test [ui] ui/traits/traits-multidispatch-convert-ambig-dest.rs ... ok
test [ui] ui/thinlto/thin-lto-inlines.rs ... ok
test [ui] ui/traits/traits-repeated-supertrait-ambig.rs ... ok
test [ui] ui/test-attrs/test-main-not-dead-attr.rs ... ok
test [ui] ui/terminate-in-initializer.rs ... ok
test [ui] ui/test-attrs/test-runner-hides-main.rs ... ok
test [ui] ui/test-attrs/test-runner-hides-start.rs ... ok
test [ui] ui/test-allow-dead-extern-static-no-warning.rs ... ok
test [ui] ui/traits/wf-trait-object-maybe-bound.rs ... ok
test [ui] ui/test-attrs/test-main-not-dead.rs ... ok
test [ui] ui/test-attrs/test-runner-hides-buried-main.rs ... ok
test [ui] ui/traits/wf-trait-object-no-duplicates.rs ... ok
test [ui] ui/traits/wf-trait-object-only-maybe-bound.rs ... ok
test [ui] ui/transmute-equal-assoc-types.rs ... ok
test [ui] ui/transmute/main.rs ... ok
test [ui] ui/transmute/transmute-different-sizes.rs ... ok
test [ui] ui/transmute/transmute-fat-pointers.rs ... ok
test [ui] ui/transmute/transmute-from-fn-item-types-error.rs ... ok
test [ui] ui/transmute/transmute-impl.rs ... ok
test [ui] ui/supported-cast.rs ... ok
test [ui] ui/transmute/transmute-imut-to-mut.rs ... ok
test [ui] ui/transmute/transmute-type-parameters.rs ... ok
test [ui] ui/tail-direct.rs ... ok
test [ui] ui/test-attrs/test-fn-signature-verification-for-explicit-return-type.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-copy-reborrow.rs ... ok
test [ui] ui/test-attrs/test-allow-fail-attr.rs ... ok
test [ui] ui/test-attrs/test-should-fail-good-message.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-associated-functions.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-projection-error.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-copy.rs ... ok
test [ui] ui/test-attrs/run-unexported-tests.rs ... ok
test [ui] ui/thinlto/weak-works.rs ... ok
test [ui] ui/test-panic-while-printing.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-leak-copy.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-lint.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-leak.rs ... ok
test [ui] ui/trivial_casts.rs ... ok
test [ui] ui/try-block/try-block-bad-lifetime.rs ... ok
test [ui] ui/try-block/try-block-bad-type.rs ... ok
test [ui] ui/try-block/try-block-catch.rs ... ok
test [ui] ui/thinlto/msvc-imp-present.rs ... ok
test [ui] ui/try-block/try-block-in-edition2015.rs ... ok
test [ui] ui/thinlto/dylib-works.rs ... ok
test [ui] ui/try-block/try-block-in-while.rs ... ok
test [ui] ui/try-block/try-block-maybe-bad-lifetime.rs ... ok
test [ui] ui/try-block/try-block-opt-init.rs ... ok
test [ui] ui/try-block/try-block-type-error.rs ... ok
test [ui] ui/try-block/try-block-unreachable-code-lint.rs ... ok
test [ui] ui/try-block/try-block-unused-delims.rs ... ok
test [ui] ui/tail-cps.rs ... ok
test [ui] ui/try-macro-suggestion.rs ... ok
test [ui] ui/try-on-option-diagnostics.rs ... ok
test [ui] ui/try-on-option.rs ... ok
test [ui] ui/threads-sendsync/send-type-inference.rs ... ok
test [ui] ui/thread-local-not-in-prelude.rs ... ok
test [ui] ui/threads-sendsync/send-is-not-static-par-for.rs ... ok
test [ui] ui/try-operator-on-main.rs ... ok
test [ui] ui/try-poll.rs ... ok
test [ui] ui/thinlto/all-crates.rs ... ok
test [ui] ui/threads-sendsync/sendfn-is-a-block.rs ... ok
test [ui] ui/threads-sendsync/sendable-class.rs ... ok
test [ui] ui/threads-sendsync/comm.rs ... ok
test [ui] ui/tuple/index-float.rs ... ok
test [ui] ui/tuple/index-invalid.rs ... ok
test [ui] ui/tuple/indexing-in-macro.rs ... ok
test [ui] ui/thinlto/thin-lto-inlines2.rs ... ok
test [ui] ui/tuple/tuple-arity-mismatch.rs ... ok
test [ui] ui/threads-sendsync/std-sync-right-kind-impls.rs ... ok
test [ui] ui/tuple/tuple-index-not-tuple.rs ... ok
test [ui] ui/threads-sendsync/send_str_hashmap.rs ... ok
test [ui] ui/tuple/tuple-index-out-of-bounds.rs ... ok
test [ui] ui/tuple/tuple-struct-fields/test.rs ... ok
test [ui] ui/tuple/tuple-struct-fields/test2.rs ... ok
test [ui] ui/tuple/tuple-struct-fields/test3.rs ... ok
test [ui] ui/tutorial-suffix-inference-test.rs ... ok
test [ui] ui/threads-sendsync/sync-send-atomics.rs ... ok
test [ui] ui/threads-sendsync/send-resource.rs ... ok
test [ui] ui/type-alias-enum-variants/enum-variant-generic-args.rs ... ok
test [ui] ui/type-alias-enum-variants/enum-variant-priority-higher-than-other-inherent.rs ... ok
test [ui] ui/threads-sendsync/spawn-types.rs ... ok
test [ui] ui/type-alias-enum-variants/enum-variant-priority-lint-ambiguous_associated_items.rs ... ok
test [ui] ui/type-alias-enum-variants/incorrect-variant-form-through-Self-issue-58006.rs ... ok
test [ui] ui/type-alias-enum-variants/incorrect-variant-form-through-alias-caught.rs ... ok
test [ui] ui/type-alias-enum-variants/issue-57866.rs ... ok
test [ui] ui/type-alias-enum-variants/issue-61801-path-pattern-can-infer.rs ... ok
test [ui] ui/threads-sendsync/sendfn-spawn-with-fn-arg.rs ... ok
test [ui] ui/type-alias-enum-variants/no-type-application-on-aliased-enum-variant.rs ... ok
test [ui] ui/type-alias-enum-variants/resolve-to-enum-variant-in-type-namespace-and-error.rs ... ok
test [ui] ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs ... ok
test [ui] ui/threads-sendsync/sync-send-iterators-in-libcore.rs ... ok
test [ui] ui/type-alias-enum-variants/self-in-enum-definition.rs ... ok
test [ui] ui/threads-sendsync/spawning-with-debug.rs ... ok
test [ui] ui/threads-sendsync/spawn.rs ... ok
test [ui] ui/type-alias-impl-trait/assoc-type-lifetime-unconstrained.rs ... ok
test [ui] ui/type-alias-impl-trait/assoc-type-const.rs ... ok
test [ui] ui/type-alias-impl-trait/assoc-type-lifetime.rs ... ok
test [ui] ui/type-alias-impl-trait/bound_reduction2.rs ... ok
test [ui] ui/type-alias-impl-trait/declared_but_never_defined.rs ... ok
test [ui] ui/type-alias-impl-trait/associated-type-alias-impl-trait.rs ... ok
test [ui] ui/type-alias-impl-trait/bound_reduction.rs ... ok
test [ui] ui/type-alias-impl-trait/declared_but_not_defined_in_scope.rs ... ok
test [ui] ui/type-alias-impl-trait/different_defining_uses.rs ... ok
test [ui] ui/type-alias-impl-trait/coherence.rs ... ok
test [ui] ui/type-alias-impl-trait/different_defining_uses_never_type.rs ... ok
test [ui] ui/type-alias-impl-trait/fallback.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_different_defining_uses.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_lifetime_param.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use.rs ... ok
test [ui] ui/threads-sendsync/spawn2.rs ... ok
test [ui] ui/type-alias-impl-trait/cross_crate_ice.rs ... ok
test [ui] ui/type-alias-impl-trait/different_defining_uses_never_type2.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use5.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use4.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use2.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use3.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use10.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use6.rs ... ok
test [ui] ui/type-alias-impl-trait/cross_crate_ice2.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use8.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_not_used.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_nondefining_use.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use9.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_duplicate_param_use7.rs ... ok
test [ui] ui/type-alias-impl-trait/impl-with-unconstrained-param.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_type_does_not_live_long_enough.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_underconstrained.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_lifetime_param.rs ... ok
test [ui] ui/type-alias-impl-trait/incoherent-assoc-imp-trait.rs ... ok
test [ui] ui/type-alias-impl-trait/generic_underconstrained2.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-52843-closure-constrain.rs ... ok
test [ui] ui/threads-sendsync/spawn-fn.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-53096.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-53678-generator-and-const-fn.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-53598.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-57700.rs ... ok
test [ui] ui/threads-sendsync/sync-send-iterators-in-libcollections.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-55099-lifetime-inference.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-57611-trait-alias.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-57188-associate-impl-capture.rs ... ok
test [ui] ui/threads-sendsync/task-comm-1.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-57807-associated-type.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-65918.rs ... ignored
test [ui] ui/threads-sendsync/task-comm-11.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-58951.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-60371.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-60407.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-63263-closure-return.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-62000-associate-impl-trait-lifetimes.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-63279.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-63677-type-alias-coherence.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-60564.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-65679-inst-opaque-ty-from-val-twice.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-67844-nested-opaque.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-66580-closure-coherence.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-68368-non-defining-use.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-error.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-69136-inner-lifetime-resolve-ok.rs ... ok
test [ui] ui/type-alias-impl-trait/no_inferrable_concrete_type.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-70121.rs ... ok
test [ui] ui/type-alias-impl-trait/not_well_formed.rs ... ok
test [ui] ui/type-alias-impl-trait/structural-match-no-leak.rs ... ok
test [ui] ui/type-alias-impl-trait/never_reveal_concrete_type.rs ... ok
test [ui] ui/type-alias-impl-trait/not_a_defining_use.rs ... ok
test [ui] ui/type-alias-impl-trait/structural-match.rs ... ok
test [ui] ui/threads-sendsync/task-comm-13.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-sized.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-const.rs ... ok
test [ui] ui/type-alias-impl-trait/no_revealing_outside_defining_module.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-fns.rs ... ok
test [ui] ui/type-alias-impl-trait/nested_type_alias_impl_trait.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error2.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-with-cycle-error.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-tuple.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait-with-no-traits.rs ... ok
test [ui] ui/type-alias/issue-62263-self-in-atb.rs ... ok
test [ui] ui/type-alias-impl-trait/private_unused.rs ... ok
test [ui] ui/type-alias/issue-62364-self-ty-arg.rs ... ok
test [ui] ui/type-alias/issue-62305-self-assoc-ty.rs ... ok
test [ui] ui/type-alias-impl-trait/unused_generic_param.rs ... ok
test [ui] ui/type-inference/unbounded-type-param-in-fn-with-assoc-type.rs ... ok
test [ui] ui/type-inference/unbounded-type-param-in-fn.rs ... ok
test [ui] ui/type-inference/unbounded-associated-type.rs ... ok
test [ui] ui/type-inference/or_else-multiple-type-params.rs ... ok
test [ui] ui/type-inference/sort_by_key.rs ... ok
test [ui] ui/threads-sendsync/task-comm-10.rs ... ok
test [ui] ui/threads-sendsync/task-comm-5.rs ... ok
test [ui] ui/threads-sendsync/task-comm-0.rs ... ok
test [ui] ui/threads-sendsync/task-comm-15.rs ... ok
test [ui] ui/threads-sendsync/task-comm-17.rs ... ok
test [ui] ui/type/ascription/issue-34255-1.rs ... ok
test [ui] ui/type/ascription/issue-47666.rs ... ok
test [ui] ui/type/ascription/issue-54516.rs ... ok
test [ui] ui/type/issue-67690-type-alias-bound-diagnostic-crash.rs ... ok
test [ui] ui/type/ascription/issue-60933.rs ... ok
test [ui] ui/type/type-alias-bounds.rs ... ok
test [ui] ui/type/type-arg-out-of-scope.rs ... ok
test [ui] ui/type/type-annotation-needed.rs ... ok
test [ui] ui/type/type-ascription-instead-of-initializer.rs ... ok
test [ui] ui/type/type-ascription-instead-of-statement-end.rs ... ok
test [ui] ui/type/type-ascription-soundness.rs ... ok
test [ui] ui/type/type-ascription-precedence.rs ... ok
test [ui] ui/threads-sendsync/task-comm-4.rs ... ok
test [ui] ui/type/type-ascription-with-fn-call.rs ... ok
test [ui] ui/type/type-check-defaults.rs ... ok
test [ui] ui/type/type-check/cannot_infer_local_or_array.rs ... ok
test [ui] ui/threads-sendsync/send_str_treemap.rs ... ok
test [ui] ui/threads-sendsync/task-comm-chan-nil.rs ... ok
test [ui] ui/threads-sendsync/task-comm-6.rs ... ok
test [ui] ui/type/type-check/cannot_infer_local_or_vec.rs ... ok
test [ui] ui/type/type-check/cannot_infer_local_or_vec_in_tuples.rs ... ok
test [ui] ui/type/type-check/issue-22897.rs ... ok
test [ui] ui/type/type-check/issue-40294.rs ... ok
test [ui] ui/type/type-check/issue-41314.rs ... ok
test [ui] ui/type/type-check/assignment-in-if.rs ... ok
test [ui] ui/type/type-check/missing_trait_impl.rs ... ok
test [ui] ui/tcp-stress.rs ... ok
test [ui] ui/type/type-check/assignment-expected-bool.rs ... ok
test [ui] ui/type/type-check/issue-67273-assignment-match-prior-arm-bool-expected-unit.rs ... ok
test [ui] ui/type/type-error-break-tail.rs ... ok
test [ui] ui/type/type-check/unknown_type_for_closure.rs ... ok
test [ui] ui/type/type-dependent-def-issue-49241.rs ... ok
test [ui] ui/type/type-parameter-defaults-referencing-Self-ppaux.rs ... ok
test [ui] ui/type/type-parameter-defaults-referencing-Self.rs ... ok
test [ui] ui/type/type-params-in-different-spaces-2.rs ... ok
test [ui] ui/type/type-parameter-names.rs ... ok
test [ui] ui/threads-sendsync/thread-local-syntax.rs ... ok
test [ui] ui/type/type-params-in-different-spaces-1.rs ... ok
test [ui] ui/type/type-mismatch-multiple.rs ... ok
test [ui] ui/type/type-path-err-node-types.rs ... ok
test [ui] ui/threads-sendsync/thread-local-extern-static.rs ... ok
test [ui] ui/threads-sendsync/task-life-0.rs ... ok
test [ui] ui/type/type-recursive.rs ... ok
test [ui] ui/type/type-params-in-different-spaces-3.rs ... ok
test [ui] ui/typeck/issue-55810-must-typeck-match-pats-before-guards.rs ... ok
test [ui] ui/type/type-shadow.rs ... ok
test [ui] ui/typeck/issue-52082-type-param-shadows-existing-type.rs ... ok
test [ui] ui/typeck/issue-67971.rs ... ok
test [ui] ui/typeck/issue-68590-reborrow-through-derefmut.rs ... ok
test [ui] ui/type_length_limit.rs ... ok
test [ui] ui/typeck/issue-69378-ice-on-invalid-type-node-after-recovery.rs ... ok
test [ui] ui/typeck/issue-57673-ice-on-deref-of-boxed-trait.rs ... ok
test [ui] ui/typeck/issue-72225-call-fnmut-through-derefmut.rs ... ok
test [ui] ui/typeck/typeck-builtin-bound-type-parameters.rs ... ok
test [ui] ui/typeck/typeck-cast-pointer-to-float.rs ... ok
test [ui] ui/typeck/issue-74933.rs ... ok
test [ui] ui/typeck/typeck-default-trait-impl-negation-send.rs ... ok
test [ui] ui/typeck/issue-73592-borrow_mut-through-deref.rs ... ok
test [ui] ui/typeck/typeck-default-trait-impl-send-param.rs ... ok
test [ui] ui/typeck/typeck-default-trait-impl-negation-sync.rs ... ok
test [ui] ui/typeck/typeck-unsafe-always-share.rs ... ok
test [ui] ui/typeck/typeck-default-trait-impl-assoc-type.rs ... ok
test [ui] ui/typeck/typeck_type_placeholder_item.rs ... ok
test [ui] ui/typeck/typeck_type_placeholder_lifetime_2.rs ... ok
test [ui] ui/typeck/typeck-default-trait-impl-cross-crate-coherence.rs ... ok
test [ui] ui/typeck/typeck_type_placeholder_lifetime_1.rs ... ok
test [ui] ui/typeck/typeck_type_placeholder_item_help.rs ... ok
test [ui] ui/type/type-mismatch-same-crate-name.rs ... ok
test [ui] ui/typeck/typeck_type_placeholder_mismatch.rs ... ok
test [ui] ui/type/type-mismatch.rs ... ok
test [ui] ui/ufcs/ufcs-explicit-self-bad.rs ... ok
test [ui] ui/ufcs/ufcs-partially-resolved.rs ... ok
test [ui] ui/ufcs/ufcs-qpath-missing-params.rs ... ok
test [ui] ui/ufcs/ufcs-qpath-self-mismatch.rs ... ok
test [ui] ui/threads-sendsync/task-comm-3.rs ... ok
test [ui] ui/ui-testing-optout.rs ... ok
test [ui] ui/unboxed-closures/issue-30906.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-feature-gate.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-illegal-move.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-immutable-capture.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-region.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-default.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-equiv.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-region.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs ... ok
test [ui] ui/threads-sendsync/task-comm-7.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs ... ok
test [ui] ui/threads-sendsync/task-spawn-move-and-copy.rs ... ok
test [ui] ui/threads-sendsync/task-comm-14.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-borrow-conflict.rs ... ok
test [ui] ui/threads-sendsync/task-spawn-barefn.rs ... ok
test [ui] ui/threads-sendsync/task-comm-16.rs ... ok
test [ui] ui/threads-sendsync/tls-init-on-init.rs ... ok
test [ui] ui/tls.rs ... ok
test [ui] ui/threads-sendsync/test-tasks-invalid-value.rs ... ok
test [ui] ui/threads-sendsync/task-stderr.rs ... ok
test [ui] ui/threads-sendsync/tls-try-with.rs ... ok
test [ui] ui/threads-sendsync/task-comm-9.rs ... ok
test [ui] ui/tool_lints_2018_preview.rs ... ok
test [ui] ui/trailing-comma.rs ... ok
test [ui] ui/tool_lints-rpass.rs ... ok
test [ui] ui/threads-sendsync/tls-dtors-are-run-in-a-static-binary.rs ... ok
test [ui] ui/traits/traits-conditional-dispatch.rs ... ok
test [ui] ui/traits/augmented-assignments-trait.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs ... ok
test [ui] ui/traits/anon-trait-static-method.rs ... ok
test [ui] ui/tool_attributes.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias.rs ... ok
test [ui] ui/traits/overlap-permitted-for-marker-traits.rs ... ok
test [ui] ui/traits/infer-from-object-trait-issue-26952.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-bounds.rs ... ok
test [ui] ui/traits/astconv-cycle-between-trait-and-type.rs ... ok
test [ui] ui/threads-sendsync/threads.rs ... ok
test [ui] ui/threads-sendsync/sync-send-in-std.rs ... ok
test [ui] ui/traits/trait-bounds-on-structs-and-enums-rpass.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs ... ok
test [ui] ui/traits/negative-impls/negative-impls-basic.rs ... ok
test [ui] ui/traits/supertrait-default-generics.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs ... ok
test [ui] ui/traits/reservation-impls/reservation-impl-ok.rs ... ok
test [ui] ui/traits/principal-less-trait-objects.rs ... ok
test [ui] ui/traits/parameterized-trait-with-bounds.rs ... ok
test [ui] ui/traits/trait-inheritance-visibility.rs ... ok
test [ui] ui/traits/impl-implicit-trait.rs ... ok
test [ui] ui/traits/syntax-trait-polarity.rs ... ok
test [ui] ui/traits/negative-impls/negated-auto-traits-rpass.rs ... ok
test [ui] ui/traits/default-method-supertrait-vtable.rs ... ok
test [ui] ui/traits/trait-inheritance2.rs ... ok
test [ui] ui/traits/fmt-pointer-trait.rs ... ok
test [ui] ui/traits/impl-inherent-prefer-over-trait.rs ... ok
test [ui] ui/traits/anon_trait_static_method_exe.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-mutate-upvar.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs ... ok
test [ui] ui/traits/negative-impls/negative-specializes-negative.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs ... ok
test [ui] ui/traits/inherent-trait-method-order.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-type-mismatch.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs ... ok
test [ui] ui/traits/trait-inheritance-simple.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-wrong-abi.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs ... ok
test [ui] ui/unconstrained-none.rs ... ok
test [ui] ui/traits/trait-bounds-impl-comparison-duplicates.rs ... ok
test [ui] ui/traits/trait-inheritance-num3.rs ... ok
test [ui] ui/unconstrained-ref.rs ... ok
test [ui] ui/underscore-ident-matcher.rs ... ok
test [ui] ui/traits/trait-coercion.rs ... ok
test [ui] ui/underscore-imports/cycle.rs ... ok
test [ui] ui/underscore-imports/hygiene-2.rs ... ok
test [ui] ui/underscore-imports/hygiene.rs ... ok
test [ui] ui/underscore-imports/macro-expanded.rs ... ok
test [ui] ui/underscore-imports/basic.rs ... ok
test [ui] ui/underscore-imports/unused-2018.rs ... ok
test [ui] ui/underscore-imports/shadow.rs ... ok
test [ui] ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs ... ok
test [ui] ui/underscore-lifetime/in-fn-return-illegal.rs ... ok
test [ui] ui/underscore-lifetime/in-binder.rs ... ok
test [ui] ui/underscore-lifetime/in-struct.rs ... ok
test [ui] ui/underscore-lifetime/dyn-trait-underscore.rs ... ok
test [ui] ui/underscore-lifetime/underscore-outlives-bounds.rs ... ok
test [ui] ui/underscore-lifetime/underscore-lifetime-binders.rs ... ok
test [ui] ui/underscore-lifetime/underscore-lifetime-elison-mismatch.rs ... ok
test [ui] ui/underscore-imports/intercrate.rs ... ok
test [ui] ui/underscore-lifetime/where-clause-inherent-impl-ampersand.rs#rust2015 ... ok
test [ui] ui/underscore-lifetime/where-clause-inherent-impl-ampersand.rs#rust2018 ... ok
test [ui] ui/underscore-lifetime/where-clause-inherent-impl-underscore.rs#rust2015 ... ok
test [ui] ui/underscore-lifetime/where-clause-inherent-impl-underscore.rs#rust2018 ... ok
test [ui] ui/underscore-lifetime/where-clause-trait-impl-region.rs#rust2015 ... ok
test [ui] ui/underscore-lifetime/where-clause-trait-impl-region.rs#rust2018 ... ok
test [ui] ui/traits/assignability-trait.rs ... ok
test [ui] ui/underscore-lifetime/where-clause-trait-impl-underscore.rs#rust2018 ... ok
test [ui] ui/underscore-lifetime/where-clauses.rs ... ok
test [ui] ui/underscore-lifetime/where-clause-trait-impl-underscore.rs#rust2015 ... ok
test [ui] ui/unevaluated_fixed_size_array_len.rs ... ok
test [ui] ui/underscore-imports/duplicate.rs ... ok
test [ui] ui/traits/trait-default-method-xc-2.rs ... ok
test [ui] ui/traits/trait-bounds-in-arc.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent.rs ... ok
test [ui] ui/traits/trait-default-method-bound-subst3.rs ... ok
test [ui] ui/uninhabited/exhaustive-wo-nevertype-issue-51221.rs ... ok
test [ui] ui/traits/traits-default-method-trivial.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-sized.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-object.rs ... ok
test [ui] ui/traits/trait-inheritance-call-bound-inherited2.rs ... ok
test [ui] ui/uninhabited/uninhabited-enum-cast.rs ... ok
test [ui] ui/uninhabited/uninhabited-irrefutable.rs ... ok
test [ui] ui/uninhabited/uninhabited-matches-feature-gated.rs ... ok
test [ui] ui/uninhabited/uninhabited-patterns.rs ... ok
test [ui] ui/union/issue-41073.rs ... ok
test [ui] ui/uninhabited/privately-uninhabited-dead-code.rs ... ok
test [ui] ui/uninit-empty-types.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-object.rs ... ok
test [ui] ui/traits/trait-default-method-xc.rs ... ok
test [ui] ui/traits/trait-inheritance-auto.rs ... ok
test [ui] ui/traits/trait-inheritance-subst2.rs ... ok
test [ui] ui/traits/traits-conditional-model-fn.rs ... ok
test [ui] ui/traits/trait-inheritance-static.rs ... ok
test [ui] ui/traits/trait-inheritance-num5.rs ... ok
test [ui] ui/traits/traits-issue-22019.rs ... ok
test [ui] ui/union/union-borrow-move-parent-sibling.rs ... ok
test [ui] ui/traits/trait-impl.rs ... ok
test [ui] ui/traits/trait-object-exclusion.rs ... ok
test [ui] ui/traits/trait-false-ambiguity-where-clause-builtin-bound.rs ... ok
test [ui] ui/traits/trait-inheritance-self-in-supertype.rs ... ok
test [ui] ui/traits/traits-assoc-type-in-supertrait.rs ... ok
test [ui] ui/traits/traits-issue-22110.rs ... ok
test [ui] ui/traits/trait-default-method-bound-subst.rs ... ok
test [ui] ui/union/union-const-pat.rs ... ok
test [ui] ui/traits/traits-repeated-supertrait.rs ... ok
test [ui] ui/union/union-custom-drop.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-well-formed.rs ... ok
test [ui] ui/traits/traits-default-method-macro.rs ... ok
test [ui] ui/traits/trait-inheritance-subst.rs ... ok
test [ui] ui/union/union-copy.rs ... ok
test [ui] ui/union/union-derive.rs ... ok
test [ui] ui/traits/trait-inheritance-cast.rs ... ok
test [ui] ui/union/union-fields-1.rs ... ok
test [ui] ui/traits/trait-composition-trivial.rs ... ok
test [ui] ui/union/union-empty.rs ... ok
test [ui] ui/union/union-fields-2.rs ... ok
test [ui] ui/traits/trait-bounds.rs ... ok
test [ui] ui/union/union-derive-clone.rs ... ok
test [ui] ui/traits/trait-inheritance-multiple-params.rs ... ok
test [ui] ui/union/union-derive-eq.rs ... ok
test [ui] ui/traits/trait-inheritance-cross-trait-call.rs ... ok
test [ui] ui/traits/traits-issue-26339.rs ... ok
test [ui] ui/traits/trait-object-auto-dedup.rs ... ok
test [ui] ui/union/union-lint-dead-code.rs ... ok
test [ui] ui/union/union-const-eval.rs ... ok
test [ui] ui/traits/trait-inheritance-cast-without-call-to-supertrait.rs ... ok
test [ui] ui/traits/trait-copy-guessing.rs ... ok
test [ui] ui/traits/trait-inheritance-auto-xc.rs ... ok
test [ui] ui/union/union-nonrepresentable.rs ... ok
test [ui] ui/union/union-generic.rs ... ok
test [ui] ui/traits/trait-inheritance-auto-xc-2.rs ... ok
test [ui] ui/traits/trait-object-generics.rs ... ok
test [ui] ui/union/union-repr-c.rs ... ok
test [ui] ui/union/union-with-drop-fields.rs ... ok
test [ui] ui/union/union-sized-field.rs ... ok
test [ui] ui/union/union-suggest-field.rs ... ok
test [ui] ui/traits/traits-default-method-mut.rs ... ok
test [ui] ui/union/union-unsized.rs ... ok
test [ui] ui/union/union-unsafe.rs ... ok
test [ui] ui/traits/trait-alias-import-cross-crate.rs ... ok
test [ui] ui/traits/trait-inheritance-multiple-inheritors.rs ... ok
test [ui] ui/traits/trait-inheritance-overloading-xc-exe.rs ... ok
test [ui] ui/unique-object-noncopyable.rs ... ok
test [ui] ui/unique-pinned-nocopy.rs ... ok
test [ui] ui/traits/trait-default-method-bound-subst4.rs ... ok
test [ui] ui/traits/traits-static-outlives-a-where-clause.rs ... ok
test [ui] ui/traits/wf-trait-object-reverse-order.rs ... ok
test [ui] ui/traits/trait-inheritance-call-bound-inherited.rs ... ok
test [ui] ui/traits/trait-inheritance-diamond.rs ... ok
test [ui] ui/traits/trait-bounds-basic.rs ... ok
test [ui] ui/traits/trait-safety-ok-cc.rs ... ok
test [ui] ui/trivial-bounds/trivial-bounds-inconsistent-projection.rs ... ok
test [ui] ui/traits/trait-impl-2.rs ... ok
test [ui] ui/traits/trait-inheritance-self.rs ... ok
test [ui] ui/traits/traits-issue-22655.rs ... ok
test [ui] ui/traits/trait-object-with-lifetime-bound.rs ... ok
test [ui] ui/traits/trait-default-method-bound-subst2.rs ... ok
test [ui] ui/traits/trait-safety-ok.rs ... ok
test [ui] ui/traits/traits-issue-23003.rs ... ok
test [ui] ui/traits/trait-inheritance-overloading.rs ... ok
test [ui] ui/traits/traits-multidispatch-infer-convert-target.rs ... ok
test [ui] ui/traits/trait-cache-issue-18209.rs ... ok
test [ui] ui/traits/dyn-trait.rs ... ok
test [ui] ui/traits/trait-inheritance-num2.rs ... ok
test [ui] ui/traits/trait-where-clause-vs-impl.rs ... ok
test [ui] ui/traits/trait-inheritance-num1.rs ... ok
test [ui] ui/transmute-specialization.rs ... ok
test [ui] ui/traits/trait-inheritance-num.rs ... ok
test [ui] ui/traits/multiple-trait-bounds.rs ... ok
test [ui] ui/transmute-non-immediate-to-immediate.rs ... ok
test [ui] ui/unknown-language-item.rs ... ok
test [ui] ui/traits/trait-inheritance-static2.rs ... ok
test [ui] ui/traits/traits-impl-object-overlap-issue-23853.rs ... ok
test [ui] ui/traits/traits-default-method-self.rs ... ok
test [ui] ui/traits/trait-static-method-overwriting.rs ... ok
test [ui] ui/traits/object-one-type-two-traits.rs ... ok
test [ui] ui/unknown-tool-name.rs ... ok
test [ui] ui/unknown-lint-tool-name.rs ... ok
test [ui] ui/traits/use-trait-before-def.rs ... ok
test [ui] ui/unnecessary-extern-crate.rs ... ok
test [ui] ui/unop-neg-bool.rs ... ok
test [ui] ui/unop-move-semantics.rs ... ok
test [ui] ui/unreachable-code-ret.rs ... ok
test [ui] ui/traits/trait-region-pointer-simple.rs ... ok
test [ui] ui/unresolved/unresolved-extern-mod-suggestion.rs ... ok
test [ui] ui/unresolved/unresolved-import-recovery.rs ... ok
test [ui] ui/unresolved/unresolved-import.rs ... ok
test [ui] ui/unsafe/ranged_ints.rs ... ok
test [ui] ui/unsafe/ranged_ints2.rs ... ok
test [ui] ui/unsafe/ranged_ints2_const.rs ... ok
test [ui] ui/unsafe/ranged_ints3.rs ... ok
test [ui] ui/unsafe/ranged_ints3_const.rs ... ok
test [ui] ui/unrestricted-attribute-tokens.rs ... ok
test [ui] ui/unsafe/ranged_ints4_const.rs ... ok
test [ui] ui/unsafe/ranged_ints4.rs ... ok
test [ui] ui/unsafe/ranged_ints_const.rs ... ok
test [ui] ui/unsafe/rfc-2585-safe_packed_borrows-in-unsafe-fn.rs ... ok
test [ui] ui/unsafe/unsafe-block-without-braces.rs ... ok
test [ui] ui/unsafe/rfc-2585-unsafe_op_in_unsafe_fn.rs ... ok
test [ui] ui/unsafe/unsafe-around-compiler-generated-unsafe.rs ... ok
test [ui] ui/traits/cycle-trait-type-trait.rs ... ok
test [ui] ui/traits/trait-to-str.rs ... ok
test [ui] ui/unsafe/ranged_ints_macro.rs ... ok
test [ui] ui/unsafe/unsafe-fn-assign-deref-ptr.rs ... ok
test [ui] ui/unsafe/unsafe-const-fn.rs ... ok
test [ui] ui/unsafe/unsafe-fn-called-from-safe.rs ... ok
test [ui] ui/unsafe/unsafe-move-val-init.rs ... ok
test [ui] ui/unsafe/unsafe-fn-used-as-value.rs ... ok
test [ui] ui/unsafe/unsafe-fn-autoderef.rs ... ok
test [ui] ui/unsafe/unsafe-fn-deref-ptr.rs ... ok
test [ui] ui/unsafe/unsafe-trait-impl.rs ... ok
test [ui] ui/unsafe/unsafe-unstable-const-fn.rs ... ok
test [ui] ui/unsafe/unsafe-subtyping.rs ... ok
test [ui] ui/unsized-locals/borrow-after-move.rs ... ok
test [ui] ui/unsized-locals/by-value-trait-object-safety.rs ... ok
test [ui] ui/unsized-locals/double-move.rs ... ok
test [ui] ui/unsized-locals/issue-30276-feature-flagged.rs ... ok
test [ui] ui/unsized-locals/issue-30276.rs ... ok
test [ui] ui/unsized-locals/issue-50940-with-feature.rs ... ok
test [ui] ui/unsized-locals/issue-50940.rs ... ok
test [ui] ui/unsized-locals/unsized-exprs.rs ... ok
test [ui] ui/traits/traits-elaborate-type-region.rs ... ok
test [ui] ui/traits/trait-generic.rs ... ok
test [ui] ui/traits/trait-bounds-recursion.rs ... ok
test [ui] ui/traits/trait-inheritance-overloading-simple.rs ... ok
test [ui] ui/traits/ufcs-trait-object.rs ... ok
test [ui] ui/unsized-locals/unsized-exprs2.rs ... ok
test [ui] ui/unsized/return-unsized-from-trait-method.rs ... ok
test [ui] ui/unsized-locals/unsized-index.rs ... ok
test [ui] ui/unsized-locals/unsized-exprs3.rs ... ok
test [ui] ui/unsized/unsized-bare-typaram.rs ... ok
test [ui] ui/unsized/unsized-enum.rs ... ok
test [ui] ui/traits/trait-alias/trait-alias-syntax.rs ... ok
test [ui] ui/unsized/unsized-fn-param.rs ... ok
test [ui] ui/traits/trait-item-inside-macro.rs ... ok
test [ui] ui/unsized/unsized-enum2.rs ... ok
test [ui] ui/unsized/unsized-inherent-impl-self-type.rs ... ok
test [ui] ui/traits/trait-inheritance-num0.rs ... ok
test [ui] ui/unsized/unsized-struct.rs ... ok
test [ui] ui/unsized/unsized-trait-impl-self-type.rs ... ok
test [ui] ui/unsized/unsized-trait-impl-trait-arg.rs ... ok
test [ui] ui/unsized5.rs ... ok
test [ui] ui/unsized3.rs ... ok
test [ui] ui/traits/trait-coercion-generic.rs ... ok
test [ui] ui/unsized7.rs ... ok
test [ui] ui/out-of-stack.rs ... ok
test [ui] ui/unsized6.rs ... ok
test [ui] ui/unsupported-cast.rs ... ok
test [ui] ui/unterminated-comment.rs ... ok
test [ui] ui/unterminated-doc-comment.rs ... ok
test [ui] ui/unspecified-self-in-trait-ref.rs ... ok
test [ui] ui/traits/trait-inheritance-cross-trait-call-xc.rs ... ok
test [ui] ui/unused-crate-deps/ignore-pathless-extern.rs ... ok
test [ui] ui/unused-crate-deps/lint-group.rs ... ok
test [ui] ui/unused-crate-deps/suppress.rs ... ok
test [ui] ui/unused-crate-deps/libfib.rs ... ok
test [ui] ui/unused-crate-deps/test-use-ok.rs ... ok
test [ui] ui/unused-crate-deps/use_extern_crate_2015.rs ... ok
test [ui] ui/unused/unused-attr.rs ... ok
test [ui] ui/unused-crate-deps/unused-aliases.rs ... ok
test [ui] ui/unused-crate-deps/warn-attr.rs ... ok
test [ui] ui/unused-crate-deps/warn-cmdline-static.rs ... ok
test [ui] ui/unused-crate-deps/warn-cmdline.rs ... ok
test [ui] ui/unused/unused-macro-rules.rs ... ok
test [ui] ui/unused/unused-macro-with-bad-frag-spec.rs ... ok
test [ui] ui/unused/unused-macro.rs ... ok
test [ui] ui/unused/unused-macro-with-follow-violation.rs ... ok
test [ui] ui/unused/unused-result.rs ... ok
test [ui] ui/unused/unused-mut-warning-captured-var.rs ... ok
test [ui] ui/traits/trait-alias-import.rs ... ok
test [ui] ui/type-in-nested-module.rs ... ok
test [ui] ui/tuple/nested-index.rs ... ok
test [ui] ui/traits/kindck-owned-trait-contains-1.rs ... ok
test [ui] ui/tydesc-name.rs ... ok
test [ui] ui/tup.rs ... ok
test [ui] ui/type-alias-enum-variants/enum-variant-generic-args-pass.rs ... ok
test [ui] ui/use-self-in-inner-fn.rs ... ok
test [ui] ui/try-operator-custom.rs ... ok
test [ui] ui/type-alias-enum-variants/type-alias-enum-variants-pass.rs ... ok
test [ui] ui/use/use-after-move-based-on-type.rs ... ok
test [ui] ui/use/use-after-move-implicity-coerced-object.rs ... ok
test [ui] ui/use/use-after-move-self-based-on-type.rs ... ok
test [ui] ui/use/issue-60976-extern-use-primitive-type.rs ... ok
test [ui] ui/use/use-associated-const.rs ... ok
test [ui] ui/use/use-after-move-self.rs ... ok
test [ui] ui/type-alias-impl-trait/issue-58887.rs ... ok
test [ui] ui/use/issue-18986.rs ... ok
test [ui] ui/try-block/try-block-in-match.rs ... ok
test [ui] ui/try-is-identifier-edition2015.rs ... ok
test [ui] ui/use/use-keyword.rs ... ok
test [ui] ui/use/use-meta-mismatch.rs ... ok
test [ui] ui/use/use-from-trait.rs ... ok
test [ui] ui/use/use-mod.rs ... ok
test [ui] ui/use/use-mod/use-mod-2.rs ... ok
test [ui] ui/use/use-mod/use-mod-5.rs ... ok
test [ui] ui/use/use-mod/use-mod-4.rs ... ok
test [ui] ui/use/use-mod/use-mod-3.rs ... ok
test [ui] ui/use/use-mod/use-mod-6.rs ... ok
test [ui] ui/use/use-nested-groups-error.rs ... ok
test [ui] ui/use/use-nested-groups-unused-imports.rs ... ok
test [ui] ui/use/use-from-trait-xc.rs ... ok
test [ui] ui/use/use-paths-as-items.rs ... ok
test [ui] ui/using-target-feature-unstable.rs ... ignored
test [ui] ui/used.rs ... ok
test [ui] ui/use/use-self-type.rs ... ok
test [ui] ui/use/use-super-global-path.rs ... ok
test [ui] ui/useless-comment.rs ... ok
test [ui] ui/useless-pub.rs ... ok
test [ui] ui/user-defined-macro-rules.rs ... ok
test [ui] ui/utf8_idents.rs ... ok
test [ui] ui/tuple-index-fat-types.rs ... ok
test [ui] ui/variance/variance-associated-types.rs ... ok
test [ui] ui/variance/variance-associated-types2.rs ... ok
test [ui] ui/variance/variance-btree-invariant-types.rs ... ok
test [ui] ui/variance/variance-cell-is-invariant.rs ... ok
test [ui] ui/variance/variance-contravariant-arg-object.rs ... ok
test [ui] ui/variance/variance-contravariant-arg-trait-match.rs ... ok
test [ui] ui/variance/variance-contravariant-self-trait-match.rs ... ok
test [ui] ui/variance/variance-covariant-arg-trait-match.rs ... ok
test [ui] ui/variance/variance-covariant-arg-object.rs ... ok
test [ui] ui/trivial-message.rs ... ok
test [ui] ui/try-from-int-error-partial-eq.rs ... ok
test [ui] ui/variance/variance-covariant-self-trait-match.rs ... ok
test [ui] ui/variance/variance-invariant-arg-object.rs ... ok
test [ui] ui/try-block.rs ... ok
test [ui] ui/try-operator-hygiene.rs ... ok
test [ui] ui/variance/variance-invariant-arg-trait-match.rs ... ok
test [ui] ui/variance/variance-invariant-self-trait-match.rs ... ok
test [ui] ui/variance/variance-object-types.rs ... ok
test [ui] ui/variance/variance-issue-20533.rs ... ok
test [ui] ui/variance/variance-regions-direct.rs ... ok
test [ui] ui/variance/variance-regions-indirect.rs ... ok
test [ui] ui/variance/variance-regions-unused-indirect.rs ... ok
test [ui] ui/variance/variance-regions-unused-direct.rs ... ok
test [ui] ui/variance/variance-trait-bounds.rs ... ok
test [ui] ui/variance/variance-trait-object-bound.rs ... ok
test [ui] ui/variance/variance-types-bounds.rs ... ok
test [ui] ui/variance/variance-types.rs ... ok
test [ui] ui/variance/variance-trait-matching.rs ... ok
test [ui] ui/variance/variance-unused-region-param.rs ... ok
test [ui] ui/variance/variance-unused-type-param.rs ... ok
test [ui] ui/variance/variance-use-covariant-struct-1.rs ... ok
test [ui] ui/variance/variance-use-contravariant-struct-1.rs ... ok
test [ui] ui/variance/variance-use-invariant-struct-1.rs ... ok
test [ui] ui/vec/vec-macro-with-comma-only.rs ... ok
test [ui] ui/variants/variant-size-differences.rs ... ok
test [ui] ui/variants/variant-used-as-type.rs ... ok
test [ui] ui/try-operator.rs ... ok
test [ui] ui/variance/variance-use-contravariant-struct-2.rs ... ok
test [ui] ui/variance/variance-use-covariant-struct-2.rs ... ok
test [ui] ui/tuple-index.rs ... ok
test [ui] ui/vector-cast-weirdness.rs ... ok
test [ui] ui/vec/vec-mut-iter-borrow.rs ... ok
test [ui] ui/variants/variant-namespacing.rs ... ok
test [ui] ui/traits/trait-object-lifetime-first.rs ... ok
test [ui] ui/vector-no-ann.rs ... ok
test [ui] ui/wasm-custom-section-relocations.rs ... ignored
test [ui] ui/vec/vec-res-add.rs ... ok
test [ui] ui/wasm-import-module.rs ... ok
test [ui] ui/warn-path-statement.rs ... ok
test [ui] ui/walk-struct-literal-with.rs ... ok
test [ui] ui/vtable-res-trait-param.rs ... ok
test [ui] ui/traits/trait-default-method-bound.rs ... ok
test [ui] ui/wf/issue-48638.rs ... ok
test [ui] ui/wf/wf-array-elem-sized.rs ... ok
test [ui] ui/wf/wf-const-type.rs ... ok
test [ui] ui/wf/wf-convert-unsafe-trait-obj-box.rs ... ok
test [ui] ui/wf/wf-convert-unsafe-trait-obj.rs ... ok
test [ui] ui/wf/wf-enum-bound.rs ... ok
test [ui] ui/wf/wf-enum-fields-struct-variant.rs ... ok
test [ui] ui/wf/wf-enum-fields.rs ... ok
test [ui] ui/wf/wf-fn-where-clause.rs ... ok
test [ui] ui/wf/wf-impl-associated-type-region.rs ... ok
test [ui] ui/wf/wf-impl-associated-type-trait.rs ... ok
test [ui] ui/wf/wf-in-fn-arg.rs ... ok
test [ui] ui/type-id-higher-rank-2.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs ... ok
test [ui] ui/type-param.rs ... ok
test [ui] ui/type-ptr.rs ... ok
test [ui] ui/wf/wf-in-fn-ret.rs ... ok
test [ui] ui/type-param-constraints.rs ... ok
test [ui] ui/typeck-closure-to-unsafe-fn-ptr.rs ... ok
test [ui] ui/wf/wf-in-fn-type-arg.rs ... ok
test [ui] ui/wf/wf-in-fn-type-static.rs ... ok
test [ui] ui/wf/wf-in-fn-type-ret.rs ... ok
test [ui] ui/type-params-in-for-each.rs ... ok
test [ui] ui/wf/wf-in-obj-type-static.rs ... ok
test [ui] ui/wf/wf-in-fn-where-clause.rs ... ok
test [ui] ui/typeck-fn-to-unsafe-fn-ptr.rs ... ok
test [ui] ui/type-infer-generalize-ty-var.rs ... ok
test [ui] ui/type-sizes.rs ... ok
test [ui] ui/wf/wf-in-obj-type-trait.rs ... ok
test [ui] ui/wf/wf-object-safe.rs ... ok
test [ui] ui/wf/wf-inherent-impl-where-clause.rs ... ok
test [ui] ui/wf/wf-inherent-impl-method-where-clause.rs ... ok
test [ui] ui/wf/wf-outlives-ty-in-fn-or-trait.rs ... ok
test [ui] ui/wf/wf-static-method.rs ... ok
test [ui] ui/wf/wf-misc-methods-issue-28609.rs ... ok
test [ui] ui/wf/wf-packed-on-proj-of-type-as-unimpl-trait.rs ... ok
test [ui] ui/wf/wf-struct-bound.rs ... ok
test [ui] ui/wf/wf-static-type.rs ... ok
test [ui] ui/wf/wf-trait-associated-type-region.rs ... ok
test [ui] ui/wf/wf-trait-associated-type-bound.rs ... ok
test [ui] ui/wf/wf-struct-field.rs ... ok
test [ui] ui/ufcs-type-params.rs ... ok
test [ui] ui/type-use-i1-versus-i8.rs ... ok
test [ui] ui/wf/wf-trait-associated-type-trait.rs ... ok
test [ui] ui/wf/wf-trait-default-fn-ret.rs ... ok
test [ui] ui/wf/wf-trait-default-fn-arg.rs ... ok
test [ui] ui/wf/wf-trait-default-fn-where-clause.rs ... ok
test [ui] ui/wf/wf-trait-bound.rs ... ok
test [ui] ui/type-id-higher-rank.rs ... ok
test [ui] ui/wf/wf-trait-fn-arg.rs ... ok
test [ui] ui/typestate-cfg-nesting.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-extern-fn.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-blanket-fn.rs ... ok
test [ui] ui/typestate-multi-decl.rs ... ok
test [ui] ui/wf/wf-trait-fn-ret.rs ... ok
test [ui] ui/wf/wf-trait-superbound.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-call-sugar-object.rs ... ok
test [ui] ui/wf/wf-trait-fn-where-clause.rs ... ok
test [ui] ui/where-clauses/where-clause-method-substituion.rs ... ok
test [ui] ui/wf/wf-unsafe-trait-obj-match.rs ... ok
test [ui] ui/where-clauses/where-clause-constraints-are-local-for-inherent-impl.rs ... ok
test [ui] ui/where-clauses/where-clause-constraints-are-local-for-trait-impl.rs ... ok
test [ui] ui/where-clauses/where-for-self.rs ... ok
test [ui] ui/where-clauses/where-equality-constraints.rs ... ok
test [ui] ui/where-clauses/where-for-self-2.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-all-traits.rs ... ok
test [ui] ui/where-clauses/where-clauses-unsatisfied.rs ... ok
test [ui] ui/where-clauses/where-clauses-method-unsatisfied.rs ... ok
test [ui] ui/where-clauses/where-lifetime-resolution.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-boxed.rs ... ok
test [ui] ui/windows-subsystem-invalid.rs ... ok
test [ui] ui/typeck_type_placeholder_1.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs ... ok
test [ui] ui/write-to-static-mut-in-static.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-nested-impl-trait.rs ... ok
test [ui] ui/writing-to-immutable-vec.rs ... ok
test [ui] ui/wrong-ret-type.rs ... ok
test [ui] ui/while-type-error.rs ... ok
test [ui] ui/type-ascription.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-counter-not-moved.rs ... ok
test [ui] ui/wrong-mul-method-signature.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-drop.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs ... ok
test [ui] ui/xcrate/xcrate-private-by-default.rs ... ok
test [ui] ui/xc-private-method.rs ... ok
test [ui] ui/xc-private-method2.rs ... ok
test [ui] ui/type-namespace.rs ... ok
test [ui] ui/xcrate/xcrate-unit-struct.rs ... ok
test [ui] ui/typeclasses-eq-example-static.rs ... ok
test [ui] ui/ufcs-polymorphic-paths.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs ... ok
test [ui] ui/unary-minus-suffix-inference.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-cross-crate.rs ... ok
test [ui] ui/type-alias-impl-trait/type-alias-impl-trait.rs ... ok
test [ui] ui/typeid-intrinsic.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs ... ok
test [ui] ui/typeclasses-eq-example.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-by-ref.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-single-word-env.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-upvar.rs ... ok
test [ui] ui/underscore-lifetimes.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-sugar-object.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-kind.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-simple.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-generic.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-manual-impl.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnonce.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-prelude.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-move-mutable.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-zero-args.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs ... ok
test [ui] ui/underscore-method-after-integer.rs ... ok
test [ui] ui/uniform-paths/macros-nested.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-unique-type-id.rs ... ok
test [ui] ui/test-panic-abort-nocapture.rs ... ok
test [ui] ui/uniform-paths/macros.rs ... ok
test [ui] ui/trivial_casts-rpass.rs ... ok
test [ui] ui/union/union-basic.rs ... ok
test [ui] ui/uniform-paths/basic.rs ... ok
test [ui] ui/uniform-paths/issue-53691.rs ... ok
test [ui] ui/union/union-const-eval-field.rs ... ok
test [ui] ui/union/union-align.rs ... ok
test [ui] ui/union/union-const-codegen.rs ... ok
test [ui] ui/union/union-macro.rs ... ok
test [ui] ui/uniform-paths/basic-nested.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs ... ok
test [ui] ui/union/union-drop.rs ... ok
test [ui] ui/unique/unique-create.rs ... ok
test [ui] ui/unique/unique-autoderef-field.rs ... ok
test [ui] ui/unique/unique-assign.rs ... ok
test [ui] ui/union/union-backcomp.rs ... ok
test [ui] ui/union/union-nodrop.rs ... ok
test [ui] ui/union/union-generic-rpass.rs ... ok
test [ui] ui/union/union-derive-rpass.rs ... ok
test [ui] ui/union/union-transmute.rs ... ok
test [ui] ui/union/union-manuallydrop-rpass.rs ... ok
test [ui] ui/union/union-drop-assign.rs ... ok
test [ui] ui/unique/unique-assign-generic.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-monomorphization.rs ... ok
test [ui] ui/unique/unique-fn-arg-move.rs ... ok
test [ui] ui/uniform-paths/same-crate.rs ... ok
test [ui] ui/unique/unique-decl.rs ... ok
test [ui] ui/unique/unique-assign-copy.rs ... ok
test [ui] ui/unique/unique-containing-tag.rs ... ok
test [ui] ui/unify-return-ty.rs ... ok
test [ui] ui/union/union-nonzero.rs ... ok
test [ui] ui/unique/unique-drop-complex.rs ... ok
test [ui] ui/unique/unique-generic-assign.rs ... ok
test [ui] ui/union/union-inherent-method.rs ... ok
test [ui] ui/unique/unique-destructure.rs ... ok
test [ui] ui/unique/unique-fn-ret.rs ... ok
test [ui] ui/union/union-packed.rs ... ok
test [ui] ui/unique/unique-decl-init.rs ... ok
test [ui] ui/union/union-overwrite.rs ... ok
test [ui] ui/unique/unique-fn-arg.rs ... ok
test [ui] ui/unique/unique-deref.rs ... ok
test [ui] ui/unique/unique-autoderef-index.rs ..