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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 related	[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 ... ok
test [ui] ui/unique/unique-move-temp.rs ... ok
test [ui] ui/unique/unique-object-move.rs ... ok
test [ui] ui/unique/unique-init.rs ... ok
test [ui] ui/unique/unique-cmp.rs ... ok
test [ui] ui/unique/unique-fn-arg-mut.rs ... ok
test [ui] ui/unique/unique-assign-drop.rs ... ok
test [ui] ui/unsafe-coercion.rs ... ok
test [ui] ui/unique/unique-decl-init-copy.rs ... ok
test [ui] ui/unique/unique-kinds.rs ... ok
test [ui] ui/unique/unique-move.rs ... ok
test [ui] ui/unique/unique-move-drop.rs ... ok
test [ui] ui/unique/unique-log.rs ... ok
test [ui] ui/union/union-pat-refutability.rs ... ok
test [ui] ui/unique/unique-pat-2.rs ... ok
test [ui] ui/unique/unique-pat.rs ... ok
test [ui] ui/unique/unique-ffi-symbols.rs ... ok
test [ui] ui/unique/unique-match-discrim.rs ... ok
test [ui] ui/unsafe-fn-called-from-unsafe-blk.rs ... ok
test [ui] ui/unit.rs ... ok
test [ui] ui/unreachable-code-1.rs ... ok
test [ui] ui/use.rs ... ok
test [ui] ui/union/union-trait-impl.rs ... ok
test [ui] ui/unique/unique-in-vec.rs ... ok
test [ui] ui/unsafe-pointer-assignability.rs ... ok
test [ui] ui/unique/unique-mutable.rs ... ok
test [ui] ui/unique/unique-rec.rs ... ok
test [ui] ui/unsafe-fn-called-from-unsafe-fn.rs ... ok
test [ui] ui/unnamed_argument_mode.rs ... ok
test [ui] ui/unique/unique-in-tag.rs ... ok
test [ui] ui/unreachable-code.rs ... ok
test [ui] ui/unique/unique-in-vec-copy.rs ... ok
test [ui] ui/unique/unique-swap.rs ... ok
test [ui] ui/unique/unique-pat-3.rs ... ok
test [ui] ui/try-wait.rs ... ok
test [ui] ui/unsized-locals/by-value-trait-object-safety-withdefault.rs ... ok
test [ui] ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs ... ok
test [ui] ui/unique/unique-decl-move.rs ... ok
test [ui] ui/unsized-locals/reference-unsized-locals.rs ... ok
test [ui] ui/unique/unique-send.rs ... ok
test [ui] ui/use-import-export.rs ... ok
test [ui] ui/unsized-locals/unsized-exprs-rpass.rs ... ok
test [ui] ui/unsized2.rs ... ok
test [ui] ui/unsized-locals/simple-unsized-locals.rs ... ok
test [ui] ui/unsized3-rpass.rs ... ok
test [ui] ui/use-keyword-2.rs ... ok
test [ui] ui/unsized-locals/unsized-parameters.rs ... ok
test [ui] ui/unsized-locals/box-fnonce.rs ... ok
test [ui] ui/use-crate-name-alias.rs ... ok
test [ui] ui/variance-iterators-in-libcore.rs ... ok
test [ui] ui/weak-new-uninhabited-issue-48493.rs ... ok
test [ui] ui/volatile-fat-ptr.rs ... ok
test [ui] ui/use-module-level-int-consts.rs ... ok
test [ui] ui/use-mod.rs ... ok
test [ui] ui/unsized-locals/by-value-trait-object-safety-rpass.rs ... ok
test [ui] ui/unused-move.rs ... ok
test [ui] ui/unused-move-capture.rs ... ok
test [ui] ui/unsized.rs ... ok
test [ui] ui/utf8_idents-rpass.rs ... ok
test [ui] ui/variance-intersection-of-ref-and-opt-ref.rs ... ok
test [ui] ui/warn-ctypes-inhibit.rs ... ok
test [ui] ui/use-nested-groups.rs ... ok
test [ui] ui/utf8-bom.rs ... ok
test [ui] ui/weird-exit-code.rs ... ok
test [ui] ui/unsized-locals/autoderef.rs ... ok
test [ui] ui/where-clauses/where-clause-method-substituion-rpass.rs ... ok
test [ui] ui/where-clauses/where-clause-region-outlives.rs ... ok
test [ui] ui/where-clauses/where-clause-bounds-inconsistency.rs ... ok
test [ui] ui/where-clauses/where-clauses-lifetimes.rs ... ok
test [ui] ui/utf8_chars.rs ... ok
test [ui] ui/wf-bound-region-in-object-type.rs ... ok
test [ui] ui/unsized-tuple-impls.rs ... ok
test [ui] ui/zero-sized/zero-sized-btreemap-insert.rs ... ok
test [ui] ui/where-clauses/where-clause-early-bound-lifetimes.rs ... ok
test [ui] ui/x86stdcall2.rs ... ok
test [ui] ui/weird-exprs.rs ... ok
test [ui] ui/utf8.rs ... ok
test [ui] ui/wrapping-int-api.rs ... ok
test [ui] ui/z-crate-attr.rs ... ok
test [ui] ui/zero-sized/zero-sized-tuple-struct.rs ... ok
test [ui] ui/zero-sized/zero-sized-vec-push.rs ... ok
test [ui] ui/where-clauses/where-clauses-unboxed-closures.rs ... ok
test [ui] ui/x86stdcall.rs ... ok
test [ui] ui/write-fmt-errors.rs ... ok
test [ui] ui/zero-sized/zero-size-type-destructors.rs ... ok
test [ui] ui/zero-sized/zero-sized-binary-heap-push.rs ... ok
test [ui] ui/zero-sized/zero-sized-linkedlist-push.rs ... ok
test [ui] ui/writealias.rs ... ok
test [ui] ui/zero-sized/zero-sized-vec-deque-push.rs ... ok
test [ui] ui/wrong-hashset-issue-42918.rs ... ok
test [ui] ui/where-clauses/where-clauses.rs ... ok
test [ui] ui/use_inline_dtor.rs ... ok
test [ui] ui/vec/vec-overrun.rs ... ok
test [ui] ui/unwind-unique.rs ... ok
test [ui] ui/while-let.rs ... ok
test [ui] ui/weak-lang-item.rs ... ok
test [ui] ui/where-clauses/where-clauses-cross-crate.rs ... ok
test [ui] ui/where-clauses/where-clauses-method.rs ... ok
test [ui] ui/unwind-resource.rs ... ok
test [ui] ui/yield.rs ... ok
test [ui] ui/yield1.rs ... ok
test [ui] ui/yield2.rs ... ok
test [ui] ui/wrapping-int-combinations.rs ... ok
test [ui] ui/unique/unique-send-2.rs ... ok
test [ui] ui/threads-sendsync/task-comm-12.rs ... ok
test [ui] ui/test-panic-abort.rs ... ok
test [ui] ui/wait-forked-but-failed-child.rs ... ok
test [ui] ui/traits/trait-with-bounds-default.rs ... ok
test [ui] ui/std-backtrace.rs ... ok
test [ui] ui/stdio-is-blocking.rs ... ok
test [ui] ui/mpsc_stress.rs ... ok

failures:

---- [ui] ui/abi/variadic-ffi.rs stdout ----

error: test run failed!
status: exit code: 101
command: "/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/stage0-tools-bin/remote-test-client" "run" "0" "/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/test/ui/abi/variadic-ffi/a"
stdout:
------------------------------------------
uploaded "/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/test/ui/abi/variadic-ffi/a", waiting for result

------------------------------------------
stderr:
------------------------------------------
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `30`,
 right: `50`', /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/abi/variadic-ffi.rs:31:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

------------------------------------------


---- [ui] ui/macros/restricted-shadowing-legacy.rs stdout ----
failed to decode compiler output as json: line: {"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6688,"byte_end":6689,"line_start":164,"line_end":164,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":10}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () =
output: {"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5476,"byte_end":5477,"line_start":101,"line_end":101,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":13,"highlight_end":14}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5528,"byte_end":5551,"line_start":103,"line_end":103,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_gen_inner_invoc!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_gen_inner_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5395,"byte_end":5519,"line_start":99,"line_end":102,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":9,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5450,"byte_end":5463,"line_start":100,"line_end":100,"column_start":13,"column_end":26,"is_primary":false,"text":[{"text":"            gen_inner!();","highlight_start":13,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5528,"byte_end":5551,"line_start":103,"line_end":103,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_gen_inner_invoc!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_gen_inner_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5395,"byte_end":5519,"line_start":99,"line_end":102,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":9,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5358,"byte_end":5385,"line_start":97,"line_end":97,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":"        macro_rules! m { () => {} }","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:101:13\n   |\nLL |             m!(); //~ ERROR `m` is ambiguous\n   |             ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:97:9\n   |\nLL |         macro_rules! m { () => {} }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6289,"byte_end":6290,"line_start":139,"line_end":139,"column_start":42,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":42,"highlight_end":43}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6333,"byte_end":6346,"line_start":140,"line_end":140,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_invoc!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6256,"byte_end":6297,"line_start":139,"line_end":139,"column_start":9,"column_end":50,"is_primary":false,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6233,"byte_end":6246,"line_start":137,"line_end":137,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_inner!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6196,"byte_end":6223,"line_start":135,"line_end":135,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":"        macro_rules! m { () => {} }","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:139:42\n   |\nLL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous\n   |                                          ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:135:9\n   |\nLL |         macro_rules! m { () => {} }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6441,"byte_end":6442,"line_start":148,"line_end":148,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":10}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6418,"byte_end":6431,"line_start":146,"line_end":146,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_inner!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6381,"byte_end":6408,"line_start":144,"line_end":144,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":"        macro_rules! m { () => {} }","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:148:9\n   |\nLL |         m!(); //~ ERROR `m` is ambiguous\n   |         ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:144:9\n   |\nLL |         macro_rules! m { () => {} }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6688,"byte_end":6689,"line_start":164,"line_end":164,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":10}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () =

<<<<<< SKIPPED 567 BYTES >>>>>>

ght_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6665,"byte_end":6678,"line_start":162,"line_end":162,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_inner!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5077,"byte_end":5111,"line_start":85,"line_end":85,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6642,"byte_end":6655,"line_start":160,"line_end":160,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_outer!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5036,"byte_end":5118,"line_start":84,"line_end":86,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_outer { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:164:9\n   |\nLL |         m!(); //~ ERROR `m` is ambiguous\n   |         ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:85:9\n   |\nLL |         macro_rules! m { () => { Wrong } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6972,"byte_end":6973,"line_start":180,"line_end":180,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":13,"highlight_end":14}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7024,"byte_end":7047,"line_start":182,"line_end":182,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_gen_inner_invoc!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_gen_inner_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6891,"byte_end":7015,"line_start":178,"line_end":181,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":9,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6946,"byte_end":6959,"line_start":179,"line_end":179,"column_start":13,"column_end":26,"is_primary":false,"text":[{"text":"            gen_inner!();","highlight_start":13,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7024,"byte_end":7047,"line_start":182,"line_end":182,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_gen_inner_invoc!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_gen_inner_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6891,"byte_end":7015,"line_start":178,"line_end":181,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":9,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5077,"byte_end":5111,"line_start":85,"line_end":85,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":6868,"byte_end":6881,"line_start":176,"line_end":176,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_outer!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5036,"byte_end":5118,"line_start":84,"line_end":86,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_outer { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:180:13\n   |\nLL |             m!(); //~ ERROR `m` is ambiguous\n   |             ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:85:9\n   |\nLL |         macro_rules! m { () => { Wrong } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7710,"byte_end":7711,"line_start":218,"line_end":218,"column_start":42,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":42,"highlight_end":43}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7754,"byte_end":7767,"line_start":219,"line_end":219,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_invoc!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7677,"byte_end":7718,"line_start":218,"line_end":218,"column_start":9,"column_end":50,"is_primary":false,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7654,"byte_end":7667,"line_start":216,"line_end":216,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_inner!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5077,"byte_end":5111,"line_start":85,"line_end":85,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7631,"byte_end":7644,"line_start":214,"line_end":214,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_outer!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5036,"byte_end":5118,"line_start":84,"line_end":86,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_outer { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:218:42\n   |\nLL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous\n   |                                          ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:85:9\n   |\nLL |         macro_rules! m { () => { Wrong } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8103,"byte_end":8104,"line_start":232,"line_end":232,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":10}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8037,"byte_end":8050,"line_start":228,"line_end":228,"column_start":13,"column_end":26,"is_primary":false,"text":[{"text":"            gen_inner!();","highlight_start":13,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8070,"byte_end":8093,"line_start":230,"line_end":230,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_outer_gen_inner!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer_gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7942,"byte_end":8061,"line_start":226,"line_end":229,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":9,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7997,"byte_end":8024,"line_start":227,"line_end":227,"column_start":13,"column_end":40,"is_primary":true,"text":[{"text":"            macro_rules! m { () => {} }","highlight_start":13,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8070,"byte_end":8093,"line_start":230,"line_end":230,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_outer_gen_inner!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer_gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":7942,"byte_end":8061,"line_start":226,"line_end":229,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":9,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:232:9\n   |\nLL |         m!(); //~ ERROR `m` is ambiguous\n   |         ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:227:13\n   |\nLL |             macro_rules! m { () => {} }\n   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"`m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)","code":{"code":"E0659","explanation":"An item usage is ambiguous.\n\nErroneous code example:\n\n```compile_fail,edition2018,E0659\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon::*;\n    pub use crate::earth::*;\n}\n\nfn main() {\n    crate::collider::foo(); // ERROR: `foo` is ambiguous\n}\n```\n\nThis error generally appears when two items with the same name are imported into\na module. Here, the `foo` functions are imported and reexported from the\n`collider` module and therefore, when we're using `collider::foo()`, both\nfunctions collide.\n\nTo solve this error, the best solution is generally to keep the path before the\nitem when using it. Example:\n\n```edition2018\npub mod moon {\n    pub fn foo() {}\n}\n\npub mod earth {\n    pub fn foo() {}\n}\n\nmod collider {\n    pub use crate::moon;\n    pub use crate::earth;\n}\n\nfn main() {\n    crate::collider::moon::foo(); // ok!\n    crate::collider::earth::foo(); // ok!\n}\n```\n"},"level":"error","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8805,"byte_end":8806,"line_start":262,"line_end":262,"column_start":42,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":42,"highlight_end":43}],"label":"ambiguous name","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8849,"byte_end":8862,"line_start":263,"line_end":263,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":"        gen_invoc!();","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_invoc!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8772,"byte_end":8813,"line_start":262,"line_end":262,"column_start":9,"column_end":50,"is_primary":false,"text":[{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":9,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`m` could refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5164,"byte_end":5198,"line_start":88,"line_end":88,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":"        macro_rules! m { () => { Right } }","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8706,"byte_end":8719,"line_start":258,"line_end":258,"column_start":13,"column_end":26,"is_primary":false,"text":[{"text":"            gen_inner!();","highlight_start":13,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8739,"byte_end":8762,"line_start":260,"line_end":260,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_outer_gen_inner!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer_gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8611,"byte_end":8730,"line_start":256,"line_end":259,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":9,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5123,"byte_end":5205,"line_start":87,"line_end":89,"column_start":5,"column_end":7,"is_primary":false,"text":[{"text":"    macro_rules! gen_inner { () => {","highlight_start":5,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"`m` could also refer to the macro defined here","code":null,"level":"note","spans":[{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8666,"byte_end":8693,"line_start":257,"line_end":257,"column_start":13,"column_end":40,"is_primary":true,"text":[{"text":"            macro_rules! m { () => {} }","highlight_start":13,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8739,"byte_end":8762,"line_start":260,"line_end":260,"column_start":9,"column_end":32,"is_primary":false,"text":[{"text":"        gen_outer_gen_inner!();","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":9330,"byte_end":9341,"line_start":287,"line_end":287,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"include!();","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"include!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":5001,"byte_end":9328,"line_start":83,"line_end":285,"column_start":1,"column_end":3,"is_primary":false,"text":[{"text":"macro_rules! include { () => {","highlight_start":1,"highlight_end":31},{"text":"    macro_rules! gen_outer { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_inner { () => {","highlight_start":1,"highlight_end":37},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"    macro_rules! gen_invoc { () => {","highlight_start":1,"highlight_end":37},{"text":"        m!()","highlight_start":1,"highlight_end":13},{"text":"    }}","highlight_start":1,"highlight_end":7},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check1() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check5() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check9() {","highlight_start":1,"highlight_end":18},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check10() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check13() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check17() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => {} }","highlight_start":1,"highlight_end":36},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check22() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check36() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check39() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check52() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_gen_inner_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"            m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":45},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_inner_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check56() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_invoc { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            m!(); // OK","highlight_start":1,"highlight_end":24},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_invoc!();","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check59() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":43},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check60() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_inner_gen_invoc { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"            gen_invoc!(); // OK","highlight_start":1,"highlight_end":32},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_inner_gen_invoc!();","highlight_start":1,"highlight_end":32},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check64() {","highlight_start":1,"highlight_end":19},{"text":"        gen_outer!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_inner!();","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    // -----------------------------------------------------------","highlight_start":1,"highlight_end":67},{"text":"    // These configurations are only possible with legacy macro scoping","highlight_start":1,"highlight_end":72},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check33() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":41},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check34() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check35() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        m!(); // OK","highlight_start":1,"highlight_end":20},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check61() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_gen_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous","highlight_start":1,"highlight_end":77},{"text":"        gen_invoc!();","highlight_start":1,"highlight_end":22},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check62() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_outer_inner { () => {","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Wrong } }","highlight_start":1,"highlight_end":47},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_outer_inner!();","highlight_start":1,"highlight_end":28},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"","highlight_start":1,"highlight_end":1},{"text":"    fn check63() {","highlight_start":1,"highlight_end":19},{"text":"        macro_rules! gen_gen_outer_inner { () => {","highlight_start":1,"highlight_end":51},{"text":"            gen_outer!();","highlight_start":1,"highlight_end":26},{"text":"            macro_rules! m { () => { Right } }","highlight_start":1,"highlight_end":47},{"text":"        }}","highlight_start":1,"highlight_end":11},{"text":"        gen_gen_outer_inner!();","highlight_start":1,"highlight_end":32},{"text":"","highlight_start":1,"highlight_end":1},{"text":"        gen_invoc!(); // OK","highlight_start":1,"highlight_end":28},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}}","highlight_start":1,"highlight_end":3}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},"macro_decl_name":"gen_outer_gen_inner!","def_site_span":{"file_name":"/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs","byte_start":8611,"byte_end":8730,"line_start":256,"line_end":259,"column_start":9,"column_end":11,"is_primary":false,"text":[{"text":"        macro_rules! gen_outer_gen_inner { () => {","highlight_start":9,"highlight_end":51},{"text":"            macro_rules! m { () => {} }","highlight_start":1,"highlight_end":40},{"text":"            gen_inner!();","highlight_start":1,"highlight_end":26},{"text":"        }}","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"error[E0659]: `m` is ambiguous (macro-expanded name vs less macro-expanded name from outer scope during import/macro resolution)\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:262:42\n   |\nLL |         macro_rules! gen_invoc { () => { m!() } } //~ ERROR `m` is ambiguous\n   |                                          ^ ambiguous name\n...\nLL | include!();\n   | ----------- in this macro invocation\n   |\nnote: `m` could refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:88:9\n   |\nLL |         macro_rules! m { () => { Right } }\n   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\nnote: `m` could also refer to the macro defined here\n  --> /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui/macros/restricted-shadowing-legacy.rs:257:13\n   |\nLL |             macro_rules! m { () => {} }\n   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n...\nLL | include!();\n   | ----------- in this macro invocation\n   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\n\n"}
{"message":"aborting due to 8 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 8 previous errors\n\n"}
{"message":"For more information about this error, try `rustc --explain E0659`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0659`.\n"}
thread '[ui] ui/macros/restricted-shadowing-legacy.rs' panicked at 'explicit panic', src/tools/compiletest/src/json.rs:86:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    [ui] ui/abi/variadic-ffi.rs
    [ui] ui/macros/restricted-shadowing-legacy.rs

test result: FAILED. 10351 passed; 2 failed; 112 ignored; 0 measured; 0 filtered out

thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:344:22


command did not execute successfully: "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui" "--build-base" "/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/test/ui" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "ui" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""
expected success, got: exit code: 101


	finished in 269.723
Check compiletest suite=compile-fail mode=compile-fail (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 28 tests
test [compile-fail] compile-fail/unwind-tables-target-required.rs ... ignored
test [compile-fail] compile-fail/empty-extern-arg.rs ... ok
test [compile-fail] compile-fail/panic-handler-missing.rs ... ok
test [compile-fail] compile-fail/meta-expected-error-wrong-rev.rs#a ... ok
test [compile-fail] compile-fail/issue-23595-1.rs ... ok
test [compile-fail] compile-fail/specialization/issue-50452.rs ... ok
test [compile-fail] compile-fail/unwind-tables-panic-required.rs ... ok
test [compile-fail] compile-fail/coerce-unsafe-closure-to-unsafe-fn-ptr.rs ... ok
test [compile-fail] compile-fail/issue-44415.rs ... ok
test [compile-fail] compile-fail/issue-46209-private-enum-variant-reexport.rs ... ok
test [compile-fail] compile-fail/coerce-unsafe-to-closure.rs ... ok
test [compile-fail] compile-fail/issue-52443.rs ... ok
test [compile-fail] compile-fail/consts/const-fn-error.rs ... ok
test [compile-fail] compile-fail/issue-43733-2.rs ... ok
test [compile-fail] compile-fail/issue-10755.rs ... ok
test [compile-fail] compile-fail/consts/issue-55878.rs ... ok
test [compile-fail] compile-fail/asm-src-loc.rs ... ok
test [compile-fail] compile-fail/asm-src-loc-codegen-units.rs ... ok
test [compile-fail] compile-fail/invalid-link-args.rs ... ok
test [compile-fail] compile-fail/not-utf8.rs ... ok
test [compile-fail] compile-fail/panic-handler-twice.rs ... ok
test [compile-fail] compile-fail/must_use-in-stdlib-traits.rs ... ok
test [compile-fail] compile-fail/weak-lang-item.rs ... ok
test [compile-fail] compile-fail/runtime-depend-on-needs-runtime.rs ... ok
test [compile-fail] compile-fail/want-abort-got-unwind.rs ... ok
test [compile-fail] compile-fail/want-abort-got-unwind2.rs ... ok
test [compile-fail] compile-fail/two-panic-runtimes.rs ... ok
test [compile-fail] compile-fail/crateresolve1.rs ... ok

test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

	finished in 0.421
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 17 tests
test [run-pass-valgrind] run-pass-valgrind/coerce-match-calls.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/coerce-match.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/dst-dtor-3.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/dst-dtor-1.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/cast-enum-with-dtor.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/dst-dtor-4.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/dst-dtor-2.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/issue-44800.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/cleanup-auto-borrow-obj.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/osx-frameworks.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/unsized-locals/by-value-trait-objects-rust-call.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/unsized-locals/by-value-trait-objects.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/cleanup-stdin.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/unsized-locals/long-live-the-unsized-temporary.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/down-with-thread-dtors.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/unsized-locals/by-value-trait-objects-rust-call2.rs ... ok
test [run-pass-valgrind] run-pass-valgrind/exit-flushes.rs ... ok

test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 1.226
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 112 tests
test [mir-opt] mir-opt/instrument_coverage.rs ... ignored
test [mir-opt] mir-opt/const_prop/cast.rs ... ok
test [mir-opt] mir-opt/const_prop/checked_add.rs ... ok
test [mir-opt] mir-opt/const_prop/aggregate.rs ... ok
test [mir-opt] mir-opt/byte_slice.rs ... ok
test [mir-opt] mir-opt/const_prop/tuple_literal_propagation.rs ... ok
test [mir-opt] mir-opt/const_prop/discriminant.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable.rs ... ok
test [mir-opt] mir-opt/const_prop/control-flow-simplification.rs ... ok
test [mir-opt] mir-opt/nll/named-lifetimes-basic.rs ... ok
test [mir-opt] mir-opt/const_prop/const_prop_fails_gracefully.rs ... ok
test [mir-opt] mir-opt/basic_assignment.rs ... ok
test [mir-opt] mir-opt/array-index-is-temporary.rs ... ok
test [mir-opt] mir-opt/unreachable_asm_2.rs ... ok
test [mir-opt] mir-opt/const_prop_miscompile.rs ... ok
test [mir-opt] mir-opt/nll/region-subtyping-basic.rs ... ok
test [mir-opt] mir-opt/const-promotion-extern-static.rs ... ok
test [mir-opt] mir-opt/const_prop/reify_fn_ptr.rs ... ok
test [mir-opt] mir-opt/const_allocation.rs ... ok
test [mir-opt] mir-opt/address-of.rs ... ok
test [mir-opt] mir-opt/generator-storage-dead-unwind.rs ... ok
test [mir-opt] mir-opt/box_expr.rs ... ok
test [mir-opt] mir-opt/const_prop/issue-66971.rs ... ok
test [mir-opt] mir-opt/const_prop/indirect.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable_aggregate_mut_ref.rs ... ok
test [mir-opt] mir-opt/issue-38669.rs ... ok
test [mir-opt] mir-opt/issue-72181-1.rs ... ok
test [mir-opt] mir-opt/slice-drop-shim.rs ... ok
test [mir-opt] mir-opt/tls-access.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable_aggregate.rs ... ok
test [mir-opt] mir-opt/const_prop/array_index.rs ... ok
test [mir-opt] mir-opt/const_prop/repeat.rs ... ok
test [mir-opt] mir-opt/graphviz.rs ... ok
test [mir-opt] mir-opt/inline/inline-specialization.rs ... ok
test [mir-opt] mir-opt/return_an_array.rs ... ok
test [mir-opt] mir-opt/const_prop/ref_deref.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable_no_prop.rs ... ok
test [mir-opt] mir-opt/const_prop/return_place.rs ... ok
test [mir-opt] mir-opt/simplify_cfg.rs ... ok
test [mir-opt] mir-opt/deaggregator_test_multiple.rs ... ok
test [mir-opt] mir-opt/simplify_match.rs ... ok
test [mir-opt] mir-opt/match_test.rs ... ok
test [mir-opt] mir-opt/issue-49232.rs ... ok
test [mir-opt] mir-opt/remove_fake_borrows.rs ... ok
test [mir-opt] mir-opt/simplify-arm-identity.rs ... ok
test [mir-opt] mir-opt/simple-match.rs ... ok
test [mir-opt] mir-opt/remove-never-const.rs ... ok
test [mir-opt] mir-opt/fn-ptr-shim.rs ... ok
test [mir-opt] mir-opt/const_prop/switch_int.rs ... ok
test [mir-opt] mir-opt/deaggregator_test.rs ... ok
test [mir-opt] mir-opt/const_prop/boxes.rs ... ok
test [mir-opt] mir-opt/exponential-or.rs ... ok
test [mir-opt] mir-opt/const_prop/bad_op_div_by_zero.rs ... ok
test [mir-opt] mir-opt/const_prop/scalar_literal_propagation.rs ... ok
test [mir-opt] mir-opt/simplify_try.rs ... ok
test [mir-opt] mir-opt/simplify_if.rs ... ok
test [mir-opt] mir-opt/uninhabited-enum.rs ... ok
test [mir-opt] mir-opt/copy_propagation.rs ... ok
test [mir-opt] mir-opt/unreachable_diverging.rs ... ok
test [mir-opt] mir-opt/const_prop/bad_op_mod_by_zero.rs ... ok
test [mir-opt] mir-opt/uninhabited_enum_branching.rs ... ok
test [mir-opt] mir-opt/simplify-locals-fixedpoint.rs ... ok
test [mir-opt] mir-opt/deaggregator_test_enum_2.rs ... ok
test [mir-opt] mir-opt/const_prop/bad_op_unsafe_oob_for_slices.rs ... ok
test [mir-opt] mir-opt/loop_test.rs ... ok
test [mir-opt] mir-opt/const_prop/read_immutable_static.rs ... ok
test [mir-opt] mir-opt/unreachable_asm.rs ... ok
test [mir-opt] mir-opt/unreachable.rs ... ok
test [mir-opt] mir-opt/const_prop/optimizes_into_variable.rs ... ok
test [mir-opt] mir-opt/const_prop/ref_deref_project.rs ... ok
test [mir-opt] mir-opt/while-storage.rs ... ok
test [mir-opt] mir-opt/const_prop/slice_len.rs ... ok
test [mir-opt] mir-opt/issue-41888.rs ... ok
test [mir-opt] mir-opt/issue-72181.rs ... ok
test [mir-opt] mir-opt/packed-struct-drop-aligned.rs ... ok
test [mir-opt] mir-opt/storage_ranges.rs ... ok
test [mir-opt] mir-opt/simplify-locals-removes-unused-consts.rs ... ok
test [mir-opt] mir-opt/deaggregator_test_enum.rs ... ok
test [mir-opt] mir-opt/nrvo-simple.rs ... ok
test [mir-opt] mir-opt/unusual-item-types.rs ... ok
test [mir-opt] mir-opt/inline/inline-closure-captures.rs ... ok
test [mir-opt] mir-opt/inline/inline-into-box-place.rs ... ok
test [mir-opt] mir-opt/issue-62289.rs ... ok
test [mir-opt] mir-opt/generator-drop-cleanup.rs ... ok
test [mir-opt] mir-opt/simplify-locals-removes-unused-discriminant-reads.rs ... ok
test [mir-opt] mir-opt/copy_propagation_arg.rs ... ok
test [mir-opt] mir-opt/no-drop-for-inactive-variant.rs ... ok
test [mir-opt] mir-opt/issue-41110.rs ... ok
test [mir-opt] mir-opt/combine_array_len.rs ... ok
test [mir-opt] mir-opt/retag.rs ... ok
test [mir-opt] mir-opt/uniform_array_move_out.rs ... ok
test [mir-opt] mir-opt/simplify_try_if_let.rs ... ok
test [mir-opt] mir-opt/inline/inline-trait-method.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable_aggregate_partial_read.rs ... ok
test [mir-opt] mir-opt/const_allocation3.rs ... ok
test [mir-opt] mir-opt/simplify-arm.rs ... ok
test [mir-opt] mir-opt/const_prop/mutable_variable_unprop_assign.rs ... ok
test [mir-opt] mir-opt/const_prop/issue-67019.rs ... ok
test [mir-opt] mir-opt/inline/inline-any-operand.rs ... ok
test [mir-opt] mir-opt/generator-tiny.rs ... ok
test [mir-opt] mir-opt/inline/inline-retag.rs ... ok
test [mir-opt] mir-opt/inline/inline-closure.rs ... ok
test [mir-opt] mir-opt/inline/inline-trait-method_2.rs ... ok
test [mir-opt] mir-opt/const_allocation2.rs ... ok
test [mir-opt] mir-opt/no-spurious-drop-after-call.rs ... ok
test [mir-opt] mir-opt/issue-73223.rs ... ok
test [mir-opt] mir-opt/inline/inline-closure-borrows-arg.rs ... ok
test [mir-opt] mir-opt/match_false_edges.rs ... ok
test [mir-opt] mir-opt/storage_live_dead_in_statics.rs ... ok
test [mir-opt] mir-opt/match-arm-scopes.rs ... ok
test [mir-opt] mir-opt/inline/issue-58867-inline-as-ref-as-mut.rs ... ok
test [mir-opt] mir-opt/issue-41697.rs ... ok

test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

	finished in 0.847
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 208 tests
test [codegen] codegen/abi-main-signature-16bit-c-int.rs ... ignored
test [codegen] codegen/abi-sysv64.rs ... ignored
test [codegen] codegen/abi-x86-interrupt.rs ... ignored
test [codegen] codegen/abi-x86_64_sysv.rs ... ignored
test [codegen] codegen/asm-multiple-options.rs ... ignored
test [codegen] codegen/asm-options.rs ... ignored
test [codegen] codegen/async-fn-debug-msvc.rs ... ignored
test [codegen] codegen/cfguard-checks.rs ... ignored
test [codegen] codegen/cfguard-disabled.rs ... ignored
test [codegen] codegen/cfguard-nochecks.rs ... ignored
test [codegen] codegen/debug-column-msvc.rs ... ignored
test [codegen] codegen/dllimports/main.rs ... ignored
test [codegen] codegen/fastcall-inreg.rs ... ignored
test [codegen] codegen/ffi-out-of-bounds-loads.rs ... ignored
test [codegen] codegen/generator-debug-msvc.rs ... ignored
test [codegen] codegen/global_asm.rs ... ignored
test [codegen] codegen/global_asm_include.rs ... ignored
test [codegen] codegen/global_asm_x2.rs ... ignored
test [codegen] codegen/issue-32364.rs ... ignored
test [codegen] codegen/issue-44056-macos-tls-align.rs ... ignored
test [codegen] codegen/issue-58881.rs ... ignored
test [codegen] codegen/no-dllimport-w-cross-lang-lto.rs ... ignored
test [codegen] codegen/panic-abort-windows.rs ... ignored
test [codegen] codegen/pgo-instrumentation.rs ... ignored
test [codegen] codegen/remap_path_prefix/aux_mod.rs ... ignored
test [codegen] codegen/repr-transparent-aggregates-2.rs ... ignored
test [codegen] codegen/repr-transparent-aggregates-3.rs ... ignored
test [codegen] codegen/repr-transparent-sysv64.rs ... ignored
test [codegen] codegen/riscv-abi/call-llvm-intrinsics.rs ... ignored
test [codegen] codegen/riscv-abi/riscv64-lp64-lp64f-lp64d-abi.rs ... ignored
test [codegen] codegen/riscv-abi/riscv64-lp64d-abi.rs ... ignored
test [codegen] codegen/riscv-abi/riscv64-lp64f-lp64d-abi.rs ... ignored
test [codegen] codegen/sanitizer-memory-track-orgins.rs#MSAN-0 ... ignored
test [codegen] codegen/sanitizer-memory-track-orgins.rs#MSAN-1 ... ignored
test [codegen] codegen/sanitizer-memory-track-orgins.rs#MSAN-1-LTO ... ignored
test [codegen] codegen/sanitizer-memory-track-orgins.rs#MSAN-2 ... ignored
test [codegen] codegen/sanitizer-memory-track-orgins.rs#MSAN-2-LTO ... ignored
test [codegen] codegen/sanitizer-no-sanitize-inlining.rs#ASAN ... ignored
test [codegen] codegen/sanitizer-no-sanitize-inlining.rs#LSAN ... ignored
test [codegen] codegen/sanitizer-no-sanitize.rs ... ignored
test [codegen] codegen/sanitizer-recover.rs#ASAN ... ignored
test [codegen] codegen/sanitizer-recover.rs#ASAN-RECOVER ... ignored
test [codegen] codegen/sanitizer-recover.rs#MSAN ... ignored
test [codegen] codegen/sanitizer-recover.rs#MSAN-RECOVER ... ignored
test [codegen] codegen/sanitizer-recover.rs#MSAN-RECOVER-LTO ... ignored
test [codegen] codegen/sparc-struct-abi.rs ... ignored
test [codegen] codegen/stack-probes.rs ... ignored
test [codegen] codegen/swap-small-types.rs ... ignored
test [codegen] codegen/target-feature-multiple.rs ... ignored
test [codegen] codegen/target-feature-on-functions.rs ... ignored
test [codegen] codegen/wasm_casts_nontrapping.rs ... ignored
test [codegen] codegen/wasm_casts_trapping.rs ... ignored
test [codegen] codegen/x86_mmx.rs ... ignored
test [codegen] codegen/intrinsics/move-val-init.rs ... ok
test [codegen] codegen/c-variadic-opt.rs ... ok
test [codegen] codegen/gdb_debug_script_load.rs ... ok
test [codegen] codegen/alloc-optimisation.rs ... ok
test [codegen] codegen/abi-efiapi.rs#arm ... ok
test [codegen] codegen/abi-efiapi.rs#x86_64 ... ok
test [codegen] codegen/adjustments.rs ... ok
test [codegen] codegen/abi-efiapi.rs#i686 ... ok
test [codegen] codegen/async-fn-debug.rs ... ok
test [codegen] codegen/align-enum.rs ... ok
test [codegen] codegen/x86_64-no-macosx-deployment-target.rs ... ok
test [codegen] codegen/enum-debug-niche-2.rs ... ok
test [codegen] codegen/var-names.rs ... ok
test [codegen] codegen/intrinsics/nearby.rs ... ok
test [codegen] codegen/align-struct.rs ... ok
test [codegen] codegen/bool-cmp.rs ... ok
test [codegen] codegen/coercions.rs ... ok
test [codegen] codegen/abi-main-signature-32bit-c-int.rs ... ok
test [codegen] codegen/box-maybe-uninit.rs ... ok
test [codegen] codegen/intrinsics/exact_div.rs ... ok
test [codegen] codegen/call-llvm-intrinsics.rs ... ok
test [codegen] codegen/c-variadic-copy.rs ... ok
test [codegen] codegen/local-generics-in-exe-internalized.rs ... ok
test [codegen] codegen/debug-linkage-name.rs ... ok
test [codegen] codegen/i686-no-macosx-deployment-target.rs ... ok
test [codegen] codegen/instrument-mcount.rs ... ok
test [codegen] codegen/lifetime_start_end.rs ... ok
test [codegen] codegen/try_identity.rs ... ok
test [codegen] codegen/issue-56267-2.rs ... ok
test [codegen] codegen/inline-always-works-always.rs#SPEED-OPT ... ok
test [codegen] codegen/intrinsics/nontemporal.rs ... ok
test [codegen] codegen/inline-always-works-always.rs#SIZE-OPT ... ok
test [codegen] codegen/unwind-extern-exports.rs ... ok
test [codegen] codegen/fatptr.rs ... ok
test [codegen] codegen/personality_lifetimes.rs ... ok
test [codegen] codegen/src-hash-algorithm/src-hash-algorithm-md5.rs ... ok
test [codegen] codegen/slice-init.rs ... ok
test [codegen] codegen/non-terminate/infinite-loop-1.rs ... ok
test [codegen] codegen/match-optimizes-away.rs ... ok
test [codegen] codegen/internalize-closures.rs ... ok
test [codegen] codegen/slice-iter-len-eq-zero.rs ... ok
test [codegen] codegen/zip.rs ... ok
test [codegen] codegen/intrinsics/volatile.rs ... ok
test [codegen] codegen/staticlib-external-inline-fns.rs ... ok
test [codegen] codegen/unwind-extern-imports.rs ... ok
test [codegen] codegen/vec-clear.rs ... ok
test [codegen] codegen/naked-functions.rs ... ok
test [codegen] codegen/intrinsics/volatile_order.rs ... ok
test [codegen] codegen/union-abi.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-generic-gather.rs ... ok
test [codegen] codegen/force-frame-pointers.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-generic-select.rs ... ok
test [codegen] codegen/i686-macosx-deployment-target.rs ... ok
test [codegen] codegen/external-no-mangle-statics.rs ... ok
test [codegen] codegen/ffi-const.rs ... ok
test [codegen] codegen/ffi-returns-twice.rs ... ok
test [codegen] codegen/external-no-mangle-fns.rs ... ok
test [codegen] codegen/x86_64-macosx-deployment-target.rs ... ok
test [codegen] codegen/generic-debug.rs ... ok
test [codegen] codegen/no-output-asm-is-volatile.rs ... ok
test [codegen] codegen/src-hash-algorithm/src-hash-algorithm-sha1.rs ... ok
test [codegen] codegen/no-plt.rs ... ok
test [codegen] codegen/no-assumes-on-casts.rs ... ok
test [codegen] codegen/force-unwind-tables.rs ... ok
test [codegen] codegen/mir_zst_stores.rs ... ok
test [codegen] codegen/set-discriminant-invalid.rs ... ok
test [codegen] codegen/nrvo.rs ... ok
test [codegen] codegen/issue-34947-pow-i32.rs ... ok
test [codegen] codegen/catch-unwind.rs ... ok
test [codegen] codegen/enum-debug-tagged.rs ... ok
test [codegen] codegen/mainsubprogramstart.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-generic-scatter.rs ... ok
test [codegen] codegen/drop.rs ... ok
test [codegen] codegen/enum-bounds-check.rs ... ok
test [codegen] codegen/enum-debug-clike.rs ... ok
test [codegen] codegen/inline-always-works-always.rs#NO-OPT ... ok
test [codegen] codegen/noreturn-uninhabited.rs ... ok
test [codegen] codegen/optimize-attr-1.rs#SIZE-OPT ... ok
test [codegen] codegen/non-terminate/infinite-recursion.rs ... ok
test [codegen] codegen/cfguard-non-msvc.rs ... ok
test [codegen] codegen/link-dead-code.rs ... ok
test [codegen] codegen/float_math.rs ... ok
test [codegen] codegen/unchecked-float-casts.rs ... ok
test [codegen] codegen/call-metadata.rs ... ok
test [codegen] codegen/optimize-attr-1.rs#SPEED-OPT ... ok
test [codegen] codegen/intrinsics/unchecked_math.rs ... ok
test [codegen] codegen/export-no-mangle.rs ... ok
test [codegen] codegen/integer-cmp.rs ... ok
test [codegen] codegen/optimize-attr-1.rs#NO-OPT ... ok
test [codegen] codegen/slice-position-bounds-check.rs ... ok
test [codegen] codegen/target-cpu-on-functions.rs ... ok
test [codegen] codegen/ffi-pure.rs ... ok
test [codegen] codegen/intrinsics/likely.rs ... ok
test [codegen] codegen/mainsubprogram.rs ... ok
test [codegen] codegen/intrinsics/prefetch.rs ... ok
test [codegen] codegen/match.rs ... ok
test [codegen] codegen/issue-32031.rs ... ok
test [codegen] codegen/scalar-pair-bool.rs ... ok
test [codegen] codegen/noreturnflag.rs ... ok
test [codegen] codegen/enum-discriminant-value.rs ... ok
test [codegen] codegen/refs.rs ... ok
test [codegen] codegen/integer-overflow.rs ... ok
test [codegen] codegen/issue-47278.rs ... ok
test [codegen] codegen/cdylib-external-inline-fns.rs ... ok
test [codegen] codegen/loads.rs ... ok
test [codegen] codegen/c-variadic.rs ... ok
test [codegen] codegen/function-arguments.rs ... ok
test [codegen] codegen/issue-47442.rs ... ok
test [codegen] codegen/stores.rs ... ok
test [codegen] codegen/link_section.rs ... ok
test [codegen] codegen/intrinsic-no-unnamed-attr.rs ... ok
test [codegen] codegen/repr-transparent.rs ... ok
test [codegen] codegen/try-panic-abort.rs ... ok
test [codegen] codegen/remap_path_prefix/main.rs ... ok
test [codegen] codegen/issue-56267.rs ... ok
test [codegen] codegen/consts.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-log2.rs ... ok
test [codegen] codegen/fn-impl-trait-self.rs ... ok
test [codegen] codegen/vtabletype.rs ... ok
test [codegen] codegen/non-terminate/infinite-loop-2.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-minmax.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-abs.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-generic-bitmask.rs ... ok
test [codegen] codegen/issue-56927.rs ... ok
test [codegen] codegen/vec-optimizes-away.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-exp2.rs ... ok
test [codegen] codegen/repr-transparent-aggregates-1.rs ... FAILED
test [codegen] codegen/packed.rs ... ok
test [codegen] codegen/dealloc-no-unwind.rs ... ok
test [codegen] codegen/issue-45466.rs ... ok
test [codegen] codegen/issue-37945.rs ... ok
test [codegen] codegen/debug-column.rs ... ok
test [codegen] codegen/nounwind.rs ... ok
test [codegen] codegen/enum-debug-niche.rs ... ok
test [codegen] codegen/generator-debug.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-sin.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-generic-arithmetic-saturating.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-pow.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-floor.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-powi.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-ceil.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-exp.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-log.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-cos.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-log10.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-fma.rs ... ok
test [codegen] codegen/vec-iter-collect-len.rs ... ok
test [codegen] codegen/issue-69101-bounds-check.rs ... ok
test [codegen] codegen/simd-intrinsic/simd-intrinsic-float-fsqrt.rs ... ok
test [codegen] codegen/issue-13018.rs ... ok
test [codegen] codegen/remap_path_prefix/xcrate-generic.rs ... ok
test [codegen] codegen/issue-15953.rs ... ok
test [codegen] codegen/issue-45222.rs ... ok
test [codegen] codegen/repeat-trusted-len.rs ... ok
test [codegen] codegen/lto-removes-invokes.rs ... ok

failures:

---- [codegen] codegen/repr-transparent-aggregates-1.rs stdout ----

error: verification with 'FileCheck' failed
status: exit code: 1
command: "/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/build/bin/FileCheck" "--input-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/test/codegen/repr-transparent-aggregates-1/repr-transparent-aggregates-1.ll" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/codegen/repr-transparent-aggregates-1.rs"
stdout:
------------------------------------------

------------------------------------------
stderr:
------------------------------------------
/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/codegen/repr-transparent-aggregates-1.rs:36:11: error: CHECK: expected string not found in input
// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2:.*]])
          ^
/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/test/codegen/repr-transparent-aggregates-1/repr-transparent-aggregates-1.ll:1:1: note: scanning from here
; ModuleID = 'repr_transparent_aggregates_1.3a1fbbbh-cgu.0'
^
/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/test/codegen/repr-transparent-aggregates-1/repr-transparent-aggregates-1.ll:16:1: note: possible intended match here
define void @test_BigS(%BigS* noalias nocapture sret dereferenceable(64) %0, %BigS* noalias nocapture dereferenceable(64) %_1) unnamed_addr #0 {
^

------------------------------------------



failures:
    [codegen] codegen/repr-transparent-aggregates-1.rs

test result: FAILED. 154 passed; 1 failed; 53 ignored; 0 measured; 0 filtered out

thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:344:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


command did not execute successfully: "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/codegen" "--build-base" "/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/test/codegen" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "codegen" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""
expected success, got: exit code: 101


	finished in 1.547
Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 40 tests
test [codegen-units] codegen-units/item-collection/cross-crate-closures.rs ... ignored
test [codegen-units] codegen-units/item-collection/non-generic-closures.rs ... ignored
test [codegen-units] codegen-units/partitioning/methods-are-with-self-type.rs ... ignored
test [codegen-units] codegen-units/item-collection/unreferenced-inline-function.rs ... ok
test [codegen-units] codegen-units/partitioning/statics.rs ... ok
test [codegen-units] codegen-units/partitioning/local-inlining.rs ... ok
test [codegen-units] codegen-units/item-collection/unused-traits-and-generics.rs ... ok
test [codegen-units] codegen-units/partitioning/incremental-merging.rs ... ok
test [codegen-units] codegen-units/item-collection/static-init.rs ... ok
test [codegen-units] codegen-units/item-collection/drop_in_place_intrinsic.rs ... ok
test [codegen-units] codegen-units/item-collection/instantiation-through-vtable.rs ... ok
test [codegen-units] codegen-units/item-collection/generic-functions.rs ... ok
test [codegen-units] codegen-units/item-collection/generic-drop-glue.rs ... ok
test [codegen-units] codegen-units/item-collection/trait-implementations.rs ... ok
test [codegen-units] codegen-units/item-collection/unreferenced-const-fn.rs ... ok
test [codegen-units] codegen-units/item-collection/non-generic-functions.rs ... ok
test [codegen-units] codegen-units/item-collection/statics-and-consts.rs ... ok
test [codegen-units] codegen-units/item-collection/generic-impl.rs ... ok
test [codegen-units] codegen-units/item-collection/trait-method-default-impl.rs ... ok
test [codegen-units] codegen-units/partitioning/local-generic.rs ... ok
test [codegen-units] codegen-units/item-collection/items-within-generic-items.rs ... ok
test [codegen-units] codegen-units/partitioning/local-drop-glue.rs ... ok
test [codegen-units] codegen-units/item-collection/function-as-argument.rs ... ok
test [codegen-units] codegen-units/partitioning/local-transitive-inlining.rs ... ok
test [codegen-units] codegen-units/partitioning/local-inlining-but-not-all.rs ... ok
test [codegen-units] codegen-units/partitioning/regular-modules.rs ... ok
test [codegen-units] codegen-units/item-collection/impl-in-non-instantiated-generic.rs ... ok
test [codegen-units] codegen-units/item-collection/tuple-drop-glue.rs ... ok
test [codegen-units] codegen-units/item-collection/unsizing.rs ... ok
test [codegen-units] codegen-units/partitioning/vtable-through-const.rs ... ok
test [codegen-units] codegen-units/partitioning/inlining-from-extern-crate.rs ... ok
test [codegen-units] codegen-units/item-collection/transitive-drop-glue.rs ... ok
test [codegen-units] codegen-units/item-collection/overloaded-operators.rs ... ok
test [codegen-units] codegen-units/item-collection/non-generic-drop-glue.rs ... ok
test [codegen-units] codegen-units/item-collection/trait-method-as-argument.rs ... ok
test [codegen-units] codegen-units/partitioning/shared-generics.rs ... ok
test [codegen-units] codegen-units/item-collection/cross-crate-generic-functions.rs ... ok
test [codegen-units] codegen-units/item-collection/cross-crate-trait-method.rs ... ok
test [codegen-units] codegen-units/partitioning/extern-drop-glue.rs ... ok
test [codegen-units] codegen-units/partitioning/extern-generic.rs ... ok

test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out

	finished in 0.364
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 22 tests
test [assembly] assembly/nvptx-arch-default.rs ... ignored
test [assembly] assembly/nvptx-arch-emit-asm.rs ... ignored
test [assembly] assembly/nvptx-arch-link-arg.rs ... ignored
test [assembly] assembly/nvptx-arch-target-cpu.rs ... ignored
test [assembly] assembly/nvptx-atomics.rs ... ignored
test [assembly] assembly/nvptx-internalizing.rs ... ignored
test [assembly] assembly/nvptx-linking-binary.rs ... ignored
test [assembly] assembly/nvptx-linking-cdylib.rs ... ignored
test [assembly] assembly/nvptx-safe-naming.rs ... ignored
test [assembly] assembly/asm/nvptx-types.rs ... FAILED
test [assembly] assembly/asm/hexagon-types.rs ... FAILED
test [assembly] assembly/asm/riscv-modifiers.rs ... ok
test [assembly] assembly/asm/riscv-types.rs#riscv32 ... ok
test [assembly] assembly/asm/riscv-types.rs#riscv64 ... ok
test [assembly] assembly/asm/arm-modifiers.rs ... ok
test [assembly] assembly/asm/aarch64-modifiers.rs ... ok
test [assembly] assembly/asm/x86-modifiers.rs#x86_64 ... ok
test [assembly] assembly/asm/x86-modifiers.rs#i686 ... ok
test [assembly] assembly/asm/aarch64-types.rs ... ok
test [assembly] assembly/asm/arm-types.rs ... ok
test [assembly] assembly/asm/x86-types.rs#i686 ... ok
test [assembly] assembly/asm/x86-types.rs#x86_64 ... ok

failures:

---- [assembly] assembly/asm/nvptx-types.rs stdout ----

error: compilation failed!
status: exit code: 1
command: "/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/bin/rustc" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/assembly/asm/nvptx-types.rs" "-Zthreads=1" "-C" "prefer-dynamic" "-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/test/assembly/asm/nvptx-types/nvptx-types.s" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/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" "-Clinker=/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--target" "nvptx64-nvidia-cuda" "--crate-type" "cdylib" "-L" "/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/test/assembly/asm/nvptx-types/auxiliary" "--emit=asm"
stdout:
------------------------------------------

------------------------------------------
stderr:
------------------------------------------
error: Could not create LLVM TargetMachine for triple: nvptx64-nvidia-cuda: No available targets are compatible with triple "nvptx64-nvidia-cuda"


------------------------------------------


---- [assembly] assembly/asm/hexagon-types.rs stdout ----

error: compilation failed!
status: exit code: 1
command: "/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/bin/rustc" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/assembly/asm/hexagon-types.rs" "-Zthreads=1" "-C" "prefer-dynamic" "-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/test/assembly/asm/hexagon-types/hexagon-types.s" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/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" "-Clinker=/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--target" "hexagon-unknown-linux-musl" "-L" "/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/test/assembly/asm/hexagon-types/auxiliary" "--emit=asm"
stdout:
------------------------------------------

------------------------------------------
stderr:
------------------------------------------
error: Could not create LLVM TargetMachine for triple: hexagon-unknown-linux-musl: No available targets are compatible with triple "hexagon-unknown-linux-musl"


------------------------------------------



failures:
    [assembly] assembly/asm/hexagon-types.rs
    [assembly] assembly/asm/nvptx-types.rs

test result: FAILED. 11 passed; 2 failed; 9 ignored; 0 measured; 0 filtered out

thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:344:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


command did not execute successfully: "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/assembly" "--build-base" "/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/test/assembly" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "assembly" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""
expected success, got: exit code: 101


	finished in 0.289
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 122 tests
test [incremental] incremental/issue-72386.rs ... ignored
test [incremental] incremental/const-generics/issue-62536.rs ... ok
test [incremental] incremental/const-generics/issue-64087.rs ... ok
test [incremental] incremental/issue-49043.rs ... ok
test [incremental] incremental/hashes/exported_vs_not.rs ... ok
test [incremental] incremental/ich_nested_items.rs ... ok
test [incremental] incremental/change_pub_inherent_method_body/struct_point.rs ... ok
test [incremental] incremental/spike-neg2.rs ... ok
test [incremental] incremental/spike-neg1.rs ... ok
test [incremental] incremental/hashes/extern_mods.rs ... ok
test [incremental] incremental/thinlto/independent_cgus_dont_affect_each_other.rs ... ok
test [incremental] incremental/change_private_fn/struct_point.rs ... ok
test [incremental] incremental/lto-in-linker.rs ... ok
test [incremental] incremental/no_mangle.rs ... ok
test [incremental] incremental/remove_source_file/main.rs ... ok
test [incremental] incremental/change_add_field/struct_point.rs ... ok
test [incremental] incremental/krate-inherent.rs ... ok
test [incremental] incremental/hashes/while_loops.rs ... ok
test [incremental] incremental/hashes/type_defs.rs ... ok
test [incremental] incremental/macro_export.rs ... ok
test [incremental] incremental/change_crate_dep_kind.rs ... ok
test [incremental] incremental/hashes/inline_asm.rs ... ok
test [incremental] incremental/hashes/match_expressions.rs ... ok
test [incremental] incremental/rlib-lto.rs ... ok
test [incremental] incremental/change_pub_inherent_method_sig/struct_point.rs ... ok
test [incremental] incremental/string_constant.rs ... ok
test [incremental] incremental/thinlto/cgu_invalidated_via_import.rs ... ok
test [incremental] incremental/issue-59523-on-implemented-is-not-unused.rs ... ok
test [incremental] incremental/hashes/let_expressions.rs ... ok
test [incremental] incremental/change_private_impl_method/struct_point.rs ... ok
test [incremental] incremental/hashes/closure_expressions.rs ... ok
test [incremental] incremental/hashes/indexing_expressions.rs ... ok
test [incremental] incremental/hashes/enum_defs.rs ... ok
test [incremental] incremental/hashes/while_let_loops.rs ... ok
test [incremental] incremental/hashes/loop_expressions.rs ... ok
test [incremental] incremental/hashes/consts.rs ... ok
test [incremental] incremental/hashes/if_expressions.rs ... ok
test [incremental] incremental/hashes/struct_constructors.rs ... ok
test [incremental] incremental/issue-59524-layout-scalar-valid-range-is-not-unused.rs ... ok
test [incremental] incremental/add_private_fn_at_krate_root_cc/struct_point.rs ... ok
test [incremental] incremental/thinlto/cgu_invalidated_when_import_added.rs ... ok
test [incremental] incremental/hashes/struct_defs.rs ... ok
test [incremental] incremental/hashes/statics.rs ... ok
test [incremental] incremental/hashes/call_expressions.rs ... ok
test [incremental] incremental/delayed_span_bug.rs ... ok
test [incremental] incremental/hashes/trait_defs.rs ... ok
test [incremental] incremental/thinlto/cgu_invalidated_when_import_removed.rs ... ok
test [incremental] incremental/hashes/function_interfaces.rs ... ok
test [incremental] incremental/hashes/panic_exprs.rs ... ok
test [incremental] incremental/hashes/trait_impls.rs ... ok
test [incremental] incremental/warnings-reemitted.rs ... ok
test [incremental] incremental/thinlto/cgu_invalidated_when_export_removed.rs ... ok
test [incremental] incremental/change_private_fn_cc/struct_point.rs ... ok
test [incremental] incremental/hashes/enum_constructors.rs ... ok
test [incremental] incremental/thinlto/cgu_invalidated_when_export_added.rs ... ok
test [incremental] incremental/hashes/unary_and_binary_exprs.rs ... ok
test [incremental] incremental/hashes/inherent_impls.rs ... ok
test [incremental] incremental/change_private_impl_method_cc/struct_point.rs ... ok
test [incremental] incremental/hashes/for_loops.rs ... ok
test [incremental] incremental/issue-49595/issue-49595.rs ... ok
test [incremental] incremental/issue-42602.rs ... ok
test [incremental] incremental/incremental_proc_macro.rs ... ok
test [incremental] incremental/const-generics/issue-61516.rs ... ok
test [incremental] incremental/struct_change_field_name.rs ... ok
test [incremental] incremental/issue-61323.rs ... ok
test [incremental] incremental/feature_gate.rs ... ok
test [incremental] incremental/const-generics/issue-65623.rs ... ok
test [incremental] incremental/issue-54242.rs ... ok
test [incremental] incremental/issue-51409.rs ... ok
test [incremental] incremental/cyclic-trait-hierarchy.rs ... ok
test [incremental] incremental/const-generics/issue-61338.rs ... ok
test [incremental] incremental/const-generics/issue-68477.rs ... ok
test [incremental] incremental/dirty_clean.rs ... ok
test [incremental] incremental/unchecked_dirty_clean.rs ... ok
test [incremental] incremental/foreign.rs ... ok
test [incremental] incremental/issue-54059.rs ... ok
test [incremental] incremental/issue-49482.rs ... ok
test [incremental] incremental/cache_file_headers.rs ... ok
test [incremental] incremental/spans_significant_w_panic.rs ... ok
test [incremental] incremental/static_refering_to_other_static2/issue.rs ... ok
test [incremental] incremental/static_refering_to_other_static/issue-49081.rs ... ok
test [incremental] incremental/source_loc_macros.rs ... ok
test [incremental] incremental/struct_change_nothing.rs ... ok
test [incremental] incremental/issue-35593.rs ... ok
test [incremental] incremental/inlined_hir_34991/main.rs ... ok
test [incremental] incremental/issue-69596.rs ... ok
test [incremental] incremental/ich_method_call_trait_scope.rs ... ok
test [incremental] incremental/issue-60629.rs ... ok
test [incremental] incremental/static_cycle/b.rs ... ok
test [incremental] incremental/extern_static/issue-49153.rs ... ok
test [incremental] incremental/struct_add_field.rs ... ok
test [incremental] incremental/issue-38222.rs ... ok
test [incremental] incremental/spike.rs ... ok
test [incremental] incremental/hello_world.rs ... ok
test [incremental] incremental/spans_in_type_debuginfo.rs ... ok
test [incremental] incremental/struct_remove_field.rs ... ok
test [incremental] incremental/spans_significant_w_debuginfo.rs ... ok
test [incremental] incremental/change_symbol_export_status.rs ... ok
test [incremental] incremental/static_refering_to_other_static3/issue.rs ... ok
test [incremental] incremental/static_stable_hash/issue-49301.rs ... ok
test [incremental] incremental/krate-inlined.rs ... ok
test [incremental] incremental/issue-62649-path-collisions-happen.rs ... ok
test [incremental] incremental/issue-39569.rs ... ok
test [incremental] incremental/struct_change_field_type.rs ... ok
test [incremental] incremental/issue-39828/issue-39828.rs ... ok
test [incremental] incremental/remove_crate/main.rs ... ok
test [incremental] incremental/callee_caller_cross_crate/b.rs ... ok
test [incremental] incremental/struct_change_field_type_cross_crate/b.rs ... ok
test [incremental] incremental/krate_reassign_34991/main.rs ... ok
test [incremental] incremental/span_hash_stable/main.rs ... ok
test [incremental] incremental/change_crate_order/main.rs ... ok
test [incremental] incremental/commandline-args.rs ... ok
test [incremental] incremental/change_name_of_static_in_fn.rs ... ok
test [incremental] incremental/change_implementation_cross_crate/main.rs ... ok
test [incremental] incremental/remove-private-item-cross-crate/main.rs ... ok
test [incremental] incremental/issue-61530.rs ... ok
test [incremental] incremental/crate_hash_reorder.rs ... ok
test [incremental] incremental/ich_resolve_results.rs ... ok
test [incremental] incremental/type_alias_cross_crate/b.rs ... ok
test [incremental] incremental/remapped_paths_cc/main.rs ... ok
test [incremental] incremental/rlib_cross_crate/b.rs ... ok
test [incremental] incremental/lto.rs ... ok

test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

	finished in 7.464
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
WARNING: debuginfo tests are not available when testing with remote

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 0.083
Building rustdoc for stage2 (x86_64-unknown-linux-gnu)
   Compiling cfg-if v0.1.10
   Compiling libc v0.2.71
   Compiling semver-parser v0.7.0
   Compiling proc-macro2 v1.0.3
   Compiling getrandom v0.1.14
   Compiling lazy_static v1.4.0
   Compiling unicode-xid v0.2.0
   Compiling nodrop v0.1.12
   Compiling syn v1.0.11
   Compiling scopeguard v1.0.0
   Compiling version_check v0.9.1
   Compiling bitflags v1.2.1
   Compiling serde v1.0.99
   Compiling ppv-lite86 v0.2.8
   Compiling memchr v2.3.3
   Compiling rustc-rayon-core v0.3.0
   Compiling ryu v1.0.0
   Compiling either v1.5.0
   Compiling pulldown-cmark v0.7.1
   Compiling itoa v0.4.4
   Compiling remove_dir_all v0.5.2
   Compiling macro-utils v0.1.2
   Compiling arrayvec v0.4.7
   Compiling crossbeam-utils v0.6.5
   Compiling minifier v0.0.33
   Compiling itertools v0.8.0
   Compiling semver v0.9.0
   Compiling crossbeam-queue v0.1.2
   Compiling rustc_version v0.2.3
   Compiling unicase v2.6.0
   Compiling memoffset v0.5.1
   Compiling quote v1.0.2
   Compiling num_cpus v1.10.1
   Compiling rand_core v0.5.1
   Compiling crossbeam-epoch v0.7.2
   Compiling rand_chacha v0.2.2
   Compiling crossbeam-deque v0.7.1
   Compiling rand v0.7.3
   Compiling rustc-rayon v0.3.0
   Compiling tempfile v3.1.0
   Compiling serde_derive v1.0.106
   Compiling serde_json v1.0.40
   Compiling rustdoc 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/librustdoc)
   Compiling rustdoc-tool 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/rustdoc)
    Finished release [optimized] target(s) in 1m 12s
Testing alloc stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   Compiling getrandom v0.1.14
   Compiling ppv-lite86 v0.2.8
   Compiling rand_core v0.5.1
   Compiling rand_chacha v0.2.2
   Compiling rand_xorshift v0.2.0
   Compiling rand v0.7.3
   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)
    Finished release [optimized] target(s) in 27.63s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/alloc-c90a9401175dae4b
uploaded "/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-std/aarch64-poky-linux/release/deps/alloc-c90a9401175dae4b", waiting for result

running 115 tests
test collections::linked_list::tests::drain_filter_test ... ok
test collections::linked_list::tests::test_clone_from ... ok
test alloc::tests::allocate_zeroed ... ok
test collections::linked_list::tests::drain_to_empty_test ... ok
test collections::linked_list::tests::test_append ... ok
test collections::linked_list::tests::test_26021 ... ok
test collections::linked_list::tests::test_cursor_move_peek ... ok
test collections::linked_list::tests::test_insert_prev ... ok
test collections::linked_list::tests::test_split_off ... ok
test collections::linked_list::tests::test_cursor_mut_insert ... ok
test collections::vec_deque::tests::bench_pop_back_100 ... ok
test alloc::tests::alloc_owned_small ... ok
test collections::linked_list::tests::test_send ... ok
test collections::vec_deque::tests::bench_push_front_100 ... ok
test collections::vec_deque::tests::issue_53529 ... ok
test collections::vec_deque::tests::bench_push_back_100 ... ok
test collections::vec_deque::tests::bench_pop_front_100 ... ok
test collections::vec_deque::tests::make_contiguous_big_head ... ok
test collections::vec_deque::tests::make_contiguous_big_tail ... ok
test collections::vec_deque::tests::test_from_vec ... ok
test collections::vec_deque::tests::test_insert ... ok
test collections::vec_deque::tests::test_range ... ok
test collections::vec_deque::tests::test_range_mut ... ok
test collections::vec_deque::tests::test_swap_front_back_remove ... ok
test collections::vec_deque::tests::test_vec_deque_truncate_drop ... ok
test collections::vec_deque::tests::make_contiguous_small_free ... ok
test raw_vec::tests::allocator_param ... ok
test collections::vec_deque::tests::test_remove ... ok
test raw_vec::tests::reserve_does_not_overallocate ... ok
test collections::vec_deque::tests::test_clone_from ... ok
test rc::tests::get_mut ... ok
test collections::vec_deque::tests::test_shrink_to_fit ... ok
test collections::vec_deque::tests::test_drain ... ok
test collections::vec_deque::tests::test_split_off ... ok
test rc::tests::into_from_raw ... ok
test rc::tests::is_unique ... ok
test rc::tests::test_array_from_slice ... ok
test rc::tests::test_clone ... ok
test rc::tests::test_clone_from_slice ... ok
test rc::tests::test_copy_from_slice ... ok
test rc::tests::test_cowrc_clone_make_unique ... ok
test rc::tests::test_cowrc_clone_unique2 ... ok
test rc::tests::test_cowrc_clone_weak ... ok
test rc::tests::test_dead ... ok
test rc::tests::test_destructor ... ok
test rc::tests::test_downcast ... ok
test collections::linked_list::tests::test_fuzz ... ok
test rc::tests::test_from_box_trait ... ok
test rc::tests::test_from_box_trait_zero_sized ... ok
test rc::tests::test_from_owned ... ok
test rc::tests::test_from_box_str ... ok
test rc::tests::test_from_str ... ok
test rc::tests::test_from_box_slice ... ok
test rc::tests::test_from_box ... ok
test rc::tests::test_from_vec ... ok
test rc::tests::test_into_from_raw_unsized ... ok
test rc::tests::test_live ... ok
test rc::tests::test_new_weak ... ok
test rc::tests::test_ptr_eq ... ok
test rc::tests::test_show ... ok
test rc::tests::test_simple ... ok
test rc::tests::test_simple_clone ... ok
test rc::tests::test_strong_count ... ok
test rc::tests::test_unsized ... ok
test rc::tests::test_weak_count ... ok
test rc::tests::try_unwrap ... ok
test rc::tests::test_clone_from_slice_panic ... ok
test sync::tests::into_from_raw ... ok
test sync::tests::manually_share_arc ... ok
test sync::tests::show_arc ... ok
test sync::tests::drop_arc_weak ... ok
test sync::tests::test_arc_get_mut ... ok
test sync::tests::drop_arc ... ok
test sync::tests::test_array_from_slice ... ok
test rc::tests::weak_self_cyclic ... ok
test sync::tests::test_clone_from_slice ... ok
test sync::tests::test_clone_from_slice_panic ... ok
test rc::tests::weak_counts ... ok
test sync::tests::test_copy_from_slice ... ok
test sync::tests::test_cowarc_clone_make_mut ... ok
test sync::tests::test_downcast ... ok
test sync::tests::test_from_box ... ok
test sync::tests::test_from_box_slice ... ok
test sync::tests::test_dead ... ok
test sync::tests::test_from_box_str ... ok
test sync::tests::test_cowarc_clone_weak ... ok
test sync::tests::test_from_box_trait ... ok
test collections::vec_deque::tests::test_vec_from_vecdeque ... ok
test sync::tests::test_from_box_trait_zero_sized ... ok
test sync::tests::test_cowarc_clone_unique2 ... ok
test sync::tests::test_from_owned ... ok
test sync::tests::test_live ... ok
test sync::tests::test_from_str ... ok
test sync::tests::test_from_vec ... ok
test sync::tests::test_into_from_raw_unsized ... ok
test sync::tests::test_new_weak ... ok
test sync::tests::test_strong_count ... ok
test sync::tests::test_weak_count ... ok
test sync::tests::test_ptr_eq ... ok
test sync::tests::try_unwrap ... ok
test sync::tests::weak_counts ... ok
test sync::tests::weak_self_cyclic ... ok
test tests::any_move ... ok
test sync::tests::test_unsized ... ok
test tests::boxed_slice_from_iter ... ok
test tests::deref ... ok
test tests::f64_slice ... ok
test tests::i64_slice ... ok
test tests::raw_sized ... ok
test tests::raw_trait ... ok
test tests::str_slice ... ok
test tests::test_array_from_slice ... ok
test tests::test_show ... ok
test tests::test_owned_clone ... ok
test sync::tests::test_weak_count_locked ... ok

test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/collectionstests-2db9312f72a4b5a6
uploaded "/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-std/aarch64-poky-linux/release/deps/collectionstests-2db9312f72a4b5a6", waiting for result

running 667 tests
test arc::eq ... ok
test arc::shared_from_iter_normal ... ok
test arc::partial_eq ... ok
test arc::shared_from_iter_trustedlen_no_fuse ... ok
test arc::shared_from_iter_trustedlen_normal ... ok
test arc::float_nan_ne ... ok
test arc::slice ... ok
test arc::trait_object ... ok
test binary_heap::test_append ... ok
test binary_heap::test_append_to_empty ... ok
test binary_heap::test_drain ... ok
test binary_heap::test_drain_sorted ... ok
test arc::uninhabited ... ok
test binary_heap::test_drain_sorted_collect ... ok
test binary_heap::test_empty_peek ... ok
test binary_heap::test_empty_peek_mut ... ok
test binary_heap::test_empty_pop ... ok
test binary_heap::test_exact_size_iterator ... ok
test binary_heap::test_extend_ref ... ok
test binary_heap::test_extend_specialization ... ok
test binary_heap::test_into_iter_collect ... ok
test binary_heap::test_from_iter ... ok
test binary_heap::test_drain_sorted_leak ... ok
test binary_heap::test_into_iter_sorted_collect ... ok
test binary_heap::test_iter_rev_cloned_collect ... ok
test binary_heap::test_into_iter_size_hint ... ok
test binary_heap::test_iterator ... ok
test binary_heap::test_peek_and_pop ... ok
test binary_heap::test_into_iter_rev_collect ... ok
test binary_heap::test_peek_mut ... ok
test binary_heap::test_push_unique ... ok
test binary_heap::test_peek_mut_pop ... ok
test binary_heap::test_push ... ok
test binary_heap::test_retain ... ok
test binary_heap::test_to_vec ... ok
test binary_heap::test_trusted_len ... ok
test borrow::test_from_cow_os_str ... ok
test borrow::test_from_cow_path ... ok
test arc::shared_from_iter_trustedlen_panic ... ok
test borrow::test_from_cow_c_str ... ok
test boxed::unitialized_zero_size_box ... ok
test btree::map::test_append_12 ... ok
test boxed::box_clone_from_ptr_stability ... ok
test boxed::box_clone_and_clone_from_equivalence ... ok
test borrow::test_from_cow_str ... ok
test borrow::test_from_cow_slice ... ok
test btree::map::test_append_14 ... ok
test btree::map::test_append_144 ... ok
test btree::map::test_append_170 ... ok
test btree::map::test_append_145 ... ok
test btree::map::test_append_17 ... ok
test btree::map::test_append_181 ... ok
test btree::map::test_append_239 ... ok
test btree::map::test_append_9 ... ok
test btree::map::test_bad_zst ... ok
test btree::map::test_basic_small ... ok
test btree::map::test_borrow ... ok
test btree::map::test_clone ... ok
test btree::map::test_clone_from ... ok
test btree::map::test_drain_filter::consuming_all ... ok
test btree::map::test_drain_filter::consuming_nothing ... ok
test btree::map::test_drain_filter::empty ... ok
test btree::map::test_append_1700 ... ok
test btree::map::test_drain_filter::height_0_keeping_all ... ok
test btree::map::test_drain_filter::drop_panic_leak ... ok
test btree::map::test_drain_filter::height_0_removing_one ... ok
test btree::map::test_drain_filter::height_1_keeping_one ... ok
test btree::map::test_drain_filter::height_1_removing_all ... ok
test btree::map::test_drain_filter::height_0_removing_all ... ok
test btree::map::test_drain_filter::height_1_removing_one ... ok
test btree::map::test_drain_filter::height_0_keeping_one ... ok
test btree::map::test_drain_filter::height_0_keeping_half ... ok
test btree::map::test_drain_filter::height_2_removing_all ... ok
test btree::map::test_drain_filter::height_2_removing_one ... ok
test btree::map::test_drain_filter::mutating_and_keeping ... ok
test btree::map::test_drain_filter::mutating_and_removing ... ok
test btree::map::test_drain_filter::pred_panic_leak ... ok
test btree::map::test_drain_filter::underfull_keeping_all ... ok
test btree::map::test_drain_filter::underfull_keeping_one ... ok
test btree::map::test_drain_filter::underfull_removing_all ... ok
test btree::map::test_drain_filter::underfull_removing_one ... ok
test btree::map::test_drain_filter::height_2_keeping_one ... ok
test btree::map::test_entry ... ok
test btree::map::test_extend_ref ... ok
test btree::map::test_first_last_entry ... ok
test btree::map::test_into_iter_drop_leak_height_0 ... ok
test btree::map::test_into_iter_drop_leak_height_1 ... ok
test btree::map::test_iter_min_max ... ok
test btree::map::test_occupied_entry_key ... ok
test btree::map::test_range_backwards_1 ... ok
test btree::map::test_range_backwards_2 ... ok
test btree::map::test_range_backwards_3 ... ok
test btree::map::test_range_backwards_4 ... ok
test btree::map::test_range_borrowed_key ... ok
test btree::map::test_range_equal_empty_cases ... ok
test btree::map::test_range_equal_excluded ... ok
test btree::map::test_range_height_1 ... ok
test btree::map::test_range_inclusive_max_value ... ok
test btree::map::test_split_off_empty_left ... ok
test btree::map::test_split_off_large_random_sorted ... ok
test btree::map::test_split_off_empty_right ... ok
test btree::map::test_range_1000 ... ok
test btree::map::test_vacant_entry_key ... ok
test btree::map::test_values_mut ... ok
test btree::map::test_variance ... ok
test btree::set::test_append ... ok
test btree::set::test_clear ... ok
test btree::set::test_clone_eq ... ok
test btree::set::test_drain_filter ... ok
test btree::set::test_difference_size_hint ... ok
test btree::set::test_drain_filter_drop_panic_leak ... ok
test btree::map::test_zst ... ok
test btree::set::test_drain_filter_pred_panic_leak ... ok
test btree::map::test_range_small ... ok
test btree::map::test_range_large ... ok
test btree::set::test_intersection_size_hint ... ok
test btree::set::test_is_disjoint ... ok
test btree::set::test_split_off_empty_left ... ok
test btree::set::test_extend_ref ... ok
test btree::set::test_first_last ... ok
test btree::set::test_from_iter ... ok
test btree::set::test_hash ... ok
test btree::set::test_intersection ... ok
test btree::set::test_is_subset ... ok
test btree::set::test_recovery ... ok
test btree::set::test_show ... ok
test btree::set::test_split_off_empty_right ... ok
test btree::set::test_symmetric_difference ... ok
test btree::set::test_symmetric_difference_size_hint ... ok
test btree::set::test_union ... ok
test btree::set::test_difference ... ok
test btree::set::test_union_size_hint ... ok
test btree::set::test_variance ... ok
test btree::set::test_zip ... ok
test cow_str::check_cow_add_assign_cow ... ok
test btree::set::test_iter_min_max ... ok
test cow_str::check_cow_add_assign_str ... ok
test btree::set::test_split_off_large_random_sorted ... ok
test cow_str::check_cow_add_cow ... ok
test btree::map::test_iter_mut_mutation ... ok
test btree::map::test_iter_rev ... ok
test heap::alloc_system_overaligned_request ... ok
test cow_str::check_cow_add_str ... ok
test cow_str::check_cow_clone_from ... ok
test fmt::test_format ... ok
test heap::std_heap_overaligned_request ... ok
test linked_list::drain_filter_complex ... ok
test linked_list::drain_filter_drop_panic_leak ... ok
test linked_list::drain_filter_empty ... ok
test linked_list::drain_filter_false ... ok
test linked_list::drain_filter_pred_panic_leak ... ok
test linked_list::drain_filter_true ... ok
test linked_list::drain_filter_zst ... ok
test linked_list::test_basic ... ok
test linked_list::test_contains ... ok
test linked_list::test_drop ... ok
test linked_list::test_drop_clear ... ok
test linked_list::test_drop_panic ... ok
test linked_list::test_drop_with_pop ... ok
test linked_list::test_eq ... ok
test linked_list::test_extend ... ok
test linked_list::test_extend_ref ... ok
test linked_list::test_iterator_double_end ... ok
test linked_list::test_hash ... ok
test linked_list::test_iterator ... ok
test linked_list::test_iterator_clone ... ok
test linked_list::test_iterator_mut_double_end ... ok
test linked_list::test_mut_iter ... ok
test linked_list::test_mut_rev_iter ... ok
test linked_list::test_ord ... ok
test btree::map::test_iter ... ok
test linked_list::test_rev_iter ... ok
test linked_list::test_show ... ok
test linked_list::test_split_off ... ok
test rc::eq ... ok
test rc::float_nan_ne ... ok
test rc::partial_eq ... ok
test rc::shared_from_iter_normal ... ok
test linked_list::test_ord_nan ... ok
test rc::shared_from_iter_trustedlen_no_fuse ... ok
test rc::shared_from_iter_trustedlen_normal ... ok
test rc::shared_from_iter_trustedlen_panic ... ok
test rc::slice ... ok
test rc::trait_object ... ok
test rc::uninhabited ... ok
test slice::repeat_generic_slice ... ok
test btree::map::test_iter_mixed ... ok
test slice::test_binary_search ... ok
test slice::test_box_slice_clone ... ok
test slice::test_box_slice_clone_panics ... ok
test slice::test_capacity ... ok
test slice::test_chunks_exactator ... ok
test slice::test_chunks_exactator_0 ... ok
test slice::test_chunksator ... ok
test slice::test_chunksator_0 ... ok
test slice::test_clear ... ok
test slice::test_concat ... ok
test slice::test_copy_from_slice ... ok
test slice::test_copy_from_slice_dst_longer ... ok
test slice::test_copy_from_slice_dst_shorter ... ok
test slice::test_first ... ok
test slice::test_first_mut ... ok
test slice::test_ends_with ... ok
test slice::test_from_elem ... ok
test slice::test_from_fn ... ok
test slice::test_get ... ok
test slice::test_get_mut ... ok
test slice::test_insert ... ok
test slice::test_insert_oob ... ok
test slice::test_is_empty ... ok
test slice::test_iter_as_ref ... ok
test slice::test_iter_as_slice ... ok
test slice::test_iter_clone ... ok
test slice::test_iter_size_hints ... ok
test slice::test_iter_is_empty ... ok
test slice::test_iter_zero_sized ... ok
test slice::test_iterator ... ok
test btree::map::test_basic_large ... ok
test slice::test_join ... ok
test slice::test_join_nocopy ... ok
test slice::test_last ... ok
test slice::test_last_mut ... ok
test slice::test_move_iterator ... ok
test slice::test_move_rev_iterator ... ok
test slice::test_mut_chunks ... ok
test slice::test_mut_chunks_exact ... ok
test slice::test_len_divzero ... ok
test binary_heap::panic_safe ... ok
test slice::test_mut_chunks_0 ... ok
test slice::test_mut_chunks_exact_0 ... ok
test slice::test_mut_chunks_rev ... ok
test slice::test_mut_iterator ... ok
test slice::test_mut_last ... ok
test slice::test_mut_rchunks ... ok
test slice::test_mut_chunks_exact_rev ... ok
test slice::test_mut_rchunks_exact_0 ... ok
test slice::test_mut_rchunks_exact_rev ... ok
test slice::test_mut_rchunks_exact ... ok
test slice::test_mut_rchunks_rev ... ok
test slice::test_mut_rchunks_0 ... ok
test slice::test_mut_rev_iterator ... ok
test slice::test_mut_split_at ... ok
test slice::test_mut_splitator ... ok
test slice::test_mut_splitator_rev ... ok
test slice::test_overflow_does_not_cause_segfault ... ok
test slice::test_overflow_does_not_cause_segfault_managed ... ok
test slice::test_pop ... ok
test slice::test_push ... ok
test slice::test_rchunks_exactator ... ok
test slice::test_rchunks_exactator_0 ... ok
test slice::test_rchunksator ... ok
test slice::test_remove ... ok
test slice::test_rchunksator_0 ... ok
test slice::test_remove_fail ... ok
test slice::test_retain ... ok
test slice::test_rev_iterator ... ok
test slice::test_reverse ... ok
test slice::test_reverse_part ... ok
test slice::test_rotate_left ... ok
test slice::test_rsplitator ... ok
test slice::test_rsplitnator ... ok
test slice::test_rotate_right ... ok
test slice::test_shrink_to_fit ... ok
test slice::test_slice ... ok
test slice::test_slice_2 ... ok
test slice::test_show ... ok
test slice::test_slice_from ... ok
test slice::test_slice_to ... ok
test slice::test_split_first ... ok
test slice::test_split_first_mut ... ok
test slice::test_split_last ... ok
test slice::test_split_last_mut ... ok
test slice::test_splitator ... ok
test slice::test_splitator_inclusive ... ok
test slice::test_splitator_inclusive_reverse ... ok
test slice::test_splitator_mut_inclusive ... ok
test slice::test_splitator_mut_inclusive_reverse ... ok
test slice::test_splitnator ... ok
test slice::test_splitnator_mut ... ok
test slice::test_starts_with ... ok
test slice::test_swap_remove ... ok
test slice::test_swap_remove_fail ... ok
test slice::test_to_vec ... ok
test slice::test_swap_remove_noncopyable ... ok
test slice::test_total_ord_i32 ... ok
test slice::test_total_ord_u8 ... ok
test slice::test_truncate ... ok
test slice::test_vec_default ... ok
test slice::test_windowsator ... ok
test slice::test_windowsator_0 ... ok
test str::contains_weird_cases ... ok
test str::different_str_pattern_forwarding_lifetimes ... ok
test str::double_ended_match_indices ... ok
test str::double_ended_matches ... ok
test str::double_ended_split ... ok
test str::double_ended_split_terminator ... ok
test str::from_utf8_mostly_ascii ... ok
test str::not_double_ended_rsplitn ... ok
test str::from_utf8_error ... ok
test str::not_double_ended_splitn ... ok
test str::pattern::char_searcher_ascii_haystack::bwd ... ok
test str::pattern::char_searcher_ascii_haystack::fwd ... ok
test str::pattern::char_searcher_multibyte_haystack::bwd ... ok
test str::pattern::char_searcher_multibyte_haystack::fwd ... ok
test str::pattern::char_searcher_short_haystack::bwd ... ok
test str::pattern::char_searcher_short_haystack::fwd ... ok
test str::pattern::str_searcher_ascii_haystack::bwd ... ok
test str::pattern::str_searcher_ascii_haystack::fwd ... ok
test str::pattern::str_searcher_ascii_haystack_seq::bwd ... ok
test str::pattern::str_searcher_ascii_haystack_seq::fwd ... ok
test str::pattern::str_searcher_empty_needle_ascii_haystack::bwd ... ok
test str::pattern::str_searcher_empty_needle_ascii_haystack::fwd ... ok
test str::pattern::str_searcher_empty_needle_empty_haystack::bwd ... ok
test str::pattern::str_searcher_empty_needle_empty_haystack::fwd ... ok
test str::pattern::str_searcher_empty_needle_multibyte_haystack::bwd ... ok
test str::pattern::str_searcher_empty_needle_multibyte_haystack::fwd ... ok
test str::pattern::str_searcher_multibyte_haystack::bwd ... ok
test str::pattern::str_searcher_multibyte_haystack::fwd ... ok
test str::pattern::str_searcher_nonempty_needle_empty_haystack::bwd ... ok
test str::pattern::str_searcher_nonempty_needle_empty_haystack::fwd ... ok
test str::slice_index::assert_range_eq_can_fail_by_inequality ... ok
test str::slice_index::boundary::range_1::index_fail ... ok
test str::slice_index::assert_range_eq_can_fail_by_panic ... ok
test str::slice_index::boundary::range_1::index_mut_fail ... ok
test str::slice_index::boundary::range_1::pass ... ok
test str::slice_index::boundary::range_2::index_fail ... ok
test str::slice_index::boundary::range_2::index_mut_fail ... ok
test str::slice_index::boundary::rangefrom::index_fail ... ok
test str::slice_index::boundary::range_2::pass ... ok
test str::slice_index::boundary::rangefrom::index_mut_fail ... ok
test str::slice_index::boundary::rangefrom::pass ... ok
test str::slice_index::boundary::rangeinclusive_1::index_fail ... ok
test str::slice_index::boundary::rangeinclusive_1::index_mut_fail ... ok
test str::slice_index::boundary::rangeinclusive_1::pass ... ok
test str::slice_index::boundary::rangeinclusive_2::index_fail ... ok
test str::slice_index::boundary::rangeinclusive_2::index_mut_fail ... ok
test str::slice_index::boundary::rangeinclusive_2::pass ... ok
test str::slice_index::boundary::rangeto::index_fail ... ok
test str::slice_index::boundary::rangeto::index_mut_fail ... ok
test str::slice_index::boundary::rangeto::pass ... ok
test str::slice_index::boundary::rangetoinclusive::index_mut_fail ... ok
test str::slice_index::boundary::rangetoinclusive::index_fail ... ok
test str::slice_index::boundary::rangetoinclusive::pass ... ok
test str::slice_index::overflow::rangeinclusive::index_fail ... ok
test str::slice_index::overflow::rangeinclusive::index_mut_fail ... ok
test str::slice_index::overflow::rangeinclusive::pass ... ok
test str::slice_index::overflow::rangetoinclusive::index_fail ... ok
test str::slice_index::overflow::rangetoinclusive::index_mut_fail ... ok
test str::slice_index::overflow::rangetoinclusive::pass ... ok
test str::slice_index::range_len_len::index_fail ... ok
test str::slice_index::range_len_len::index_mut_fail ... ok
test str::slice_index::range_len_len::pass ... ok
test str::slice_index::range_neg_width::pass ... ok
test str::slice_index::rangefrom_len::pass ... ok
test str::slice_index::rangeinclusive_len_len::pass ... ok
test str::slice_index::range_neg_width::index_fail ... ok
test str::slice_index::range_neg_width::index_mut_fail ... ok
test str::slice_index::rangefrom_len::index_fail ... ok
test str::slice_index::rangefrom_len::index_mut_fail ... ok
test str::slice_index::rangeinclusive_len_len::index_fail ... ok
test str::slice_index::rangeinclusive_len_len::index_mut_fail ... ok
test str::slice_index::rangeinclusive_neg_width::index_fail ... ok
test str::slice_index::rangeinclusive_neg_width::index_mut_fail ... ok
test str::slice_index::rangeinclusive_neg_width::pass ... ok
test str::slice_index::rangeto_len::index_fail ... ok
test str::slice_index::rangeto_len::index_mut_fail ... ok
test str::slice_index::rangeto_len::pass ... ok
test str::slice_index::rangetoinclusive_len::index_fail ... ok
test str::slice_index::rangetoinclusive_len::pass ... ok
test str::slice_index::simple_ascii ... ok
test str::slice_index::test_slice_fail ... ok
test str::slice_index::test_slice_fail_truncated_1 ... ok
test str::slice_index::test_slice_fail_truncated_2 ... ok
test str::slice_index::rangetoinclusive_len::index_mut_fail ... ok
test str::starts_short_long ... ok
test str::starts_with_in_unicode ... ok
test str::strslice_issue_16589 ... ok
test slice::test_sort_stability ... ok
test str::test_as_bytes ... ok
test str::slice_index::simple_unicode ... ok
test str::test_as_bytes_fail ... ok
test str::test_as_ptr ... ok
test str::test_bool_from_str ... ok
test btree::map::test_range ... ok
test str::test_box_slice_clone ... ok
test str::test_bytes_revator ... ok
test str::test_bytesator ... ok
test str::test_bytesator_count ... ok
test str::strslice_issue_16878 ... ok
test str::test_bytesator_last ... ok
test str::test_bytesator_nth ... ok
test str::test_char_indices_last ... ok
test str::test_char_indices_revator ... ok
test str::test_char_indicesator ... ok
test str::test_chars_debug ... ok
test str::test_collect ... ok
test str::test_concat_for_different_lengths ... ok
test str::test_concat_for_different_types ... ok
test btree::map::test_range_mut ... ok
test str::test_contains ... ok
test str::test_contains_char ... ok
test str::test_cow_from ... ok
test str::test_empty_match_indices ... ok
test str::test_ends_with ... ok
test str::test_escape_default ... ok
test str::test_escape_unicode ... ok
test str::test_escape_debug ... ok
test str::test_find ... ok
test str::test_find_str ... ok
test str::test_into_bytes ... ok
test str::test_is_char_boundary ... ok
test str::test_is_empty ... ok
test str::test_is_utf8 ... ok
test str::test_into_string ... ok
test str::test_is_whitespace ... ok
test str::test_iterator ... ok
test str::test_iterator_clone ... ok
test str::test_iterator_last ... ok
test str::test_join_for_different_lengths ... ok
test str::test_join_for_different_lengths_with_long_separator ... ok
test str::test_join_for_different_types ... ok
test str::test_le ... ok
test str::test_lines ... ok
test str::test_pattern_deref_forward ... ok
test str::test_repeat ... ok
test str::test_replace ... ok
test str::test_replace_2a ... ok
test str::test_replace_2b ... ok
test str::test_replace_2c ... ok
test str::test_replace_2d ... ok
test str::test_replace_pattern ... ok
test str::test_replacen ... ok
test str::test_rev_iterator ... ok
test str::test_rev_split_char_iterator_no_trailing ... ok
test str::test_rfind ... ok
test str::test_rsplit ... ok
test str::test_rsplitn ... ok
test str::test_split_at ... ok
test str::test_rsplitn_char_iterator ... ok
test str::test_split_at_boundscheck ... ok
test str::test_split_at_mut ... ok
test str::test_split_char_iterator ... ok
test str::test_split_char_iterator_inclusive ... ok
test str::test_split_char_iterator_inclusive_rev ... ok
test str::test_split_char_iterator_no_trailing ... ok
test str::test_splitator ... ok
test str::test_splitn_char_iterator ... ok
test str::test_starts_with ... ok
test str::test_str_container ... ok
test str::test_str_default ... ok
test str::test_str_from_utf8 ... ok
test str::test_split_whitespace ... ok
test str::test_str_slice_rangetoinclusive_notok ... ok
test str::test_str_slice_rangetoinclusive_ok ... ok
test str::test_str_slicemut_rangetoinclusive_notok ... ok
test str::test_str_slicemut_rangetoinclusive_ok ... ok
test str::test_total_ord ... ok
test str::test_trim ... ok
test str::test_trim_end ... ok
test str::test_trim_end_matches ... ok
test str::test_trim_start ... ok
test str::test_trim_start_matches ... ok
test str::test_strslice_contains ... ok
test str::test_utf16_code_units ... ok
test str::to_lowercase ... ok
test str::to_uppercase ... ok
test str::trim_ws ... ok
test str::vec_str_conversions ... ok
test string::insert ... ok
test string::insert_bad1 ... ok
test str::test_trim_matches ... ok
test string::insert_bad2 ... ok
test string::remove ... ok
test string::remove_bad ... ok
test string::test_add_assign ... ok
test string::test_drain ... ok
test string::test_extend_ref ... ok
test string::test_from_char ... ok
test string::test_from_cow_str ... ok
test string::test_from_iterator ... ok
test string::test_from_str ... ok
test string::test_from_utf16 ... ok
test string::test_from_utf16_lossy ... ok
test string::test_from_utf8 ... ok
test string::test_from_utf8_lossy ... ok
test string::test_into_boxed_str ... ok
test string::test_pop ... ok
test string::test_push ... ok
test string::test_push_bytes ... ok
test string::test_replace_range ... ok
test string::test_replace_range_char_boundary ... ok
test string::test_replace_range_empty ... ok
test string::test_replace_range_inclusive_out_of_bounds ... ok
test string::test_replace_range_inclusive_range ... ok
test string::test_replace_range_out_of_bounds ... ok
test string::test_push_str ... ok
test string::test_replace_range_unbounded ... ok
test string::test_reserve_exact ... ok
test string::test_retain ... ok
test string::test_simple_types ... ok
test string::test_slicing ... ok
test string::test_split_off_ascii ... ok
test string::test_split_off_empty ... ok
test string::test_split_off_mid_char ... ok
test string::test_split_off_past_end ... ok
test string::test_split_off_unicode ... ok
test string::test_str_add ... ok
test string::test_str_clear ... ok
test string::test_str_truncate ... ok
test str::test_chars_decoding ... ok
test str::test_chars_rev_decoding ... ok
test string::test_str_truncate_split_codepoint ... ok
test string::test_unsized_to_string ... ok
test string::test_try_reserve ... ok
test string::test_try_reserve_exact ... ok
test string::test_utf16_invalid ... ok
test string::test_vectors ... ok
test test_boxed_hasher ... ok
test string::test_str_truncate_invalid_len ... ok
test vec::drain_filter_complex ... ok
test vec::from_into_inner ... ok
test vec::partialeq_vec_full ... ok
test vec::partialeq_vec_and_prim ... ok
test vec::drain_filter_empty ... ok
test vec::drain_filter_false ... ok
test vec::drain_filter_true ... ok
test vec::drain_filter_unconsumed ... ok
test vec::drain_filter_unconsumed_panic ... ok
test vec::drain_filter_zst ... ok
test vec::drain_filter_consumed_panic ... ok
test vec::test_append ... ok
test vec::test_clone ... ok
test vec::test_clone_from ... ok
test vec::test_cow_from ... ok
test vec::test_dedup ... ok
test vec::test_dedup_by ... ok
test vec::test_dedup_by_key ... ok
test vec::test_dedup_unique ... ok
test vec::test_double_drop ... ok
test vec::test_drain_inclusive_out_of_bounds ... ok
test vec::test_drain_inclusive_range ... ok
test vec::test_drain_items ... ok
test vec::test_drain_items_reverse ... ok
test vec::test_drain_items_zero_sized ... ok
test vec::test_drain_leak ... ok
test vec::test_drain_max_vec_size ... ok
test str::test_unsafe_slice ... ok
test vec::test_into_iter_as_mut_slice ... ok
test vec::test_into_iter_as_slice ... ok
test vec::test_into_iter_clone ... ok
test vec::test_into_iter_count ... ok
test vec::test_into_iter_leak ... ok
test vec::test_drain_out_of_bounds ... ok
test vec::test_index ... ok
test vec::test_extend ... ok
test vec::test_extend_ref ... ok
test vec::test_from_cow ... ok
test vec::test_index_out_of_bounds ... ok
test vec::test_into_boxed_slice ... ok
test vec::test_into_iter_debug ... ok
test vec::test_move_items ... ok
test vec::test_drain_range ... ok
test vec::test_move_items_reverse ... ok
test vec::test_move_items_zero_sized ... ok
test vec::test_partition ... ok
test vec::test_reserve ... ok
test vec::test_reserve_exact ... ok
test vec::test_push_growth_strategy ... ok
test vec::test_splice ... ok
test vec::test_splice_forget ... ok
test vec::test_splice_inclusive_out_of_bounds ... ok
test vec::test_splice_inclusive_range ... ok
test vec::test_splice_out_of_bounds ... ok
test vec::test_slice_from_mut ... ok
test vec::test_slice_out_of_bounds_1 ... ok
test vec::test_slice_out_of_bounds_5 ... ok
test vec::test_slice_out_of_bounds_2 ... ok
test vec::test_slice_out_of_bounds_3 ... ok
test vec::test_slice_out_of_bounds_4 ... ok
test vec::test_slice_to_mut ... ok
test vec::test_small_vec_struct ... ok
test vec::test_splice_items_zero_sized ... ok
test vec::test_retain ... ok
test vec::test_splice_unbounded ... ok
test vec::test_split_off ... ok
test vec::test_split_at_mut ... ok
test vec::test_stable_pointers ... ok
test vec::test_try_reserve ... ok
test vec::test_try_reserve_exact ... ok
test vec::test_vec_truncate_drop ... ok
test vec::test_zip_unzip ... ok
test vec::test_zst_capacity ... ok
test vec::vec_macro_repeating_null_raw_fat_pointer ... ok
test vec::zero_sized_values ... ok
test vec_deque::test_append ... ok
test vec_deque::test_append_double_drop ... ok
test vec_deque::test_as_mut_slices ... ok
test vec_deque::test_as_slices ... ok
test vec_deque::test_clone ... ok
test vec::test_swap_remove_empty ... ok
test vec::test_vec_truncate_fail ... ok
test vec_deque::test_contains ... ok
test vec_deque::test_drain ... ok
test vec::overaligned_allocations ... ok
test vec_deque::test_drop ... ok
test vec_deque::test_drop_clear ... ok
test vec_deque::test_drop_panic ... ok
test vec_deque::test_drain_leak ... ok
test vec_deque::test_drop_with_pop ... ok
test vec_deque::test_eq ... ok
test vec_deque::test_eq_after_rotation ... ok
test vec_deque::test_extend_ref ... ok
test vec_deque::test_front ... ok
test vec_deque::test_get ... ok
test vec_deque::test_get_mut ... ok
test vec_deque::test_from_iter ... ok
test str::slice_index::simple_big ... ok
test vec_deque::test_hash_after_rotation ... ok
test vec_deque::test_index ... ok
test vec_deque::test_index_out_of_bounds ... ok
test vec_deque::test_hash ... ok
test vec_deque::test_is_empty ... ok
test vec_deque::test_iter ... ok
test vec_deque::test_mut_iter ... ok
test vec_deque::test_into_iter ... ok
test vec_deque::test_mut_rev_iter ... ok
test vec_deque::test_mut_rev_iter_wrap ... ok
test vec_deque::test_ord ... ok
test vec_deque::test_param_int ... ok
test vec_deque::test_param_reccy ... ok
test vec_deque::test_param_taggy ... ok
test vec_deque::test_partial_eq_array ... ok
test vec_deque::test_param_taggypar ... ok
test vec_deque::test_push_front_grow ... ok
test vec_deque::test_reserve ... ok
test vec_deque::test_reserve_exact_2 ... ok
test vec_deque::test_reserve_grow ... ok
test vec_deque::test_reserve_exact ... ok
test vec_deque::test_retain ... ok
test vec_deque::test_rev_iter ... ok
test vec_deque::test_rotate_left_parts ... ok
test vec_deque::test_rotate_left_random ... ok
test vec_deque::test_rotate_nop ... ok
test vec_deque::test_rotate_right_parts ... ok
test vec_deque::test_rotate_right_random ... ok
test vec_deque::test_show ... ok
test vec_deque::test_simple ... ok
test vec_deque::test_try_fold_exhaust_wrap ... ok
test vec_deque::test_try_fold_moves_iter ... ok
test vec_deque::test_try_fold_empty ... ok
test vec_deque::test_swap ... ok
test vec_deque::test_try_fold_none ... ok
test vec_deque::test_try_fold_ok ... ok
test vec_deque::test_try_fold_rotated ... ok
test vec_deque::test_try_fold_unit ... ok
test vec_deque::test_try_fold_unit_none ... ok
test vec_deque::test_try_fold_wraparound ... ok
test vec_deque::test_try_reserve_exact ... ok
test vec_deque::test_try_rfold_moves_iter ... ok
test vec_deque::test_try_reserve ... ok
test vec_deque::test_with_capacity_non_power_two ... ok
test vec_deque::truncate_leak ... ok
test vec_deque::test_with_capacity ... ok
test vec_deque::test_try_rfold_rotated ... ok
test vec_deque::test_append_permutations ... ok
test slice::panic_safe ... ok
test slice::test_sort ... ok

test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/collectionsbenches-2c32dd7e0642250b
uploaded "/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-std/aarch64-poky-linux/release/deps/collectionsbenches-2c32dd7e0642250b", waiting for result

running 365 tests
test btree::map::first_and_last_0 ... ok
test btree::map::first_and_last_100 ... ok
test btree::map::insert_rand_100 ... ok
test btree::map::find_seq_100 ... ok
test btree::map::iter_0 ... ok
test btree::map::insert_seq_100 ... ok
test btree::map::iter_1 ... ok
test btree::map::find_rand_100 ... ok
test btree::map::iteration_20 ... ok
test btree::map::iteration_mut_20 ... ok
test btree::map::iter_100 ... ok
test btree::set::clone_100_and_drain_half ... ok
test btree::set::clone_100_and_into_iter ... ok
test btree::set::clone_100_and_pop_all ... ok
test btree::set::clone_100_and_remove_all ... ok
test btree::set::clone_100_and_remove_half ... ok
test btree::set::clone_100_and_clear ... ok
test btree::set::clone_100_and_drain_all ... ok
test btree::set::difference_staggered_100_vs_100 ... ok
test btree::set::intersection_100_neg_vs_100_pos ... ok
test btree::set::intersection_random_100_vs_100 ... ok
test btree::set::clone_100 ... ok
test btree::set::intersection_staggered_100_vs_100 ... ok
test btree::set::is_subset_100_vs_100 ... ok
test linked_list::bench_collect_into ... ok
test linked_list::bench_iter ... ok
test linked_list::bench_iter_mut ... ok
test linked_list::bench_iter_mut_rev ... ok
test btree::set::difference_staggered_100_vs_10k ... ok
test linked_list::bench_iter_rev ... ok
test linked_list::bench_push_back ... ok
test btree::set::intersection_100_pos_vs_100_neg ... ok
test btree::set::clone_10k_and_drain_all ... ok
test btree::set::clone_10k_and_into_iter ... ok
test linked_list::bench_push_back_pop_back ... ok
test linked_list::bench_push_front_pop_front ... ok
test slice::contains_last_element ... ok
test linked_list::bench_push_front ... ok
test slice::concat ... ok
test slice::ends_with_diff_one_element_at_beginning ... ok
test slice::ends_with_same_vector ... ok
test slice::ends_with_single_element ... ok
test slice::iterator ... ok
test btree::set::intersection_10k_pos_vs_100_neg ... ok
test slice::join ... ok
test slice::mut_iterator ... ok
test slice::push ... ok
test slice::random_inserts ... ok
test slice::random_removes ... ok
test btree::set::difference_random_100_vs_100 ... ok
test btree::set::difference_staggered_10k_vs_10k ... ok
test btree::set::intersection_100_neg_vs_10k_pos ... ok
test slice::reverse_simd_f64x4 ... ok
test btree::set::intersection_10k_neg_vs_100_pos ... ok
test btree::set::clone_10k_and_clear ... ok
test btree::set::difference_random_10k_vs_100 ... ok
test slice::reverse_u128 ... ok
test btree::set::intersection_random_10k_vs_100 ... ok
test btree::set::is_subset_10k_vs_100 ... ok
test btree::set::clone_10k_and_drain_half ... ok
test slice::rotate_medium_by727_bytes ... ok
test slice::rotate_medium_by727_u64 ... ok
test slice::rotate_medium_half ... ok
test slice::rotate_tiny_by1 ... ok
test slice::rotate_tiny_half ... ok
test slice::reverse_u64 ... ok
test slice::rotate_tiny_half_plus_one ... ok
test slice::sort_large_ascending ... ok
test btree::set::intersection_random_100_vs_10k ... ok
test slice::reverse_u32 ... ok
test slice::rotate_medium_half_plus_one ... ok
test slice::reverse_u16 ... ok
test slice::reverse_u8 ... ok
test btree::set::clone_10k ... ok
test btree::set::clone_10k_and_pop_all ... ok
test slice::rotate_medium_by1 ... ok
test slice::reverse_u8x3 ... ok
test slice::sort_small_random ... ok
test slice::sort_large_mostly_descending ... ok
test slice::sort_small_descending ... ok
test slice::sort_small_ascending ... ok
test slice::sort_small_big ... ok
test slice::sort_large_descending ... ok
test slice::sort_medium_random ... ok
test slice::sort_unstable_large_ascending ... ok
test btree::set::difference_random_100_vs_10k ... ok
test btree::set::intersection_10k_neg_vs_10k_pos ... ok
test btree::set::intersection_10k_pos_vs_10k_neg ... ok
test btree::set::intersection_random_10k_vs_10k ... ok
test btree::set::difference_random_10k_vs_10k ... ok
test slice::sort_unstable_large_descending ... ok
test slice::sort_unstable_medium_random ... ok
test slice::sort_unstable_small_ascending ... ok
test slice::sort_unstable_small_big ... ok
test slice::sort_unstable_small_descending ... ok
test slice::sort_unstable_small_random ... ok
test slice::sort_unstable_large_random ... ok
test slice::starts_with_diff_one_element_at_end ... ok
test slice::starts_with_same_vector ... ok
test slice::sort_large_mostly_ascending ... ok
test slice::zero_1kb_loop_set ... ok
test slice::zero_1kb_from_elem ... ok
test slice::starts_with_single_element ... test slice::starts_with_single_element has been running for over 60 seconds
test btree::set::intersection_100_pos_vs_10k_neg ... test btree::set::intersection_100_pos_vs_10k_neg has been running for over 60 seconds
test str::ends_with_unichar::short_ascii ... test str::ends_with_unichar::short_ascii has been running for over 60 seconds
test str::find_zzz_char::short_pile_of_poo ... test str::find_zzz_char::short_pile_of_poo has been running for over 60 seconds
test str::ends_with_str::short_mixed ... test str::ends_with_str::short_mixed has been running for over 60 seconds
test slice::zero_1kb_mut_iter ... test slice::zero_1kb_mut_iter has been running for over 60 seconds
test btree::map::iteration_1000 ... test btree::map::iteration_1000 has been running for over 60 seconds
test btree::set::clone_10k_and_remove_half ... test btree::set::clone_10k_and_remove_half has been running for over 60 seconds
test str::char_iterator_ascii ... test str::char_iterator_ascii has been running for over 60 seconds
test btree::map::iteration_mut_100000 ... test btree::map::iteration_mut_100000 has been running for over 60 seconds
test str::ends_with_ascii_char::short_ascii ... test str::ends_with_ascii_char::short_ascii has been running for over 60 seconds
test str::ends_with_unichar::long_lorem_ipsum ... test str::ends_with_unichar::long_lorem_ipsum has been running for over 60 seconds
test str::bench_contains_short_long ... test str::bench_contains_short_long has been running for over 60 seconds
test str::char_iterator_rev ... test str::char_iterator_rev has been running for over 60 seconds
test btree::map::range_included_unbounded ... test btree::map::range_included_unbounded has been running for over 60 seconds
test slice::sort_unstable_large_mostly_descending ... test slice::sort_unstable_large_mostly_descending has been running for over 60 seconds
test str::match_indices_a_str::long_lorem_ipsum ... test str::match_indices_a_str::long_lorem_ipsum has been running for over 60 seconds
test str::contains_bang_char::short_ascii ... test str::contains_bang_char::short_ascii has been running for over 60 seconds
test str::find_underscore_char::long_lorem_ipsum ... test str::find_underscore_char::long_lorem_ipsum has been running for over 60 seconds
test str::char_iterator_rev_for ... test str::char_iterator_rev_for has been running for over 60 seconds
test str::ends_with_ascii_char::short_pile_of_poo ... test str::ends_with_ascii_char::short_pile_of_poo has been running for over 60 seconds
test str::ends_with_unichar::short_pile_of_poo ... test str::ends_with_unichar::short_pile_of_poo has been running for over 60 seconds
test str::char_iterator_for ... test str::char_iterator_for has been running for over 60 seconds
test str::find_zzz_char::long_lorem_ipsum ... test str::find_zzz_char::long_lorem_ipsum has been running for over 60 seconds
test btree::map::iter_10k ... test btree::map::iter_10k has been running for over 60 seconds
test btree::map::insert_rand_10_000 ... test btree::map::insert_rand_10_000 has been running for over 60 seconds
test slice::rotate_huge_by9199_bytes ... test slice::rotate_huge_by9199_bytes has been running for over 60 seconds
test slice::rotate_huge_by1234577_bytes ... test slice::rotate_huge_by1234577_bytes has been running for over 60 seconds
test btree::map::range_unbounded_unbounded ... test btree::map::range_unbounded_unbounded has been running for over 60 seconds
test slice::rotate_huge_by1234577_u64 ... test slice::rotate_huge_by1234577_u64 has been running for over 60 seconds
test slice::sort_unstable_large_mostly_ascending ... test slice::sort_unstable_large_mostly_ascending has been running for over 60 seconds
test btree::map::range_unbounded_vs_iter ... test btree::map::range_unbounded_vs_iter has been running for over 60 seconds
test str::char_iterator ... test str::char_iterator has been running for over 60 seconds
test str::find_underscore_str::short_pile_of_poo ... test str::find_underscore_str::short_pile_of_poo has been running for over 60 seconds
test str::find_zzz_str::long_lorem_ipsum ... test str::find_zzz_str::long_lorem_ipsum has been running for over 60 seconds
test btree::map::iteration_100000 ... test btree::map::iteration_100000 has been running for over 60 seconds
test slice::rotate_huge_by9199_big ... test slice::rotate_huge_by9199_big has been running for over 60 seconds
test str::chars_count::long_lorem_ipsum ... test str::chars_count::long_lorem_ipsum has been running for over 60 seconds
test str::chars_count::short_ascii ... test str::chars_count::short_ascii has been running for over 60 seconds
test str::chars_count::short_pile_of_poo ... test str::chars_count::short_pile_of_poo has been running for over 60 seconds
test str::contains_bang_str::short_pile_of_poo ... test str::contains_bang_str::short_pile_of_poo has been running for over 60 seconds
test slice::sort_large_random ... test slice::sort_large_random has been running for over 60 seconds
test btree::map::find_seq_10_000 ... test btree::map::find_seq_10_000 has been running for over 60 seconds
test btree::set::intersection_staggered_10k_vs_10k ... test btree::set::intersection_staggered_10k_vs_10k has been running for over 60 seconds
test slice::sort_unstable_large_expensive ... test slice::sort_unstable_large_expensive has been running for over 60 seconds
test str::ends_with_str::long_lorem_ipsum ... test str::ends_with_str::long_lorem_ipsum has been running for over 60 seconds
test str::bench_contains_bad_naive ... test str::bench_contains_bad_naive has been running for over 60 seconds
test str::find_zzz_str::short_ascii ... test str::find_zzz_str::short_ascii has been running for over 60 seconds
test slice::zero_1kb_set_memory ... test slice::zero_1kb_set_memory has been running for over 60 seconds
test str::find_zzz_char::short_ascii ... test str::find_zzz_char::short_ascii has been running for over 60 seconds
test slice::rotate_huge_by9199_u64 ... test slice::rotate_huge_by9199_u64 has been running for over 60 seconds
test slice::sort_unstable_large_strings ... test slice::sort_unstable_large_strings has been running for over 60 seconds
test str::ends_with_str::short_pile_of_poo ... test str::ends_with_str::short_pile_of_poo has been running for over 60 seconds
test btree::map::range_included_included ... test btree::map::range_included_included has been running for over 60 seconds
test str::ends_with_unichar::short_mixed ... test str::ends_with_unichar::short_mixed has been running for over 60 seconds
test str::contains_bang_str::long_lorem_ipsum ... test str::contains_bang_str::long_lorem_ipsum has been running for over 60 seconds
test str::contains_bang_char::short_mixed ... test str::contains_bang_char::short_mixed has been running for over 60 seconds
test btree::map::find_rand_10_000 ... test btree::map::find_rand_10_000 has been running for over 60 seconds
test slice::rotate_huge_by1234577_big ... test slice::rotate_huge_by1234577_big has been running for over 60 seconds
test slice::rotate_huge_by9199_strings ... test slice::rotate_huge_by9199_strings has been running for over 60 seconds
test btree::set::is_subset_100_vs_10k ... test btree::set::is_subset_100_vs_10k has been running for over 60 seconds
test btree::map::insert_seq_10_000 ... test btree::map::insert_seq_10_000 has been running for over 60 seconds
test btree::map::iter_1m ... test btree::map::iter_1m has been running for over 60 seconds
test btree::map::range_included_excluded ... test btree::map::range_included_excluded has been running for over 60 seconds
test str::bench_contains_short_short ... test str::bench_contains_short_short has been running for over 60 seconds
test str::find_underscore_str::long_lorem_ipsum ... test str::find_underscore_str::long_lorem_ipsum has been running for over 60 seconds
test str::contains_bang_str::short_ascii ... test str::contains_bang_str::short_ascii has been running for over 60 seconds
test str::find_underscore_str::short_ascii ... test str::find_underscore_str::short_ascii has been running for over 60 seconds
test str::find_zzz_str::short_pile_of_poo ... test str::find_zzz_str::short_pile_of_poo has been running for over 60 seconds
test slice::sort_unstable_by_key_lexicographic ... test slice::sort_unstable_by_key_lexicographic has been running for over 60 seconds
test btree::set::is_subset_10k_vs_10k ... test btree::set::is_subset_10k_vs_10k has been running for over 60 seconds
test slice::sort_large_strings ... test slice::sort_large_strings has been running for over 60 seconds
test str::ends_with_ascii_char::long_lorem_ipsum ... test str::ends_with_ascii_char::long_lorem_ipsum has been running for over 60 seconds
test str::chars_count::short_mixed ... test str::chars_count::short_mixed has been running for over 60 seconds
test slice::sort_by_key_lexicographic ... test slice::sort_by_key_lexicographic has been running for over 60 seconds
test str::ends_with_str::short_ascii ... test str::ends_with_str::short_ascii has been running for over 60 seconds
test slice::rotate_huge_by1 ... test slice::rotate_huge_by1 has been running for over 60 seconds
test slice::rotate_huge_by1234577_strings ... test slice::rotate_huge_by1234577_strings has been running for over 60 seconds
test btree::map::first_and_last_10k ... test btree::map::first_and_last_10k has been running for over 60 seconds
test btree::map::iteration_mut_1000 ... test btree::map::iteration_mut_1000 has been running for over 60 seconds
test btree::set::clone_10k_and_remove_all ... test btree::set::clone_10k_and_remove_all has been running for over 60 seconds
test slice::rotate_huge_half ... test slice::rotate_huge_half has been running for over 60 seconds
test slice::rotate_huge_half_plus_one ... test slice::rotate_huge_half_plus_one has been running for over 60 seconds
test str::find_zzz_str::short_mixed ... test str::find_zzz_str::short_mixed has been running for over 60 seconds
test str::ends_with_ascii_char::short_mixed ... test str::ends_with_ascii_char::short_mixed has been running for over 60 seconds
test str::find_underscore_char::short_ascii ... test str::find_underscore_char::short_ascii has been running for over 60 seconds
test str::bench_join ... test str::bench_join has been running for over 60 seconds
test str::char_indicesator ... test str::char_indicesator has been running for over 60 seconds
test str::contains_bang_str::short_mixed ... test str::contains_bang_str::short_mixed has been running for over 60 seconds
test btree::set::intersection_staggered_100_vs_10k ... test btree::set::intersection_staggered_100_vs_10k has been running for over 60 seconds
test str::find_underscore_char::short_pile_of_poo ... test str::find_underscore_char::short_pile_of_poo has been running for over 60 seconds
test slice::sort_large_big ... test slice::sort_large_big has been running for over 60 seconds
test str::find_underscore_char::short_mixed ... test str::find_underscore_char::short_mixed has been running for over 60 seconds
test str::char_indicesator_rev ... test str::char_indicesator_rev has been running for over 60 seconds
test slice::sort_large_expensive ... test slice::sort_large_expensive has been running for over 60 seconds
test str::contains_bang_char::short_pile_of_poo ... test str::contains_bang_char::short_pile_of_poo has been running for over 60 seconds
test slice::sort_unstable_large_big ... test slice::sort_unstable_large_big has been running for over 60 seconds
test slice::sort_by_cached_key_lexicographic ... test slice::sort_by_cached_key_lexicographic has been running for over 60 seconds
test str::contains_bang_char::long_lorem_ipsum ... test str::contains_bang_char::long_lorem_ipsum has been running for over 60 seconds
test str::match_indices_a_str::short_ascii ... test str::match_indices_a_str::short_ascii has been running for over 60 seconds
test str::find_zzz_char::short_mixed ... test str::find_zzz_char::short_mixed has been running for over 60 seconds
test str::bench_contains_equal ... test str::bench_contains_equal has been running for over 60 seconds
test str::find_underscore_str::short_mixed ... test str::find_underscore_str::short_mixed has been running for over 60 seconds
test slice::rotate_medium_by727_strings ... test slice::rotate_medium_by727_strings has been running for over 60 seconds
test slice::starts_with_single_element ... ok
test str::rfind_underscore_char::long_lorem_ipsum ... test str::rfind_underscore_char::long_lorem_ipsum has been running for over 60 seconds
test str::match_indices_a_str::short_mixed ... test str::match_indices_a_str::short_mixed has been running for over 60 seconds
test str::match_indices_a_str::short_pile_of_poo ... test str::match_indices_a_str::short_pile_of_poo has been running for over 60 seconds
test slice::sort_unstable_large_mostly_ascending ... ok
test slice::sort_large_random ... ok
test slice::sort_unstable_large_mostly_descending ... ok
test btree::set::is_subset_10k_vs_10k ... ok
test str::char_iterator_ascii ... ok
test str::char_iterator_rev ... ok
test str::rfind_underscore_char::short_ascii ... test str::rfind_underscore_char::short_ascii has been running for over 60 seconds
test slice::zero_1kb_set_memory ... ok
test str::char_indicesator ... ok
test str::bench_contains_short_long ... ok
test str::bench_contains_equal ... ok
test str::split_terminator_space_char::long_lorem_ipsum ... test str::split_terminator_space_char::long_lorem_ipsum has been running for over 60 seconds
test str::trim_ascii_char::short_mixed ... test str::trim_ascii_char::short_mixed has been running for over 60 seconds
test str::trim_ascii_char::short_pile_of_poo ... test str::trim_ascii_char::short_pile_of_poo has been running for over 60 seconds
test string::bench_push_str ... test string::bench_push_str has been running for over 60 seconds
test str::trim_end_ascii_char::short_mixed ... test str::trim_end_ascii_char::short_mixed has been running for over 60 seconds
test string::bench_from ... test string::bench_from has been running for over 60 seconds
test str::starts_with_ascii_char::long_lorem_ipsum ... test str::starts_with_ascii_char::long_lorem_ipsum has been running for over 60 seconds
test string::bench_push_char_one_byte ... test string::bench_push_char_one_byte has been running for over 60 seconds
test str::split_space_char::long_lorem_ipsum ... test str::split_space_char::long_lorem_ipsum has been running for over 60 seconds
test str::trim_start_ascii_char::short_ascii ... test str::trim_start_ascii_char::short_ascii has been running for over 60 seconds
test str::split_space_str::short_pile_of_poo ... test str::split_space_str::short_pile_of_poo has been running for over 60 seconds
test str::trim_start_ascii_char::short_pile_of_poo ... test str::trim_start_ascii_char::short_pile_of_poo has been running for over 60 seconds
test str::split_terminator_space_char::short_ascii ... test str::split_terminator_space_char::short_ascii has been running for over 60 seconds
test str::trim_ascii_char::long_lorem_ipsum ... test str::trim_ascii_char::long_lorem_ipsum has been running for over 60 seconds
test str::split_a_str::short_ascii ... test str::split_a_str::short_ascii has been running for over 60 seconds
test str::split_slice ... test str::split_slice has been running for over 60 seconds
test str::starts_with_ascii_char::short_pile_of_poo ... test str::starts_with_ascii_char::short_pile_of_poo has been running for over 60 seconds
test str::split_space_char::short_mixed ... test str::split_space_char::short_mixed has been running for over 60 seconds
test str::starts_with_str::short_mixed ... test str::starts_with_str::short_mixed has been running for over 60 seconds
test str::trim_start_ascii_char::short_mixed ... test str::trim_start_ascii_char::short_mixed has been running for over 60 seconds
test string::bench_insert_str_long ... test string::bench_insert_str_long has been running for over 60 seconds
test str::split_a_str::short_mixed ... test str::split_a_str::short_mixed has been running for over 60 seconds
test str::splitn_space_char::short_pile_of_poo ... test str::splitn_space_char::short_pile_of_poo has been running for over 60 seconds
test str::split_ad_str::short_ascii ... test str::split_ad_str::short_ascii has been running for over 60 seconds
test str::split_terminator_space_char::short_mixed ... test str::split_terminator_space_char::short_mixed has been running for over 60 seconds
test str::rfind_zzz_char::short_ascii ... test str::rfind_zzz_char::short_ascii has been running for over 60 seconds
test str::starts_with_unichar::short_mixed ... test str::starts_with_unichar::short_mixed has been running for over 60 seconds
test string::bench_from_str ... test string::bench_from_str has been running for over 60 seconds
test str::starts_with_ascii_char::short_ascii ... test str::starts_with_ascii_char::short_ascii has been running for over 60 seconds
test string::bench_insert_char_long ... test string::bench_insert_char_long has been running for over 60 seconds
test str::rsplitn_space_char::short_ascii ... test str::rsplitn_space_char::short_ascii has been running for over 60 seconds
test str::split_ad_str::short_mixed ... test str::split_ad_str::short_mixed has been running for over 60 seconds
test str::starts_with_str::short_ascii ... test str::starts_with_str::short_ascii has been running for over 60 seconds
test str::rfind_zzz_char::short_pile_of_poo ... test str::rfind_zzz_char::short_pile_of_poo has been running for over 60 seconds
test str::starts_with_unichar::long_lorem_ipsum ... test str::starts_with_unichar::long_lorem_ipsum has been running for over 60 seconds
test str::split_a_str::short_pile_of_poo ... test str::split_a_str::short_pile_of_poo has been running for over 60 seconds
test str::splitn_space_char::long_lorem_ipsum ... test str::splitn_space_char::long_lorem_ipsum has been running for over 60 seconds
test str::split_space_str::short_ascii ... test str::split_space_str::short_ascii has been running for over 60 seconds
test string::bench_insert_str_short ... test string::bench_insert_str_short has been running for over 60 seconds
test str::rsplitn_space_char::long_lorem_ipsum ... test str::rsplitn_space_char::long_lorem_ipsum has been running for over 60 seconds
test str::trim_end_ascii_char::short_pile_of_poo ... test str::trim_end_ascii_char::short_pile_of_poo has been running for over 60 seconds
test str::rfind_zzz_char::short_mixed ... test str::rfind_zzz_char::short_mixed has been running for over 60 seconds
test string::bench_exact_size_shrink_to_fit ... test string::bench_exact_size_shrink_to_fit has been running for over 60 seconds
test str::split_extern_fn ... test str::split_extern_fn has been running for over 60 seconds
test str::splitn_space_char::short_mixed ... test str::splitn_space_char::short_mixed has been running for over 60 seconds
test string::bench_insert_char_short ... test string::bench_insert_char_short has been running for over 60 seconds
test str::split_terminator_space_char::short_pile_of_poo ... test str::split_terminator_space_char::short_pile_of_poo has been running for over 60 seconds
test str::split_unicode_ascii ... test str::split_unicode_ascii has been running for over 60 seconds
test str::starts_with_ascii_char::short_mixed ... test str::starts_with_ascii_char::short_mixed has been running for over 60 seconds
test str::rsplitn_space_char::short_pile_of_poo ... test str::rsplitn_space_char::short_pile_of_poo has been running for over 60 seconds
test str::split_ad_str::long_lorem_ipsum ... test str::split_ad_str::long_lorem_ipsum has been running for over 60 seconds
test str::starts_with_str::long_lorem_ipsum ... test str::starts_with_str::long_lorem_ipsum has been running for over 60 seconds
test str::split_ascii ... test str::split_ascii has been running for over 60 seconds
test str::starts_with_str::short_pile_of_poo ... test str::starts_with_str::short_pile_of_poo has been running for over 60 seconds
test str::rsplitn_space_char::short_mixed ... test str::rsplitn_space_char::short_mixed has been running for over 60 seconds
test str::trim_ascii_char::short_ascii ... test str::trim_ascii_char::short_ascii has been running for over 60 seconds
test str::trim_end_ascii_char::long_lorem_ipsum ... test str::trim_end_ascii_char::long_lorem_ipsum has been running for over 60 seconds
test str::starts_with_unichar::short_ascii ... test str::starts_with_unichar::short_ascii has been running for over 60 seconds
test str::split_ad_str::short_pile_of_poo ... test str::split_ad_str::short_pile_of_poo has been running for over 60 seconds
test string::bench_push_char_two_bytes ... test string::bench_push_char_two_bytes has been running for over 60 seconds
test str::trim_end_ascii_char::short_ascii ... test str::trim_end_ascii_char::short_ascii has been running for over 60 seconds
test str::split_closure ... test str::split_closure has been running for over 60 seconds
test str::rfind_underscore_char::short_mixed ... test str::rfind_underscore_char::short_mixed has been running for over 60 seconds
test str::rfind_zzz_char::long_lorem_ipsum ... test str::rfind_zzz_char::long_lorem_ipsum has been running for over 60 seconds
test str::split_space_char::short_pile_of_poo ... test str::split_space_char::short_pile_of_poo has been running for over 60 seconds
test str::split_space_str::long_lorem_ipsum ... test str::split_space_str::long_lorem_ipsum has been running for over 60 seconds
test str::split_space_str::short_mixed ... test str::split_space_str::short_mixed has been running for over 60 seconds
test str::splitn_space_char::short_ascii ... test str::splitn_space_char::short_ascii has been running for over 60 seconds
test str::trim_start_ascii_char::long_lorem_ipsum ... test str::trim_start_ascii_char::long_lorem_ipsum has been running for over 60 seconds
test str::rfind_underscore_char::short_pile_of_poo ... test str::rfind_underscore_char::short_pile_of_poo has been running for over 60 seconds
test str::split_a_str::long_lorem_ipsum ... test str::split_a_str::long_lorem_ipsum has been running for over 60 seconds
test str::split_space_char::short_ascii ... test str::split_space_char::short_ascii has been running for over 60 seconds
test str::starts_with_unichar::short_pile_of_poo ... test str::starts_with_unichar::short_pile_of_poo has been running for over 60 seconds
test str::bench_contains_short_short ... ok
test str::char_iterator ... ok
test str::bench_contains_bad_naive ... ok
test str::bench_join ... ok
test slice::zero_1kb_mut_iter ... ok
test str::char_indicesator_rev ... ok
test str::char_iterator_for ... ok
test btree::set::intersection_staggered_10k_vs_10k ... ok
test str::contains_bang_char::short_pile_of_poo ... ok
test str::contains_bang_str::short_ascii ... ok
test str::char_iterator_rev_for ... ok
test str::contains_bang_char::long_lorem_ipsum ... ok
test str::contains_bang_str::short_mixed ... ok
test str::contains_bang_str::short_pile_of_poo ... ok
died due to signal 9
error: test failed, to rerun pass '-p alloc --bench collectionsbenches'


command did not execute successfully: "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rust-snapshot/bin/cargo" "test" "--target" "aarch64-poky-linux" "-Zbinary-dep-depinfo" "-j" "192" "--release" "--frozen" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libtest/Cargo.toml" "--no-fail-fast" "-p" "alloc" "--"
expected success, got: exit code: 3


	finished in 229.265
Testing core stage2 (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)
    Finished release [optimized] target(s) in 37.22s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/coretests-d6ef569dc9ae97cf
uploaded "/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-std/aarch64-poky-linux/release/deps/coretests-d6ef569dc9ae97cf", waiting for result

running 1030 tests
test any::any_fixed_vec ... ok
test any::any_owning ... ok
test any::any_downcast_ref ... ok
test any::any_referenced ... ok
test any::any_unsized ... ok
test any::any_downcast_mut ... ok
test alloc::const_unchecked_layout ... ok
test array::iterator_clone ... ok
test array::array_try_from ... ok
test array::empty_array_is_always_default ... ok
test array::fixed_size_array ... ok
test array::iterator_collect ... ok
test array::iterator_count ... ok
test array::iterator_drops ... ok
test array::iterator_flat_map ... ok
test array::iterator_fused ... ok
test array::iterator_last ... ok
test array::iterator_debug ... ok
test array::iterator_len ... ok
test array::iterator_nth ... ok
test ascii::inference_works ... ok
test array::iterator_rev_collect ... ok
test ascii::test_is_ascii_alphanumeric ... ok
test ascii::test_is_ascii_control ... ok
test ascii::test_is_ascii_digit ... ok
test ascii::test_is_ascii_alphabetic ... ok
test ascii::test_is_ascii_graphic ... ok
test ascii::test_is_ascii_hexdigit ... ok
test ascii::test_is_ascii ... ok
test ascii::test_is_ascii_lowercase ... ok
test ascii::test_eq_ignore_ascii_case ... ok
test ascii::test_is_ascii_uppercase ... ok
test array::array_default_impl_avoids_leaks_on_panic ... ok
test ascii::test_is_ascii_whitespace ... ok
test ascii::test_make_ascii_lower_case ... ok
test ascii::test_make_ascii_upper_case ... ok
test ascii::test_to_ascii_lowercase ... ok
test ascii::test_to_ascii_uppercase ... ok
test ascii::test_is_ascii_punctuation ... ok
test atomic::int_nand ... ok
test atomic::int_or ... ok
test atomic::int_xor ... ok
test atomic::static_init ... ok
test atomic::int_and ... ok
test atomic::uint_and ... ok
test atomic::bool_nand ... ok
test atomic::uint_nand ... ok
test atomic::uint_or ... ok
test atomic::bool_and ... ok
test atomic::uint_xor ... ok
test bool::test_bool_to_option ... ok
test atomic::bool_ ... ok
test cell::as_ptr ... ok
test cell::cell_default ... ok
test cell::cell_has_sensible_show ... ok
test cell::cell_into_inner ... ok
test cell::double_imm_borrow ... ok
test cell::double_borrow_single_release_no_borrow_mut ... ok
test cell::imm_release_borrow_mut ... ok
test cell::discard_doesnt_unborrow ... ok
test cell::mut_release_borrow_mut ... ok
test cell::no_double_borrow_mut ... ok
test cell::cell_update ... ok
test cell::no_imm_then_borrow_mut ... ok
test cell::no_mut_then_imm_borrow ... ok
test cell::cell_set ... ok
test cell::ref_and_refmut_have_sensible_show ... ok
test cell::ref_clone_updates_flag ... ok
test cell::ref_map_accessor ... ok
test cell::ref_map_does_not_update_flag ... ok
test cell::cell_replace ... ok
test cell::ref_map_split ... ok
test cell::ref_map_split_updates_flag ... ok
test cell::ref_mut_map_accessor ... ok
test cell::ref_mut_map_split ... ok
test cell::refcell_default ... ok
test cell::refcell_ref_coercion ... ok
test char::ed_iterator_specializations ... ok
test char::eu_iterator_specializations ... ok
test char::test_convert ... ok
test char::test_decode_utf16 ... ok
test char::test_encode_utf16 ... ok
test char::test_encode_utf8 ... ok
test cell::unsafe_cell_unsized ... ok
test cell::smoketest_cell ... ok
test char::test_escape_debug ... ok
test cell::refcell_unsized ... ok
test cell::refcell_swap_borrows ... ok
test char::test_escape_unicode ... ok
test char::test_from_str ... ok
test char::test_is_control ... ok
test cell::refcell_replace_borrows ... ok
test char::test_is_lowercase ... ok
test char::test_is_numeric ... ok
test char::test_is_uppercase ... ok
test char::test_is_whitespace ... ok
test char::test_len_utf16 ... ok
test char::test_escape_default ... ok
test char::test_to_digit ... ok
test char::test_to_lowercase ... ok
test clone::test_borrowed_clone ... ok
test clone::test_clone_from ... ok
test char::test_to_uppercase ... ok
test cmp::test_ord_min_max_by_key ... ok
test cmp::test_ordering_order ... ok
test cmp::test_ordering_reverse ... ok
test cmp::test_ordering_then ... ok
test cmp::test_ord_min_max_by ... ok
test cmp::test_ordering_then_with ... ok
test cmp::test_ord_max_min ... ok
test cmp::test_user_defined_eq ... ok
test cmp::test_mut_int_totalord ... ok
test cmp::test_int_totalord ... ok
test cmp::test_bool_totalord ... ok
test fmt::builders::debug_list::test_single ... ok
test fmt::builders::debug_map::test_empty ... ok
test fmt::builders::debug_map::test_entry_err ... ok
test fmt::builders::debug_list::test_nested ... ok
test fmt::builders::debug_map::test_invalid_finish_incomplete_entry ... ok
test fmt::builders::debug_list::test_multiple ... ok
test fmt::builders::debug_map::test_invalid_key_when_entry_is_incomplete ... ok
test fmt::builders::debug_list::test_empty ... ok
test fmt::builders::debug_map::test_invalid_value_before_key ... ok
test fmt::builders::debug_map::test_multiple ... ok
test fmt::builders::debug_set::test_multiple ... ok
test fmt::builders::debug_set::test_empty ... ok
test fmt::builders::debug_set::test_nested ... ok
test fmt::builders::debug_set::test_single ... ok
test fmt::builders::debug_struct::test_nested ... ok
test fmt::builders::debug_struct::test_empty ... ok
test fmt::builders::debug_struct::test_multiple ... ok
test fmt::builders::debug_struct::test_multiple_and_non_exhaustive ... ok
test fmt::builders::debug_map::test_single ... ok
test fmt::builders::debug_struct::test_nested_non_exhaustive ... ok
test fmt::builders::debug_map::test_nested ... ok
test fmt::builders::debug_struct::test_only_non_exhaustive ... ok
test fmt::builders::debug_struct::test_single ... ok
test fmt::builders::debug_tuple::test_empty ... ok
test fmt::builders::debug_tuple::test_multiple ... ok
test fmt::builders::debug_tuple::test_nested ... ok
test fmt::builders::debug_tuple::test_single ... ok
test fmt::float::test_format_f32 ... ok
test fmt::float::test_format_f64 ... ok
test fmt::num::test_format_debug_hex ... ok
test fmt::num::test_format_int_exp_limits ... ok
test fmt::builders::test_formatting_parameters_are_forwarded ... ok
test fmt::num::test_format_int_sign_padding ... ok
test fmt::num::test_format_int_flags ... ok
test fmt::num::test_format_int_twos_complement ... ok
test fmt::num::test_format_int_zero ... ok
test fmt::test_pointer_formats_data_pointer ... ok
test fmt::pad_integral_resets ... ok
test fmt::test_estimated_capacity ... ok
test fmt::test_format_flags ... ok
test hash::sip::test_hash_idempotent ... ok
test hash::sip::test_hash_no_bytes_dropped_32 ... ok
test hash::sip::test_hash_no_bytes_dropped_64 ... ok
test hash::sip::test_hash_no_concat_alias ... ok
test hash::sip::test_hash_usize ... ok
test fmt::num::test_format_int_exp_precision ... ok
test hash::sip::test_siphash_1_3 ... ok
test hash::sip::test_siphash_2_4 ... ok
test hash::sip::test_write_short_works ... ok
test hash::test_custom_state ... ok
test hash::test_indirect_hasher ... ok
test hash::test_writer_hasher ... ok
test intrinsics::test_typeid_sized_types ... ok
test intrinsics::test_typeid_unsized_types ... ok
test iter::test_all ... ok
test iter::test_any ... ok
test iter::test_by_ref ... ok
test iter::test_chain_fold ... ok
test ascii::test_is_ascii_align_size_thoroughly ... ok
test fmt::num::test_format_int ... ok
test iter::test_cmp_by ... ok
test iter::test_collect ... ok
test iter::test_cloned_try_folds ... ok
test iter::test_cloned_side_effects ... ok
test iter::test_cloned ... ok
test iter::test_copied ... ok
test iter::test_count ... ok
test iter::test_chain_try_folds ... ok
test iter::test_double_ended_filter_map ... ok
test iter::test_double_ended_chain ... ok
test iter::test_counter_from_iter ... ok
test iter::test_cycle ... ok
test iter::test_double_ended_enumerate ... ok
test iter::test_double_ended_flat_map ... ok
test iter::test_double_ended_filter ... ok
test iter::test_double_ended_flatten ... ok
test iter::test_double_ended_map ... ok
test iter::test_double_ended_range ... ok
test iter::test_eq_by ... ok
test iter::test_enumerate_try_folds ... ok
test iter::test_empty ... ok
test iter::test_filter_map ... ok
test iter::test_double_ended_zip ... ok
test iter::test_filter_map_fold ... ok
test iter::test_filter_map_try_folds ... ok
test iter::test_filter_try_folds ... ok
test iter::test_flatten_non_fused_inner ... ok
test iter::test_find ... ok
test iter::test_flat_map_try_folds ... ok
test iter::test_flatten_non_fused_outer ... ok
test iter::test_find_map ... ok
test iter::test_flatten_try_folds ... ok
test iter::test_functor_laws ... ok
test iter::test_fuse ... ok
test iter::test_fuse_count ... ok
test iter::test_fuse_fold ... ok
test iter::test_fuse_last ... ok
test iter::test_fuse_nth ... ok
test iter::test_inspect ... ok
test iter::test_inspect_fold ... ok
test iter::test_is_sorted ... ok
test iter::test_iterator_chain ... ok
test iter::test_iterator_chain_count ... ok
test iter::test_iterator_chain_find ... ok
test iter::test_iterator_chain_last ... ok
test iter::test_iterator_chain_nth ... ok
test iter::test_iterator_chain_nth_back ... ok
test iter::test_iterator_chain_size_hint ... ok
test iter::test_iterator_chain_unfused ... ok
test iter::test_iterator_enumerate ... ok
test iter::test_iterator_enumerate_count ... ok
test iter::test_iterator_enumerate_fold ... ok
test iter::test_iterator_enumerate_nth ... ok
test iter::test_iterator_enumerate_nth_back ... ok
test iter::test_iterator_filter_count ... ok
test iter::test_iterator_filter_fold ... ok
test iter::test_iterator_flat_map ... ok
test iter::test_iterator_flat_map_fold ... ok
test iter::test_iterator_flatten ... ok
test iter::test_iterator_flatten_fold ... ok
test iter::test_iterator_last ... ok
test iter::test_iterator_len ... ok
test iter::test_iterator_max ... ok
test iter::test_iterator_min ... ok
test iter::test_iterator_nth ... ok
test iter::test_iterator_nth_back ... ok
test iter::test_iterator_peekable ... ok
test iter::test_iterator_peekable_count ... ok
test iter::test_iterator_peekable_fold ... ok
test iter::test_iterator_peekable_last ... ok
test iter::test_iterator_peekable_next_if_eq ... ok
test iter::test_iterator_peekable_nth ... ok
test iter::test_iterator_peekable_remember_peek_none_1 ... ok
test iter::test_iterator_peekable_remember_peek_none_2 ... ok
test iter::test_iterator_peekable_remember_peek_none_3 ... ok
test iter::test_iterator_peekable_rfold ... ok
test iter::test_iterator_rev_nth ... ok
test iter::test_iterator_product_result ... ok
test iter::test_iterator_rev_nth_back ... ok
test iter::test_iterator_product_option ... ok
test iter::test_iterator_product ... ok
test iter::test_iterator_scan ... ok
test iter::test_iterator_size_hint ... ok
test iter::test_iterator_skip ... ok
test iter::test_iterator_skip_count ... ok
test iter::test_iterator_skip_doubleended ... ok
test iter::test_iterator_skip_fold ... ok
test iter::test_iterator_skip_last ... ok
test iter::test_iterator_skip_nth ... ok
test iter::test_iterator_skip_while ... ok
test iter::test_char_range ... ok
test iter::test_iterator_skip_while_fold ... ok
test iter::test_iterator_step_by ... ok
test iter::test_iterator_step_by_nth_try_rfold ... ok
test iter::test_iterator_step_by_size_hint ... ok
test iter::test_iterator_step_by_nth_try_fold ... ok
test iter::test_iterator_step_by_zero ... ok
test iter::test_iterator_step_by_nth_overflow ... ok
test iter::test_iterator_sum ... ok
test iter::test_iterator_sum_option ... ok
test iter::test_iterator_step_by_nth_back ... ok
test iter::test_iterator_sum_result ... ok
test iter::test_iterator_step_by_nth ... ok
test iter::test_iterator_take ... ok
test iter::test_lt ... ok
test iter::test_iterator_take_while ... ok
test iter::test_map_try_folds ... ok
test iter::test_iterator_take_short ... ok
test iter::test_max_by ... ok
test iter::test_max_by_key ... ok
test iter::test_min_by ... ok
test iter::test_iterator_take_nth_back ... ok
test iter::test_min_by_key ... ok
test iter::test_iterator_take_nth ... ok
test iter::test_monad_laws_associativity ... ok
test iter::test_monad_laws_left_identity ... ok
test iter::test_partial_cmp_by ... ok
test iter::test_once_with ... ok
test iter::test_once ... ok
test iter::test_partition ... ok
test iter::test_multi_iter ... ok
test iter::test_peek_try_folds ... ok
test iter::test_monad_laws_right_identity ... ok
test iter::test_position ... ok
test iter::test_peekable_non_fused ... ok
test iter::test_range_from_nth ... ok
test iter::test_range_from_take ... ok
test iter::test_range_exhaustion ... ok
test iter::test_range_from_take_collect ... ok
test iter::test_range ... ok
test iter::test_range_inclusive_exhaustion ... ok
test iter::test_range_inclusive_min ... ok
test iter::test_range_inclusive_len ... ok
test iter::test_range_inclusive_nth ... ok
test iter::test_range_inclusive_nth_back ... ok
test iter::test_range_inclusive_last_max ... ok
test iter::test_range_inclusive_size_hint ... ok
test iter::test_range_inclusive_step ... ok
test iter::test_range_inclusive_folds ... ok
test iter::test_range_last_max ... ok
test iter::test_range_nth_back ... ok
test iter::test_range_nth ... ok
test iter::test_range_size_hint ... ok
test iter::test_range_step ... ok
test iter::test_range_min ... ok
test iter::test_repeat ... ok
test iter::test_repeat_take ... ok
test iter::test_repeat_take_collect ... ok
test iter::test_repeat_with ... ok
test iter::test_repeat_with_take ... ok
test iter::test_range_len ... ok
test iter::test_repeat_with_take_collect ... ok
test iter::test_rev ... ok
test iter::test_rev_rposition ... ok
test iter::test_skip_try_folds ... ok
test iter::test_skip_nth_back ... ok
test iter::test_rposition_panic ... ok
test iter::test_skip_while_try_fold ... ok
test iter::test_rev_try_folds ... ok
test iter::test_step_backward ... ok
test iter::test_rposition ... ok
test iter::test_step_by_skip ... ok
test iter::test_step_forward ... ok
test iter::test_steps_between ... ok
test iter::test_successors ... ok
test iter::test_take_try_folds ... ok
test iter::test_take_while_folds ... ok
test manually_drop::smoke ... ok
test mem::align_of_64 ... ok
test iter::test_zip_nth_side_effects ... ok
test iter::test_zip_nth ... ok
test mem::align_of_basic ... ok
test mem::align_of_val_basic ... ok
test mem::size_of_64 ... ok
test iter::test_try_find_api_usability ... ok
test mem::size_of_basic ... ok
test mem::size_of_val_basic ... ok
test iter::test_try_find ... ok
test mem::test_discriminant_send_sync ... ok
test mem::test_replace ... ok
test mem::test_swap ... ok
test mem::test_transmute ... ok
test nonzero::test_from_nonzero ... ok
test nonzero::test_from_str ... ok
test nonzero::test_create_nonzero_instance ... ok
test nonzero::test_match_nonzero_const_pattern ... ok
test nonzero::test_from_signed_nonzero ... ok
test mem::test_transmute_copy ... ok
test nonzero::test_match_on_nonzero_option ... ok
test nonzero::test_match_option_arc ... ok
test nonzero::test_match_option_empty_string ... ok
test nonzero::test_match_option_empty_vec ... ok
test nonzero::test_match_option_rc ... ok
test nonzero::test_match_option_string ... ok
test nonzero::test_match_option_vec ... ok
test nonzero::test_nonzero_bitor ... ok
test num::bignum::test_add ... ok
test nonzero::test_size_nonzero_in_option ... ok
test num::bignum::test_add_overflow_1 ... ok
test nonzero::test_nonzero_from_int_on_success ... ok
test nonzero::test_nonzero_bitor_assign ... ok
test nonzero::test_nonzero_from_int_on_err ... ok
test num::bignum::test_add_small_overflow ... ok
test num::bignum::test_add_small ... ok
test num::bignum::test_bit_length ... ok
test num::bignum::test_add_overflow_2 ... ok
test num::bignum::test_div_rem ... ok
test num::bignum::test_div_rem_small ... ok
test num::bignum::test_fmt ... ok
test num::bignum::test_from_u64_overflow ... ok
test num::bignum::test_get_bit ... ok
test num::bignum::test_get_bit_out_of_range ... ok
test num::bignum::test_is_zero ... ok
test num::bignum::test_mul_pow2_overflow_1 ... ok
test num::bignum::test_mul_pow2 ... ok
test num::bignum::test_mul_pow2_overflow_2 ... ok
test num::bignum::test_mul_digits_overflow_2 ... ok
test num::bignum::test_mul_pow5 ... ok
test num::bignum::test_mul_pow5_overflow_1 ... ok
test num::bignum::test_mul_digits_overflow_1 ... ok
test num::bignum::test_mul_pow5_overflow_2 ... ok
test num::bignum::test_mul_small ... ok
test num::bignum::test_mul_digits ... ok
test num::bignum::test_mul_small_overflow ... ok
test num::bignum::test_ord ... ok
test num::bignum::test_sub ... ok
test num::dec2flt::exponentiated_dot ... ok
test num::dec2flt::inf ... ok
test num::dec2flt::borderline_overflow ... ok
test num::dec2flt::large ... ok
test num::bignum::test_sub_underflow_2 ... ok
test num::dec2flt::lonely_dot ... ok
test num::bignum::test_sub_underflow_1 ... ok
test num::dec2flt::lonely_sign ... ok
test num::dec2flt::massive_exponent ... ok
test num::dec2flt::nan ... ok
test num::dec2flt::fast_path_correct ... ok
test num::dec2flt::parse::valid ... ok
test num::dec2flt::rawfp::fp_to_float_half_to_even ... ok
test num::dec2flt::parse::missing_pieces ... ok
test num::dec2flt::rawfp::human_f64_roundtrip ... ok
test num::dec2flt::parse::invalid_chars ... ok
test num::dec2flt::rawfp::integers_to_f64 ... ok
test num::dec2flt::rawfp::next_float_inf ... ok
test num::dec2flt::rawfp::next_float_monotonic ... ok
test num::dec2flt::rawfp::next_float_subnormal ... ok
test num::dec2flt::rawfp::next_float_zero ... ok
test num::dec2flt::rawfp::next_prev_identity ... ok
test num::dec2flt::rawfp::prev_float_monotonic ... ok
test num::dec2flt::rawfp::rounding_overflow ... ok
test num::dec2flt::rawfp::test_f32_integer_decode ... ok
test num::dec2flt::rawfp::test_f64_integer_decode ... ok
test num::flt2dec::random::shortest_f32_exhaustive_equivalence_test ... ignored
test num::flt2dec::random::shortest_f64_hard_random_equivalence_test ... ignored
test num::f32::div_euclid ... ok
test num::f32::max ... ok
test num::dec2flt::whitespace ... ok
test num::f32::min ... ok
test num::f32::rem_euclid ... ok
test num::f64::div_euclid ... ok
test num::f64::max ... ok
test num::f64::min ... ok
test num::f64::rem_euclid ... ok
test num::dec2flt::ordinary ... ok
test num::dec2flt::special_code_paths ... ok
test num::dec2flt::zero ... ok
test num::flt2dec::strategy::dragon::test_mul_pow10 ... ok
test num::flt2dec::strategy::dragon::shortest_sanity_test ... ok
test num::flt2dec::strategy::grisu::shortest_sanity_test ... ok
test num::flt2dec::strategy::grisu::test_cached_power ... ok
test num::flt2dec::strategy::grisu::test_max_pow10_no_more_than ... ok
test num::dec2flt::infinity ... ok
test num::flt2dec::strategy::dragon::test_to_shortest_exp_str ... ok
test num::flt2dec::strategy::grisu::test_to_shortest_exp_str ... ok
test num::from_str_issue7588 ... ok
test num::i16::tests::test_be ... ok
test num::i16::tests::test_bitwise_operators ... ok
test num::i16::tests::test_count_ones ... ok
test num::i16::tests::test_count_zeros ... ok
test num::i16::tests::test_from_str ... ok
test num::i16::tests::test_abs ... ok
test num::i16::tests::test_from_str_radix ... ok
test num::i16::tests::test_is_negative ... ok
test num::i16::tests::test_is_positive ... ok
test num::i16::tests::test_le ... ok
test num::i16::tests::test_leading_trailing_ones ... ok
test num::flt2dec::strategy::grisu::test_to_shortest_str ... ok
test num::i16::tests::test_rem_euclid ... ok
test num::i16::tests::test_rotate ... ok
test num::i16::tests::test_saturating_abs ... ok
test num::i16::tests::test_saturating_neg ... ok
test num::i16::tests::test_signum ... ok
test num::i32::tests::test_be ... ok
test num::i16::tests::test_num ... ok
test num::i16::tests::test_overflows ... ok
test num::i16::tests::test_pow ... ok
test num::i16::tests::test_signed_checked_div ... ok
test num::i16::tests::test_swap_bytes ... ok
test num::i32::tests::test_abs ... ok
test num::flt2dec::strategy::dragon::test_to_shortest_str ... ok
test num::flt2dec::estimator::test_estimate_scaling_factor ... ok
test num::i32::tests::test_count_ones ... ok
test num::i32::tests::test_bitwise_operators ... ok
test num::i32::tests::test_count_zeros ... ok
test num::i32::tests::test_from_str ... ok
test num::i32::tests::test_from_str_radix ... ok
test num::i32::tests::test_is_negative ... ok
test num::i32::tests::test_is_positive ... ok
test num::i32::tests::test_le ... ok
test num::i32::tests::test_leading_trailing_ones ... ok
test num::i32::tests::test_num ... ok
test num::i32::tests::test_overflows ... ok
test num::i32::tests::test_pow ... ok
test num::i32::tests::test_rotate ... ok
test num::i32::tests::test_saturating_abs ... ok
test num::i32::tests::test_saturating_neg ... ok
test num::i32::tests::test_signed_checked_div ... ok
test num::i32::tests::test_signum ... ok
test num::i32::tests::test_swap_bytes ... ok
test num::i32::tests::test_rem_euclid ... ok
test num::i64::tests::test_abs ... ok
test num::i64::tests::test_be ... ok
test num::i64::tests::test_bitwise_operators ... ok
test num::i64::tests::test_count_zeros ... ok
test num::i64::tests::test_from_str ... ok
test num::i64::tests::test_from_str_radix ... ok
test num::i64::tests::test_is_negative ... ok
test num::i64::tests::test_is_positive ... ok
test num::i64::tests::test_le ... ok
test num::i64::tests::test_leading_trailing_ones ... ok
test num::i64::tests::test_num ... ok
test num::i64::tests::test_overflows ... ok
test num::i64::tests::test_count_ones ... ok
test num::i64::tests::test_pow ... ok
test num::i64::tests::test_rem_euclid ... ok
test num::i64::tests::test_rotate ... ok
test num::i64::tests::test_saturating_neg ... ok
test num::i64::tests::test_signed_checked_div ... ok
test num::i64::tests::test_signum ... ok
test num::i64::tests::test_swap_bytes ... ok
test num::i8::tests::test_abs ... ok
test num::i8::tests::test_be ... ok
test num::i8::tests::test_bitwise_operators ... ok
test num::i8::tests::test_count_ones ... ok
test num::i8::tests::test_count_zeros ... ok
test num::i8::tests::test_from_str ... ok
test num::i8::tests::test_from_str_radix ... ok
test num::i8::tests::test_is_negative ... ok
test num::i8::tests::test_is_positive ... ok
test num::i64::tests::test_saturating_abs ... ok
test num::flt2dec::strategy::dragon::test_to_exact_fixed_str ... ok
test num::i8::tests::test_le ... ok
test num::i8::tests::test_leading_trailing_ones ... ok
test num::i8::tests::test_num ... ok
test num::flt2dec::strategy::dragon::test_to_exact_exp_str ... ok
test num::i8::tests::test_pow ... ok
test num::dec2flt::subnormals ... ok
test num::i8::tests::test_rotate ... ok
test num::i8::tests::test_saturating_abs ... ok
test num::i8::tests::test_rem_euclid ... ok
test num::i8::tests::test_saturating_neg ... ok
test num::i8::tests::test_signed_checked_div ... ok
test num::i8::tests::test_signum ... ok
test num::i8::tests::test_swap_bytes ... ok
test num::flt2dec::strategy::grisu::test_to_exact_exp_str ... ok
test num::flt2dec::strategy::grisu::test_to_exact_fixed_str ... ok
test num::test_booli128 ... ok
test num::test_booli16 ... ok
test num::test_booli32 ... ok
test num::test_booli64 ... ok
test num::test_booli8 ... ok
test num::test_boolu128 ... ok
test num::i8::tests::test_overflows ... ok
test num::test_boolu16 ... ok
test num::test_boolu32 ... ok
test num::test_boolu64 ... ok
test num::test_boolu8 ... ok
test num::test_empty ... ok
test num::test_f32f64 ... ok
test num::test_i16f32 ... ok
test num::test_i16f64 ... ok
test num::test_i16i32 ... ok
test num::test_i16i64 ... ok
test num::test_i32f64 ... ok
test num::test_i32i64 ... ok
test num::test_i8f32 ... ok
test num::test_i8f64 ... ok
test num::test_i8i16 ... ok
test num::test_i8i32 ... ok
test num::test_i8i64 ... ok
test num::test_i8isize ... ok
test num::test_infallible_try_from_int_error ... ok
test num::test_int_from_str_overflow ... ok
test num::test_invalid ... ok
test num::test_leading_plus ... ok
test num::test_try_i128i128 ... ok
test num::test_try_i128i16 ... ok
test num::test_try_i128i32 ... ok
test num::test_try_i128i64 ... ok
test num::test_try_i128i8 ... ok
test num::test_try_i128isize ... ok
test num::test_try_i128u128 ... ok
test num::test_try_i128u16 ... ok
test num::test_try_i128u32 ... ok
test num::test_try_i128u64 ... ok
test num::test_try_i128u8 ... ok
test num::test_try_i128usize ... ok
test num::test_try_i16i128 ... ok
test num::test_try_i16i16 ... ok
test num::test_try_i16i32 ... ok
test num::test_try_i16i64 ... ok
test num::test_try_i16i8 ... ok
test num::test_try_i16isize ... ok
test num::test_try_i16u128 ... ok
test num::test_try_i16u16 ... ok
test num::test_try_i16u32 ... ok
test num::test_try_i16u64 ... ok
test num::test_try_i16u8 ... ok
test num::test_try_i16usize ... ok
test num::test_try_i32i128 ... ok
test num::test_try_i32i16 ... ok
test num::test_try_i32i32 ... ok
test num::test_try_i32i64 ... ok
test num::test_try_i32i8 ... ok
test num::test_try_i32isize ... ok
test num::test_try_i32u128 ... ok
test num::test_try_i32u16 ... ok
test num::test_try_i32u32 ... ok
test num::test_try_i32u64 ... ok
test num::test_try_i32u8 ... ok
test num::test_try_i32usize ... ok
test num::test_try_i64i128 ... ok
test num::test_try_i64i16 ... ok
test num::test_try_i64i32 ... ok
test num::test_try_i64i64 ... ok
test num::test_try_i64i8 ... ok
test num::test_try_i64isize ... ok
test num::test_try_i64u128 ... ok
test num::test_try_i64u16 ... ok
test num::test_try_i64u32 ... ok
test num::test_try_i64u64 ... ok
test num::test_try_i64u8 ... ok
test num::test_try_i64usize ... ok
test num::test_try_i8i128 ... ok
test num::test_try_i8i16 ... ok
test num::test_try_i8i32 ... ok
test num::test_try_i8i64 ... ok
test num::test_try_i8i8 ... ok
test num::test_try_i8isize ... ok
test num::test_try_i8u128 ... ok
test num::test_try_i8u16 ... ok
test num::test_try_i8u32 ... ok
test num::test_try_i8u64 ... ok
test num::test_try_i8u8 ... ok
test num::test_try_i8usize ... ok
test num::test_try_isizei128 ... ok
test num::test_try_isizei16 ... ok
test num::test_try_isizei32 ... ok
test num::test_try_isizei64 ... ok
test num::test_try_isizei8 ... ok
test num::test_try_isizeisize ... ok
test num::test_try_isizeu128 ... ok
test num::test_try_isizeu16 ... ok
test num::test_try_isizeu32 ... ok
test num::test_try_isizeu64 ... ok
test num::test_try_isizeu8 ... ok
test num::test_try_isizeusize ... ok
test num::test_try_u128i128 ... ok
test num::test_try_u128i16 ... ok
test num::test_try_u128i32 ... ok
test num::test_try_u128i64 ... ok
test num::test_try_u128i8 ... ok
test num::test_try_u128isize ... ok
test num::test_try_u128u128 ... ok
test num::test_try_u128u16 ... ok
test num::test_try_u128u32 ... ok
test num::test_try_u128u64 ... ok
test num::test_try_u128u8 ... ok
test num::test_try_u128usize ... ok
test num::test_try_u16i128 ... ok
test num::test_try_u16i16 ... ok
test num::test_try_u16i32 ... ok
test num::test_try_u16i64 ... ok
test num::test_try_u16isize ... ok
test num::test_try_u16i8 ... ok
test num::test_try_u16u128 ... ok
test num::test_try_u16u16 ... ok
test num::test_try_u16u32 ... ok
test num::test_try_u16u64 ... ok
test num::test_try_u16u8 ... ok
test num::test_try_u16usize ... ok
test num::test_try_u32i128 ... ok
test num::test_try_u32i16 ... ok
test num::test_try_u32i32 ... ok
test num::test_try_u32i64 ... ok
test num::test_try_u32i8 ... ok
test num::test_try_u32isize ... ok
test num::test_try_u32u128 ... ok
test num::test_try_u32u16 ... ok
test num::test_try_u32u32 ... ok
test num::test_try_u32u64 ... ok
test num::test_try_u32u8 ... ok
test num::test_try_u32usize ... ok
test num::test_try_u64i128 ... ok
test num::test_try_u64i16 ... ok
test num::test_try_u64i32 ... ok
test num::test_try_u64i64 ... ok
test num::test_try_u64i8 ... ok
test num::test_try_u64isize ... ok
test num::test_try_u64u128 ... ok
test num::test_try_u64u16 ... ok
test num::test_try_u64u32 ... ok
test num::test_try_u64u64 ... ok
test num::test_try_u64u8 ... ok
test num::test_try_u64usize ... ok
test num::test_try_u8i128 ... ok
test num::test_try_u8i16 ... ok
test num::test_try_u8i32 ... ok
test num::test_try_u8i64 ... ok
test num::flt2dec::random::exact_f32_random_equivalence_test ... ok
test num::test_try_u8i8 ... ok
test num::test_try_u8isize ... ok
test num::test_try_u8u128 ... ok
test num::test_try_u8u16 ... ok
test num::test_try_u8u32 ... ok
test num::test_try_u8u64 ... ok
test num::test_try_u8u8 ... ok
test num::test_try_u8usize ... ok
test num::test_try_usizei128 ... ok
test num::test_try_usizei16 ... ok
test num::test_try_usizei32 ... ok
test num::test_try_usizei64 ... ok
test num::test_try_usizei8 ... ok
test num::test_try_usizeisize ... ok
test num::test_try_usizeu16 ... ok
test num::test_try_usizeu32 ... ok
test num::test_try_usizeu64 ... ok
test num::test_try_usizeu8 ... ok
test num::test_try_usizeusize ... ok
test num::test_try_usizeu128 ... ok
test num::test_u16f32 ... ok
test num::test_u16f64 ... ok
test num::test_u16i32 ... ok
test num::test_u16i64 ... ok
test num::test_u16u32 ... ok
test num::test_u16u64 ... ok
test num::test_u32f64 ... ok
test num::test_u32i64 ... ok
test num::test_u32u64 ... ok
test num::test_u8f32 ... ok
test num::test_u8f64 ... ok
test num::test_u8i16 ... ok
test num::test_u8i32 ... ok
test num::test_u8i64 ... ok
test num::test_u8u16 ... ok
test num::test_u8u32 ... ok
test num::test_u8u64 ... ok
test num::test_u8usize ... ok
test num::u16::tests::test_be ... ok
test num::u16::tests::test_bitwise_operators ... ok
test num::u16::tests::test_count_ones ... ok
test num::u16::tests::test_count_zeros ... ok
test num::u16::tests::test_from_str ... ok
test num::u16::tests::test_le ... ok
test num::u16::tests::test_leading_trailing_ones ... ok
test num::u16::tests::test_num ... ok
test num::u16::tests::test_overflows ... ok
test num::u16::tests::test_parse_bytes ... ok
test num::u16::tests::test_reverse_bits ... ok
test num::u16::tests::test_rotate ... ok
test num::u16::tests::test_swap_bytes ... ok
test num::u32::tests::test_be ... ok
test num::u32::tests::test_bitwise_operators ... ok
test num::u16::tests::test_unsigned_checked_div ... ok
test num::u32::tests::test_count_ones ... ok
test num::u32::tests::test_count_zeros ... ok
test num::u32::tests::test_from_str ... ok
test num::u32::tests::test_le ... ok
test num::u32::tests::test_leading_trailing_ones ... ok
test num::u32::tests::test_num ... ok
test num::u32::tests::test_parse_bytes ... ok
test num::u32::tests::test_reverse_bits ... ok
test num::u32::tests::test_rotate ... ok
test num::u32::tests::test_overflows ... ok
test num::u32::tests::test_swap_bytes ... ok
test num::u32::tests::test_unsigned_checked_div ... ok
test num::u64::tests::test_be ... ok
test num::u64::tests::test_bitwise_operators ... ok
test num::u64::tests::test_count_ones ... ok
test num::u64::tests::test_count_zeros ... ok
test num::u64::tests::test_from_str ... ok
test num::u64::tests::test_le ... ok
test num::u64::tests::test_leading_trailing_ones ... ok
test num::u64::tests::test_num ... ok
test num::u64::tests::test_overflows ... ok
test num::u64::tests::test_parse_bytes ... ok
test num::u64::tests::test_reverse_bits ... ok
test num::u64::tests::test_rotate ... ok
test num::u64::tests::test_swap_bytes ... ok
test num::u64::tests::test_unsigned_checked_div ... ok
test num::u8::tests::test_be ... ok
test num::u8::tests::test_bitwise_operators ... ok
test num::u8::tests::test_count_ones ... ok
test num::u8::tests::test_count_zeros ... ok
test num::u8::tests::test_from_str ... ok
test num::u8::tests::test_le ... ok
test num::u8::tests::test_leading_trailing_ones ... ok
test num::u8::tests::test_num ... ok
test num::u8::tests::test_overflows ... ok
test num::u8::tests::test_parse_bytes ... ok
test num::u8::tests::test_reverse_bits ... ok
test num::u8::tests::test_rotate ... ok
test num::u8::tests::test_swap_bytes ... ok
test num::u8::tests::test_unsigned_checked_div ... ok
test ops::test_bound_cloned_excluded ... ok
test ops::test_bound_cloned_included ... ok
test ops::test_bound_cloned_unbounded ... ok
test ops::test_range ... ok
test ops::test_range_from ... ok
test ops::test_range_inclusive ... ok
test ops::test_full_range ... ok
test ops::test_range_is_empty ... ok
test ops::test_range_to ... ok
test option::test_and ... ok
test option::test_and_then ... ok
test option::test_cloned ... ok
test option::test_collect ... ok
test option::test_copied ... ok
test option::test_get_ptr ... ok
test option::test_get_resource ... ok
test option::test_get_str ... ok
test option::test_iter ... ok
test option::test_mut_iter ... ok
test option::test_option_as_deref ... ok
test option::test_option_as_deref_mut ... ok
test option::test_option_dance ... ok
test option::test_option_too_much_dance ... ok
test option::test_or ... ok
test option::test_or_else ... ok
test option::test_ord ... ok
test option::test_try ... ok
test option::test_unwrap ... ok
test option::test_replace ... ok
test option::test_unwrap_or ... ok
test option::test_unwrap_or_else ... ok
test option::test_unwrap_panic1 ... ok
test option::test_unwrap_panic2 ... ok
test pattern::double_ended_regression_test ... ok
test pattern::test_reverse_search_shared_bytes ... ok
test pattern::test_simple_iteration ... ok
test pattern::test_simple_search ... ok
test pattern::test_forward_search_shared_bytes ... ok
test pattern::test_stress_indices ... ok
test ptr::align_offset_stride1 ... ok
test ptr::align_offset_zst ... ok
test ptr::test ... ok
test ptr::test_as_mut ... ok
test ptr::test_as_ref ... ok
test ptr::test_const_from_raw_parts ... ok
test ptr::test_is_null ... ok
test ptr::test_ptr_addition ... ok
test ptr::test_ptr_subtraction ... ok
test ptr::test_set_memory ... ok
test ptr::test_unsized_nonnull ... ok
test ptr::test_variadic_fnptr ... ok
test ptr::write_unaligned_drop ... ok
test result::test_and ... ok
test result::test_and_then ... ok
test result::test_collect ... ok
test result::test_expect_err_err ... ok
test result::test_expect_err_ok ... ok
test result::test_expect_ok ... ok
test result::test_fmt_default ... ok
test result::test_impl_map ... ok
test result::test_impl_map_err ... ok
test result::test_into_ok ... ok
test result::test_iter ... ok
test result::test_iter_mut ... ok
test result::test_or ... ok
test result::test_or_else ... ok
test result::test_result_as_deref ... ok
test result::test_result_as_deref_mut ... ok
test result::test_expect_err ... ok
test result::test_try ... ok
test result::test_unwrap_or ... ok
test result::test_unwrap_or_default ... ok
test result::test_unwrap_or_else ... ok
test result::test_unwrap_or_else_panic ... ok
test slice::brute_force_rotate_test_1 ... ok
test slice::memchr::each_alignment_reversed ... ok
test slice::memchr::matches_begin ... ok
test slice::memchr::matches_begin_reversed ... ok
test slice::memchr::matches_end ... ok
test slice::memchr::matches_end_reversed ... ok
test slice::memchr::matches_nul ... ok
test slice::memchr::matches_nul_reversed ... ok
test slice::memchr::matches_one ... ok
test slice::memchr::matches_one_reversed ... ok
test slice::memchr::matches_past_nul ... ok
test slice::memchr::matches_past_nul_reversed ... ok
test slice::memchr::no_match ... ok
test slice::memchr::no_match_empty ... ok
test slice::memchr::no_match_empty_reversed ... ok
test slice::memchr::no_match_reversed ... ok
test slice::partition_at_index_past_length ... ok
test slice::partition_at_index_zero_length ... ok
test slice::slice_index::assert_range_eq_can_fail_by_inequality ... ok
test slice::slice_index::assert_range_eq_can_fail_by_panic ... ok
test slice::slice_index::range_len_len::index_fail ... ok
test slice::slice_index::range_len_len::index_mut_fail ... ok
test slice::slice_index::range_len_len::pass ... ok
test slice::slice_index::range_neg_width::index_fail ... ok
test slice::slice_index::range_neg_width::index_mut_fail ... ok
test slice::slice_index::range_neg_width::pass ... ok
test slice::slice_index::rangefrom_len::index_fail ... ok
test slice::slice_index::rangefrom_len::index_mut_fail ... ok
test slice::slice_index::rangefrom_len::pass ... ok
test slice::slice_index::rangeinclusive_len_len::index_fail ... ok
test slice::slice_index::rangeinclusive_len_len::index_mut_fail ... ok
test slice::slice_index::rangeinclusive_len_len::pass ... ok
test slice::slice_index::rangeinclusive_neg_width::index_fail ... ok
test slice::slice_index::rangeinclusive_neg_width::index_mut_fail ... ok
test slice::slice_index::rangeinclusive_neg_width::pass ... ok
test slice::slice_index::rangeinclusive_overflow::index_fail ... ok
test slice::slice_index::rangeinclusive_overflow::index_mut_fail ... ok
test slice::slice_index::rangeinclusive_overflow::pass ... ok
test slice::slice_index::rangeto_len::index_fail ... ok
test slice::slice_index::rangeto_len::index_mut_fail ... ok
test slice::slice_index::rangeto_len::pass ... ok
test slice::slice_index::rangetoinclusive_len::index_fail ... ok
test slice::slice_index::rangetoinclusive_len::index_mut_fail ... ok
test slice::slice_index::rangetoinclusive_len::pass ... ok
test slice::slice_index::rangetoinclusive_overflow::index_fail ... ok
test slice::slice_index::rangetoinclusive_overflow::index_mut_fail ... ok
test slice::slice_index::rangetoinclusive_overflow::pass ... ok
test slice::slice_index::simple ... ok
test slice::test_align_to_empty_mid ... ok
test slice::test_align_to_mut_aliasing ... ok
test slice::test_align_to_non_trivial ... ok
test slice::test_align_to_simple ... ok
test slice::test_align_to_zst ... ok
test slice::test_binary_search ... ok
test slice::test_binary_search_implementation_details ... ok
test slice::test_chunks_count ... ok
test slice::test_chunks_exact_count ... ok
test slice::test_chunks_exact_last ... ok
test slice::test_chunks_exact_mut_last ... ok
test slice::test_chunks_exact_mut_nth ... ok
test slice::test_chunks_exact_mut_nth_back ... ok
test slice::test_chunks_exact_mut_remainder ... ok
test slice::test_chunks_exact_mut_zip ... ok
test slice::test_chunks_exact_nth ... ok
test slice::test_chunks_exact_nth_back ... ok
test slice::test_chunks_exact_mut_count ... ok
test slice::test_chunks_exact_remainder ... ok
test slice::test_chunks_exact_zip ... ok
test slice::test_chunks_last ... ok
test slice::test_chunks_mut_count ... ok
test slice::test_chunks_mut_last ... ok
test slice::test_chunks_mut_nth ... ok
test slice::test_chunks_mut_nth_back ... ok
test slice::test_chunks_mut_zip ... ok
test slice::test_chunks_nth_back ... ok
test slice::test_chunks_zip ... ok
test slice::test_copy_within ... ok
test slice::test_copy_within_panics_dest_too_long ... ok
test slice::test_copy_within_panics_src_inverted ... ok
test slice::test_copy_within_panics_src_out_of_bounds ... ok
test slice::test_copy_within_panics_src_too_long ... ok
test slice::test_find_rfind ... ok
test slice::test_is_sorted ... ok
test slice::test_iter_folds ... ok
test slice::test_iter_ref_consistency ... ok
test slice::test_iterator_count ... ok
test slice::test_iterator_last ... ok
test slice::test_iterator_nth ... ok
test slice::test_chunks_nth ... ok
test slice::test_partition_point ... ok
test slice::test_iterator_nth_back ... ok
test slice::test_position ... ok
test slice::test_rchunks_count ... ok
test slice::test_rchunks_exact_mut_count ... ok
test slice::test_rchunks_exact_count ... ok
test slice::test_rchunks_exact_last ... ok
test slice::test_rchunks_exact_mut_last ... ok
test slice::test_rchunks_exact_mut_nth ... ok
test slice::test_rchunks_exact_mut_nth_back ... ok
test slice::test_rchunks_exact_mut_remainder ... ok
test slice::test_rchunks_exact_mut_zip ... ok
test slice::test_rchunks_exact_nth ... ok
test slice::test_rchunks_exact_nth_back ... ok
test slice::test_rchunks_exact_remainder ... ok
test slice::test_rchunks_exact_zip ... ok
test slice::test_rchunks_last ... ok
test slice::test_rchunks_mut_count ... ok
test slice::test_rchunks_mut_last ... ok
test slice::test_rchunks_mut_nth ... ok
test slice::test_rchunks_mut_nth_back ... ok
test slice::test_rchunks_mut_zip ... ok
test slice::test_rchunks_nth ... ok
test slice::test_rchunks_nth_back ... ok
test slice::test_rchunks_zip ... ok
test slice::test_rotate_left ... ok
test slice::test_rotate_right ... ok
test slice::test_rposition ... ok
test slice::test_slice_partition_dedup_by ... ok
test slice::test_slice_partition_dedup_empty ... ok
test slice::test_slice_partition_dedup_multiple_ident ... ok
test slice::test_slice_partition_dedup_one ... ok
test slice::test_windows_last ... ok
test slice::test_windows_nth ... ok
test slice::test_slice_partition_dedup_partialeq ... ok
test slice::test_windows_count ... ok
test slice::test_windows_nth_back ... ok
test slice::test_windows_zip ... ok
test str_lossy::chunks ... ok
test str_lossy::debug ... ok
test str_lossy::display ... ok
test time::add ... ok
test time::checked_add ... ok
test time::checked_div ... ok
test time::checked_sub ... ok
test time::checked_mul ... ok
test time::correct_sum ... ok
test time::creation ... ok
test time::debug_formatting_extreme_values ... ok
test time::debug_formatting_micros ... ok
test time::debug_formatting_millis ... ok
test time::debug_formatting_nanos ... ok
test time::debug_formatting_precision_high ... ok
test time::debug_formatting_precision_two ... ok
test time::debug_formatting_precision_zero ... ok
test time::div ... ok
test time::debug_formatting_secs ... ok
test time::micros ... ok
test time::millis ... ok
test time::mul ... ok
test time::nanos ... ok
test time::new_overflow ... ok
test time::secs ... ok
test time::sub ... ok
test time::sub_bad1 ... ok
test time::sub_bad2 ... ok
test num::flt2dec::random::exact_f64_random_equivalence_test ... ok
test tuple::test_clone ... ok
test tuple::test_ord ... ok
test tuple::test_partial_eq ... ok
test tuple::test_partial_ord ... ok
test tuple::test_show ... ok
test ptr::align_offset_weird_strides ... ok
test num::flt2dec::random::shortest_random_equivalence_test ... ok
test slice::brute_force_rotate_test_0 ... ok
test num::flt2dec::strategy::grisu::exact_sanity_test ... ok
test num::flt2dec::strategy::dragon::exact_sanity_test ... ok
test slice::sort_unstable ... ok
test slice::partition_at_index ... ok

test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/corebenches-6dc714481a35aed8
uploaded "/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-std/aarch64-poky-linux/release/deps/corebenches-6dc714481a35aed8", waiting for result

running 277 tests
test any::bench_downcast_ref ... ok
test ascii::is_ascii::long::case00_libcore ... ok
test ascii::is_ascii::long::case01_iter_all ... ok
test ascii::is_ascii::long::case03_align_to_unrolled ... ok
test ascii::is_ascii::long::case02_align_to ... ok
test ascii::is_ascii::medium::case00_libcore ... ok
test ascii::is_ascii::medium::case01_iter_all ... ok
test ascii::is_ascii::medium::case02_align_to ... ok
test ascii::is_ascii::medium::case03_align_to_unrolled ... ok
test ascii::is_ascii::short::case01_iter_all ... ok
test ascii::is_ascii::unaligned_both::case00_libcore ... ok
test ascii::is_ascii::short::case00_libcore ... ok
test ascii::is_ascii::short::case03_align_to_unrolled ... ok
test ascii::is_ascii::short::case02_align_to ... ok
test ascii::is_ascii::unaligned_both::case01_iter_all ... ok
test ascii::is_ascii::unaligned_both::case03_align_to_unrolled ... ok
test ascii::is_ascii::unaligned_both::case02_align_to ... ok
test ascii::is_ascii::unaligned_head::case02_align_to ... ok
test ascii::is_ascii::unaligned_head::case01_iter_all ... ok
test ascii::is_ascii::unaligned_head::case03_align_to_unrolled ... ok
test ascii::is_ascii::unaligned_tail::case00_libcore ... ok
test ascii::is_ascii::unaligned_head::case00_libcore ... ok
test ascii::is_ascii::unaligned_tail::case02_align_to ... ok
test ascii::is_ascii::unaligned_tail::case01_iter_all ... ok
test ascii::is_ascii::unaligned_tail::case03_align_to_unrolled ... ok
test ascii::long::case00_alloc_only ... ok
test ascii::long::case01_black_box_read_each_byte ... ok
test ascii::long::case02_lookup_table ... ok
test ascii::long::case04_branch_and_mask ... ok
test ascii::long::case05_branchless ... ok
test ascii::long::case06_libcore ... ok
test ascii::long::case03_branch_and_subtract ... ok
test ascii::long::case07_fake_simd_u32 ... ok
test ascii::long::case08_fake_simd_u64 ... ok
test ascii::long::case09_mask_mult_bool_branchy_lookup_table ... ok
test ascii::long::case10_mask_mult_bool_lookup_table ... ok
test ascii::long::case11_mask_mult_bool_match_range ... ok
test ascii::long::case14_subtract_multiplied_bool_match_range ... ok
test ascii::long::case12_mask_shifted_bool_match_range ... ok
test ascii::long::case13_subtract_shifted_bool_match_range ... ok
test ascii::long::is_ascii ... ok
test ascii::long::is_ascii_alphanumeric ... ok
test ascii::long::is_ascii_control ... ok
test ascii::long::is_ascii_digit ... ok
test ascii::long::is_ascii_alphabetic ... ok
test ascii::long::is_ascii_graphic ... ok
test ascii::long::is_ascii_lowercase ... ok
test ascii::long::is_ascii_hexdigit ... ok
test ascii::long::is_ascii_punctuation ... ok
test ascii::medium::case00_alloc_only ... ok
test ascii::long::is_ascii_whitespace ... ok
test ascii::medium::case01_black_box_read_each_byte ... ok
test ascii::long::is_ascii_uppercase ... ok
test ascii::medium::case02_lookup_table ... ok
test ascii::medium::case04_branch_and_mask ... ok
test ascii::medium::case03_branch_and_subtract ... ok
test ascii::medium::case07_fake_simd_u32 ... ok
test ascii::medium::case06_libcore ... ok
test ascii::medium::case08_fake_simd_u64 ... ok
test ascii::medium::case09_mask_mult_bool_branchy_lookup_table ... ok
test ascii::medium::case05_branchless ... ok
test ascii::medium::case10_mask_mult_bool_lookup_table ... ok
test ascii::medium::case12_mask_shifted_bool_match_range ... ok
test ascii::medium::case11_mask_mult_bool_match_range ... ok
test ascii::medium::case13_subtract_shifted_bool_match_range ... ok
test ascii::medium::case14_subtract_multiplied_bool_match_range ... ok
test ascii::medium::is_ascii ... ok
test ascii::medium::is_ascii_control ... ok
test ascii::medium::is_ascii_alphanumeric ... ok
test ascii::medium::is_ascii_alphabetic ... ok
test ascii::medium::is_ascii_digit ... ok
test ascii::medium::is_ascii_graphic ... ok
test ascii::medium::is_ascii_hexdigit ... ok
test ascii::medium::is_ascii_lowercase ... ok
test ascii::medium::is_ascii_uppercase ... ok
test ascii::medium::is_ascii_punctuation ... ok
test ascii::short::case01_black_box_read_each_byte ... ok
test ascii::short::case00_alloc_only ... ok
test ascii::short::case02_lookup_table ... ok
test ascii::medium::is_ascii_whitespace ... ok
test ascii::short::case03_branch_and_subtract ... ok
test ascii::short::case04_branch_and_mask ... ok
test ascii::short::case06_libcore ... ok
test ascii::short::case07_fake_simd_u32 ... ok
test ascii::short::case08_fake_simd_u64 ... ok
test ascii::short::case09_mask_mult_bool_branchy_lookup_table ... ok
test ascii::short::case05_branchless ... ok
test ascii::short::case10_mask_mult_bool_lookup_table ... ok
test ascii::short::case11_mask_mult_bool_match_range ... ok
test ascii::short::case12_mask_shifted_bool_match_range ... ok
test ascii::short::is_ascii ... ok
test ascii::short::is_ascii_alphabetic ... ok
test ascii::short::case14_subtract_multiplied_bool_match_range ... ok
test ascii::short::is_ascii_alphanumeric ... ok
test ascii::short::case13_subtract_shifted_bool_match_range ... ok
test ascii::short::is_ascii_control ... ok
test ascii::short::is_ascii_digit ... ok
test ascii::short::is_ascii_lowercase ... ok
test ascii::short::is_ascii_hexdigit ... ok
test ascii::short::is_ascii_punctuation ... ok
test ascii::short::is_ascii_uppercase ... ok
test ascii::short::is_ascii_graphic ... ok
test char::methods::bench_to_digit_radix_10 ... ok
test ascii::short::is_ascii_whitespace ... ok
test char::methods::bench_to_digit_radix_2 ... ok
test char::methods::bench_to_digit_radix_16 ... ok
test fmt::write_str_macro1 ... ok
test char::methods::bench_to_digit_radix_var ... ok
test fmt::write_str_macro2 ... ok
test char::methods::bench_to_digit_radix_36 ... ok
test fmt::write_str_ref ... ok
test fmt::write_str_value ... ok
test fmt::write_vec_macro1 ... ok
test fmt::write_vec_macro2 ... ok
test fmt::write_str_macro_debug ... ok
test fmt::write_vec_macro_debug ... ok
test hash::sip::bench_bytes_7 ... ok
test hash::sip::bench_bytes_4 ... ok
test fmt::write_vec_value ... ok
test hash::sip::bench_bytes_8 ... ok
test fmt::write_vec_ref ... ok
test hash::sip::bench_bytes_a_16 ... ok
test hash::sip::bench_bytes_b_32 ... ok
test hash::sip::bench_bytes_c_128 ... ok
test hash::sip::bench_str_of_8_bytes ... ok
test hash::sip::bench_str_over_8_bytes ... ok
test hash::sip::bench_str_under_8_bytes ... ok
test hash::sip::bench_u32 ... ok
test hash::sip::bench_long_str ... ok
test hash::sip::bench_u64 ... ok
test hash::sip::bench_u32_keyed ... ok
test iter::bench_cycle_take_sum ... ok
test iter::bench_cycle_take_ref_sum ... ok
test iter::bench_enumerate_ref_sum ... ok
test iter::bench_enumerate_sum ... ok
test iter::bench_filter_count ... ok
test iter::bench_filter_chain_count ... ok
test iter::bench_enumerate_chain_ref_sum ... ok
test iter::bench_filter_map_sum ... ok
test iter::bench_filter_map_ref_sum ... ok
test iter::bench_filter_chain_ref_count ... ok
test iter::bench_filter_chain_sum ... ok
test iter::bench_flat_map_sum ... ok
test iter::bench_filter_map_chain_sum ... ok
test iter::bench_fuse_ref_sum ... ok
test iter::bench_fuse_sum ... ok
test iter::bench_max ... ok
test iter::bench_max_by_key ... ok
test iter::bench_for_each_chain_loop ... ok
test iter::bench_for_each_chain_fold ... ok
test iter::bench_max_by_key2 ... ok
test iter::bench_multiple_take ... ok
test iter::bench_fuse_chain_sum ... ok
test iter::bench_inspect_chain_sum ... ok
test iter::bench_rposition ... ok
test iter::bench_inspect_chain_ref_sum ... ok
test iter::bench_peekable_ref_sum ... ok
test iter::bench_peekable_sum ... ok
test iter::bench_skip_while ... ok
test iter::bench_skip_ref_sum ... ok
test iter::bench_peekable_chain_sum ... ok
test iter::bench_skip_sum ... ok
test iter::bench_skip_chain_sum ... ok
test num::bench_i16_from_str ... ok
test num::bench_i16_from_str_radix_10 ... ok
test iter::bench_filter_chain_ref_sum ... ok
test iter::bench_zip_add ... ok
test iter::bench_zip_copy ... ok
test num::bench_i16_from_str_radix_16 ... ok
test num::bench_i16_from_str_radix_2 ... ok
test num::bench_i16_from_str_radix_36 ... ok
test num::bench_i32_from_str ... ok
test iter::bench_flat_map_chain_sum ... ok
test iter::bench_skip_then_zip ... ok
test iter::bench_zip_then_skip ... ok
test num::bench_i32_from_str_radix_10 ... ok
test num::bench_i32_from_str_radix_16 ... ok
test num::bench_i32_from_str_radix_2 ... ok
test num::bench_i32_from_str_radix_36 ... ok
test num::bench_i64_from_str_radix_10 ... ok
test num::bench_i64_from_str ... ok
test num::bench_i64_from_str_radix_16 ... ok
test num::bench_i64_from_str_radix_2 ... ok
test num::bench_i64_from_str_radix_36 ... ok
test num::bench_i8_from_str ... ok
test num::bench_i8_from_str_radix_10 ... ok
test num::bench_i8_from_str_radix_16 ... ok
test num::bench_i8_from_str_radix_2 ... ok
test num::bench_i8_from_str_radix_36 ... ok
test num::bench_u16_from_str ... ok
test num::bench_u16_from_str_radix_10 ... ok
test num::bench_u16_from_str_radix_16 ... ok
test num::bench_u16_from_str_radix_2 ... ok
test num::bench_u16_from_str_radix_36 ... ok
test num::bench_u32_from_str ... ok
test iter::bench_filter_map_chain_ref_sum ... ok
test num::bench_u32_from_str_radix_10 ... ok
test num::bench_u32_from_str_radix_16 ... ok
test num::bench_u32_from_str_radix_2 ... ok
test num::bench_u32_from_str_radix_36 ... ok
test num::bench_u64_from_str ... ok
test num::bench_u64_from_str_radix_10 ... ok
test num::bench_u64_from_str_radix_16 ... ok
test num::bench_u64_from_str_radix_2 ... ok
test num::bench_u64_from_str_radix_36 ... ok
test num::bench_u8_from_str ... ok
test num::bench_u8_from_str_radix_10 ... ok
test num::bench_u8_from_str_radix_16 ... ok
test num::bench_u8_from_str_radix_2 ... ok
test num::bench_u8_from_str_radix_36 ... ok
test num::dec2flt::bench_0 ... ok
test num::dec2flt::bench_1e150 ... ok
test num::dec2flt::bench_42 ... ok
test num::dec2flt::bench_huge_int ... ok
test num::dec2flt::bench_long_decimal_and_exp ... ok
test num::dec2flt::bench_min_normal ... ok
test iter::bench_skip_while_chain_ref_sum ... ok
test num::dec2flt::bench_min_subnormal ... ok
test iter::bench_flat_map_chain_ref_sum ... ok
test num::dec2flt::bench_max ... ok
test num::dec2flt::bench_pi_long ... ok
test num::dec2flt::bench_pi_short ... ok
test num::dec2flt::bench_short_decimal ... ok
test iter::bench_skip_chain_ref_sum ... ok
test num::flt2dec::bench_big_shortest ... ok
test num::flt2dec::bench_small_shortest ... ok
test num::flt2dec::strategy::dragon::bench_big_exact_12 ... ok
test num::flt2dec::strategy::dragon::bench_big_exact_3 ... ok
test num::flt2dec::strategy::dragon::bench_big_exact_inf ... ok
test iter::bench_filter_sum ... ok
test iter::bench_lt ... ok
test num::flt2dec::strategy::dragon::bench_big_shortest ... ok
test num::flt2dec::strategy::dragon::bench_small_exact_12 ... ok
test num::flt2dec::strategy::dragon::bench_small_exact_3 ... ok
test num::flt2dec::strategy::dragon::bench_small_exact_inf ... ok
test num::flt2dec::strategy::dragon::bench_small_shortest ... ok
test num::flt2dec::strategy::grisu::bench_big_exact_12 ... ok
test num::flt2dec::strategy::grisu::bench_big_exact_3 ... ok
test num::flt2dec::strategy::grisu::bench_big_exact_inf ... ok
test num::flt2dec::strategy::grisu::bench_big_shortest ... ok
test num::flt2dec::strategy::grisu::bench_small_exact_12 ... ok
test num::flt2dec::strategy::grisu::bench_small_exact_3 ... ok
test num::flt2dec::strategy::grisu::bench_small_exact_inf ... ok
test num::flt2dec::strategy::grisu::bench_small_shortest ... ok
test ops::alloc_obj_with_dtor ... ok
test pattern::ends_with_char ... ok
test pattern::ends_with_str ... ok
test pattern::starts_with_char ... ok
test pattern::starts_with_str ... ok
test slice::binary_search_l1 ... ok
test slice::binary_search_l1_with_dups ... ok
test iter::bench_partial_cmp ... ok
test slice::binary_search_l2 ... ok
test slice::binary_search_l2_with_dups ... ok
test slice::rotate_16_usize_4 ... ok
test slice::rotate_16_usize_5 ... ok
test slice::rotate_64_usize_4 ... ok
test slice::rotate_64_usize_5 ... ok
test slice::rotate_rgb ... ok
test slice::rotate_u8 ... ok
test slice::rotate_usize ... ok
test iter::bench_filter_ref_sum ... ok
test slice::binary_search_l3 ... ok
test slice::binary_search_l3_with_dups ... ok
test iter::bench_skip_while_sum ... ok
test iter::bench_inspect_sum ... ok
test iter::bench_inspect_ref_sum ... ok
test iter::bench_take_while_chain_ref_sum ... ok
test iter::bench_filter_ref_count ... ok
test iter::bench_skip_while_ref_sum ... ok
test iter::bench_enumerate_chain_sum ... ok
test iter::bench_take_while_chain_sum ... ok
test iter::bench_peekable_chain_ref_sum ... ok
test iter::bench_for_each_chain_ref_fold ... ok
test iter::bench_fuse_chain_ref_sum ... ok
test iter::bench_skip_while_chain_sum ... ok
test iter::bench_flat_map_ref_sum ... ok

test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 81.095
Testing panic_abort stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
    Finished release [optimized] target(s) in 0.26s
	finished in 0.281
Testing panic_unwind stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
    Finished release [optimized] target(s) in 0.22s
	finished in 0.243
Testing proc_macro stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   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)
    Finished release [optimized] target(s) in 1.89s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/proc_macro-ce5228d6c7dcf29a
uploaded "/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-std/aarch64-poky-linux/release/deps/proc_macro-ce5228d6c7dcf29a", waiting for result

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/test-5d5dc051718073cd
uploaded "/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-std/aarch64-poky-linux/release/deps/test-5d5dc051718073cd", waiting for result

running 1 test
test test_line_column_ord ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 2.162
Testing std stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   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)
    Finished release [optimized] target(s) in 34.42s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/std-460c7a99d3569484
uploaded "/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-std/aarch64-poky-linux/release/deps/std-460c7a99d3569484", waiting for result

running 777 tests
test collections::hash::map::test_map::test_conflict_remove ... ok
test collections::hash::map::test_map::test_clone ... ok
test collections::hash::map::test_map::test_create_capacity_zero ... ok
test collections::hash::map::test_map::test_drops ... ok
test collections::hash::map::test_map::test_capacity_not_less_than_len ... ok
test collections::hash::map::test_map::test_empty_entry ... ok
test collections::hash::map::test_map::test_empty_iter ... ok
test collections::hash::map::test_map::test_empty_remove ... ok
test collections::hash::map::test_map::test_entry ... ok
test collections::hash::map::test_map::test_eq ... ok
test collections::hash::map::test_map::test_extend_ref ... ok
test collections::hash::map::test_map::test_find ... ok
test backtrace::test_debug ... ok
test collections::hash::map::test_map::test_find_mut ... ok
test collections::hash::map::test_map::test_from_iter ... ok
test collections::hash::map::test_map::test_entry_take_doesnt_corrupt ... ok
test collections::hash::map::test_map::test_index ... ok
test collections::hash::map::test_map::test_insert ... ok
test collections::hash::map::test_map::test_insert_conflicts ... ok
test collections::hash::map::test_map::test_insert_overwrite ... ok
test collections::hash::map::test_map::test_into_iter_drops ... ok
test collections::hash::map::test_map::test_keys ... ok
test collections::hash::map::test_map::test_iterate ... ok
test collections::hash::map::test_map::test_mut_size_hint ... ok
test collections::hash::map::test_map::test_iter_mut_len ... ok
test collections::hash::map::test_map::test_occupied_entry_key ... ok
test collections::hash::map::test_map::test_iter_len ... ok
test collections::hash::map::test_map::test_is_empty ... ok
test collections::hash::map::test_map::test_remove ... ok
test collections::hash::map::test_map::test_remove_entry ... ok
test collections::hash::map::test_map::test_reserve_shrink_to_fit ... ok
test collections::hash::map::test_map::test_retain ... ok
test collections::hash::map::test_map::test_show ... ok
test collections::hash::map::test_map::test_size_hint ... ok
test collections::hash::map::test_map::test_raw_entry ... ok
test collections::hash::map::test_map::test_try_reserve ... ok
test collections::hash::map::test_map::test_vacant_entry_key ... ok
test collections::hash::map::test_map::test_values ... ok
test collections::hash::map::test_map::test_values_mut ... ok
test collections::hash::map::test_map::test_zero_capacities ... ok
test collections::hash::set::test_set::test_difference ... ok
test collections::hash::map::test_map::test_index_nonexistent ... ok
test collections::hash::set::test_set::test_disjoint ... ok
test collections::hash::set::test_set::test_intersection ... ok
test collections::hash::set::test_set::test_iterate ... ok
test collections::hash::set::test_set::test_move_iter ... ok
test collections::hash::set::test_set::test_from_iter ... ok
test collections::hash::set::test_set::test_replace ... ok
test collections::hash::set::test_set::test_retain ... ok
test collections::hash::set::test_set::test_extend_ref ... ok
test collections::hash::set::test_set::test_show ... ok
test collections::hash::set::test_set::test_eq ... ok
test collections::hash::set::test_set::test_subset_and_superset ... ok
test collections::hash::set::test_set::test_symmetric_difference ... ok
test collections::hash::set::test_set::test_trivial_drain ... ok
test collections::hash::set::test_set::test_union ... ok
test collections::hash::set::test_set::test_zero_capacities ... ok
test env::tests::args_debug ... ok
test env::tests::join_paths_unix ... ok
test env::tests::split_paths_unix ... ok
test env::tests::test ... ok
test env::tests::test_self_exe_path ... ok
test error::tests::downcasting ... ok
test f32::tests::test_abs ... ok
test f32::tests::test_acosh ... ok
test f32::tests::test_asinh ... ok
test collections::hash::set::test_set::test_drain ... ok
test f32::tests::test_atanh ... ok
test f32::tests::test_classify ... ok
test f32::tests::test_exp ... thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/buffered.rs:1531:17
ok
test f32::tests::test_clamp_min_is_nan ... ok
test f32::tests::test_clamp_min_greater_than_max ... ok
test f32::tests::test_exp2 ... ok
test f32::tests::test_clamp_max_is_nan ... ok
test f32::tests::test_float_bits_conv ... ok
test f32::tests::test_floor ... ok
test f32::tests::test_is_nan ... ok
test f32::tests::test_infinity ... ok
test f32::tests::test_fract ... ok
test f32::tests::test_is_finite ... ok
test f32::tests::test_is_infinite ... ok
test f32::tests::test_is_normal ... ok
test f32::tests::test_ceil ... ok
test f32::tests::test_is_sign_negative ... ok
test f32::tests::test_is_sign_positive ... ok
test f32::tests::test_ln ... ok
test f32::tests::test_min_nan ... ok
test f32::tests::test_max_nan ... ok
test f32::tests::test_mul_add ... ok
test f32::tests::test_log2 ... ok
test f32::tests::test_nan ... ok
test f32::tests::test_neg_infinity ... ok
test f32::tests::test_log10 ... ok
test f32::tests::test_neg_zero ... ok
test f32::tests::test_num_f32 ... ok
test f32::tests::test_log ... ok
test f32::tests::test_real_consts ... ok
test f32::tests::test_recip ... ok
test f32::tests::test_round ... ok
test f32::tests::test_one ... ok
test f32::tests::test_powf ... ok
test f32::tests::test_powi ... ok
test f32::tests::test_signum ... ok
test f32::tests::test_sqrt_domain ... ok
test f32::tests::test_to_degrees ... ok
test f32::tests::test_to_radians ... ok
test f32::tests::test_total_cmp ... ok
test f32::tests::test_trunc ... ok
test f32::tests::test_zero ... ok
test f64::tests::test_abs ... ok
test f64::tests::test_acosh ... ok
test f64::tests::test_asinh ... ok
test f64::tests::test_atanh ... ok
test f64::tests::test_ceil ... ok
test f64::tests::test_clamp_max_is_nan ... ok
thread 'test f64::tests::test_clamp_min_greater_than_max ... ok
test f64::tests::test_clamp_min_is_nan ... ok
test f64::tests::test_floor ... ok
test f64::tests::test_fract ... <unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:1021:13
ok
test f64::tests::test_infinity ... ok
test f64::tests::test_float_bits_conv ... ok
test f64::tests::test_is_finite ... ok
test f64::tests::test_exp2 ... ok
test f64::tests::test_is_infinite ... ok
test f64::tests::test_exp ... ok
test f64::tests::test_is_nan ... ok
test f64::tests::test_is_normal ... ok
test f64::tests::test_classify ... ok
test f64::tests::test_is_sign_negative ... ok
test f64::tests::test_is_sign_positive ... ok
test f64::tests::test_ln ... ok
test f64::tests::test_log ... ok
test f64::tests::test_log10 ... ok
test f64::tests::test_log2 ... ok
test f64::tests::test_max_nan ... ok
test f64::tests::test_min_nan ... ok
test f64::tests::test_mul_add ... ok
test f64::tests::test_nan ... ok
test f64::tests::test_neg_infinity ... ok
test f64::tests::test_neg_zero ... ok
test f64::tests::test_num_f64 ... ok
test f64::tests::test_one ... ok
test f64::tests::test_signum ... ok
test f64::tests::test_sqrt_domain ... ok
test f64::tests::test_round ... ok
test f64::tests::test_to_degrees ... ok
test f64::tests::test_recip ... ok
test f64::tests::test_to_radians ... ok
test f64::tests::test_real_consts ... ok
test f64::tests::test_total_cmp ... ok
test f64::tests::test_trunc ... ok
test f64::tests::test_zero ... ok
test f64::tests::test_powi ... ok
test ffi::c_str::tests::borrowed ... ok
test ffi::c_str::tests::boxed_default ... ok
test ffi::c_str::tests::build_with_zero1 ... ok
test f64::tests::test_powf ... ok
test ffi::c_str::tests::equal_hash ... ok
test ffi::c_str::tests::formatted ... ok
test ffi::c_str::tests::from_bytes_with_nul ... ok
test ffi::c_str::tests::from_bytes_with_nul_interior ... ok
test ffi::c_str::tests::cstr_const_constructor ... ok
test ffi::c_str::tests::from_bytes_with_nul_unterminated ... ok
test ffi::c_str::tests::c_to_rust ... ok
test ffi::c_str::tests::into_boxed ... ok
test ffi::c_str::tests::build_with_zero3 ... ok
test ffi::c_str::tests::into_rc ... ok
test ffi::c_str::tests::simple ... ok
test ffi::c_str::tests::build_with_zero2 ... ok
test ffi::c_str::tests::test_c_str_clone_into ... ok
test ffi::c_str::tests::to_owned ... ok
test ffi::c_str::tests::to_str ... ok
test ffi::os_str::tests::boxed_default ... ok
test ffi::os_str::tests::into_boxed ... ok
test ffi::os_str::tests::into_rc ... ok
test ffi::os_str::tests::test_os_str_clone_into ... ok
test ffi::os_str::tests::test_os_str_default ... ok
test ffi::os_str::tests::test_os_str_is_empty ... ok
test ffi::os_str::tests::test_os_str_len ... ok
test ffi::os_str::tests::test_os_string_capacity ... ok
test ffi::os_str::tests::test_os_string_clear ... ok
test fs::tests::_assert_send_sync ... ok
test ffi::os_str::tests::test_os_string_with_capacity ... ok
test ffi::os_str::tests::test_os_string_reserve_exact ... ok
test ffi::os_str::tests::test_os_string_reserve ... ok
test fs::tests::chmod_works ... ok
test ffi::os_str::tests::test_os_string_default ... ok
test fs::tests::copy_file_does_not_exist ... ok
test fs::tests::canonicalize_works_simple ... ok
test fs::tests::binary_file ... ok
test fs::tests::copy_file_dst_dir ... ok
test fs::tests::copy_file_dst_exists ... ok
test fs::tests::copy_file_ok ... ok
test fs::tests::copy_file_returns_metadata_len ... ok
test fs::tests::copy_file_src_dir ... ok
test fs::tests::copy_src_does_not_exist ... ok
test fs::tests::dir_entry_debug ... ok
test fs::tests::copy_file_preserves_perm_bits ... ok
test fs::tests::dir_entry_methods ... ok
test fs::tests::fchmod_works ... ok
test fs::tests::file_create_new_already_exists_error ... ok
test fs::tests::create_dir_all_with_junctions ... ok
test fs::tests::file_test_directoryinfo_check_exists_before_and_after_mkdir ... ok
test fs::tests::file_test_fileinfo_false_when_checking_is_file_on_a_directory ... ok
test fs::tests::file_test_fileinfo_check_exists_before_and_after_file_creation ... ok
test fs::tests::copy_file_follows_dst_symlink ... ok
test fs::tests::file_test_io_eof ... ok
test fs::tests::file_test_io_non_positional_read ... ok
test fs::tests::file_test_directoryinfo_readdir ... ok
test fs::tests::file_test_io_seek_and_write ... ok
test fs::tests::file_test_io_seek_shakedown ... ok
test fs::tests::file_test_io_seek_and_tell_smoke_test ... ok
test fs::tests::file_test_iounlinking_invalid_path_should_raise_condition ... ok
test fs::tests::file_test_io_read_write_at ... ok
test fs::tests::file_test_stat_is_correct_on_is_dir ... ok
test fs::tests::file_test_stat_is_correct_on_is_file ... ok
test fs::tests::file_test_io_smoke_test ... ok
test fs::tests::file_try_clone ... ok
test fs::tests::invalid_path_raises ... ok
test fs::tests::links_work ... ok
test fs::tests::metadata_access_times ... ok
test fs::tests::mkdir_path_already_exists_error ... ok
test fs::tests::mkdir_trailing_slash ... ok
test fs::tests::read_dir_not_found ... ok
test fs::tests::read_link ... ok
test fs::tests::readlink_not_symlink ... ok
test fs::tests::realpath_works ... ok
test fs::tests::recursive_mkdir ... ok
test fs::tests::recursive_mkdir_dot ... ok
test fs::tests::recursive_mkdir_empty ... ok
test fs::tests::recursive_mkdir_failure ... ok
test fs::tests::recursive_mkdir_slash ... ok
test fs::tests::recursive_rmdir_of_symlink ... ok
test fs::tests::realpath_works_tricky ... ok
test fs::tests::set_get_unix_permissions ... ok
test fs::tests::symlink_noexist ... ok
test fs::tests::symlinks_work ... ok
test fs::tests::truncate_works ... ok
test fs::tests::sync_doesnt_kill_anything ... ok
test fs::tests::recursive_rmdir ... ok
test fs::tests::unicode_path_exists ... ok
test fs::tests::unicode_path_is_dir ... ok
test fs::tests::unlink_readonly ... ok
test fs::tests::open_flavors ... ok
test io::buffered::tests::bench_buffered_reader ... ok
test io::buffered::tests::bench_buffered_writer ... ok
test io::buffered::tests::dont_panic_in_drop_on_panicked_flush ... ok
test io::buffered::tests::erroneous_flush_retried ... ok
test io::buffered::tests::line_vectored ... ok
test io::buffered::tests::line_vectored_partial_and_errors ... ok
test io::buffered::tests::test_buffered_reader ... ok
test io::buffered::tests::test_buffered_reader_invalidated_after_read ... ok
test io::buffered::tests::test_buffered_reader_invalidated_after_seek ... ok
test fs::tests::write_then_read ... ok
test io::buffered::tests::test_buffered_reader_seek ... ok
test io::buffered::tests::test_buffered_reader_seek_relative ... ok
test io::buffered::tests::test_buffered_reader_seek_underflow ... ok
test io::buffered::tests::test_buffered_reader_seek_underflow_discard_buffer_between_seeks ... ok
test io::buffered::tests::panic_in_write_doesnt_flush_in_drop ... ok
test io::buffered::tests::test_buffered_writer ... ok
test io::buffered::tests::test_line_buffer ... ok
test io::buffered::tests::test_line_buffer_fail_flush ... ok
test io::buffered::tests::test_lines ... ok
test io::buffered::tests::test_buffered_writer_seek ... ok
test io::buffered::tests::test_buffered_writer_inner_flushes ... ok
test io::buffered::tests::test_read_line ... ok
test io::buffered::tests::test_read_until ... ok
test io::cursor::tests::read_to_end ... ok
test io::cursor::tests::seek_before_0 ... ok
test io::buffered::tests::test_short_reads ... ok
test io::cursor::tests::seek_past_end ... ok
test io::cursor::tests::seek_past_i64 ... ok
test io::cursor::tests::test_box_slice_writer ... ok
test io::cursor::tests::test_box_slice_writer_vectored ... ok
test io::cursor::tests::test_boxed_slice_reader ... ok
test io::cursor::tests::test_boxed_slice_reader_vectored ... ok
test io::cursor::tests::test_buf_reader ... ok
test io::cursor::tests::test_buf_writer ... ok
test io::cursor::tests::test_buf_writer_error ... ok
test io::cursor::tests::test_buf_writer_vectored ... ok
test io::cursor::tests::test_eq ... ok
test io::cursor::tests::test_buf_writer_seek ... ok
test io::cursor::tests::test_mem_mut_writer ... ok
test io::cursor::tests::test_mem_reader ... ok
test io::cursor::tests::test_mem_reader_vectored ... ok
test io::cursor::tests::test_mem_writer ... ok
test io::cursor::tests::test_partial_eq ... ok
test io::cursor::tests::test_read_exact ... ok
test io::cursor::tests::test_seekable_mem_writer ... ok
test io::cursor::tests::test_slice_reader ... ok
test io::cursor::tests::test_slice_reader_vectored ... ok
test io::cursor::tests::test_vec_writer ... ok
test io::cursor::tests::vec_seek_before_0 ... ok
test io::impls::tests::bench_read_slice ... ok
test io::error::test::test_downcasting ... ok
test io::error::test::test_debug_error ... ok
test io::impls::tests::bench_read_vec ... ok
test io::impls::tests::bench_write_slice ... ok
test io::impls::tests::bench_write_vec ... ok
test io::stdio::tests::stderr_unwind_safe ... ok
test io::stdio::tests::stderrlock_unwind_safe ... ok
test io::cursor::tests::vec_seek_past_end ... ok
test io::stdio::tests::stdout_unwind_safe ... ok
test io::stdio::tests::panic_doesnt_poison ... ok
test io::stdio::tests::stdoutlock_unwind_safe ... ok
test io::tests::chain_bufread ... ok
test io::tests::chain_zero_length_read_is_not_eof ... ok
test io::tests::io_slice_advance_beyond_total_length ... ok
test io::tests::io_slice_advance_empty_slice ... ok
test io::tests::io_slice_mut_advance ... ok
test io::tests::io_slice_advance ... ok
test io::tests::io_slice_mut_advance_beyond_total_length ... ok
test io::tests::io_slice_mut_advance_empty_slice ... ok
test io::tests::lines ... ok
test io::tests::read_exact ... ok
test io::tests::read_exact_slice ... ok
test io::tests::read_to_string ... ok
test io::tests::read_until ... ok
test io::tests::seek_len ... ok
test io::tests::seek_position ... ok
test io::tests::split ... ok
test io::tests::take_eof ... ok
test io::tests::read_line ... ok
test io::tests::test_read_to_end_capacity ... ok
test io::tests::test_write_all_vectored ... ok
test io::tests::test_writer_read_from_multiple_bufs ... ok
test io::tests::test_writer_read_from_one_buf ... ok
test io::util::tests::copy_copies ... ok
test io::util::tests::empty_reads ... ok
test io::util::tests::repeat_repeats ... ok
test io::util::tests::sink_sinks ... ok
test io::util::tests::take_some_bytes ... ok
test memchr::tests::each_alignment ... ok
test memchr::tests::matches_begin ... ok
test memchr::tests::matches_begin_reversed ... ok
test memchr::tests::matches_end_reversed ... ok
test memchr::tests::matches_nul ... ok
test memchr::tests::matches_nul_reversed ... ok
test memchr::tests::matches_end ... ok
test memchr::tests::matches_one ... ok
test memchr::tests::matches_one_reversed ... ok
test memchr::tests::matches_past_nul ... ok
test memchr::tests::matches_past_nul_reversed ... ok
test memchr::tests::no_match ... ok
test memchr::tests::no_match_empty ... ok
test memchr::tests::no_match_empty_reversed ... ok
test memchr::tests::no_match_reversed ... ok
test net::addr::tests::compare ... ok
test net::addr::tests::is_v4 ... ok
test net::addr::tests::is_v6 ... ok
thread 'test net::addr::tests::set_ip ... thread 'ok
test net::addr::tests::set_port ... ok
test net::addr::tests::set_scope_id ... ok
test net::addr::tests::socket_v4_to_str ... ok
test net::addr::tests::socket_v6_to_str ... ok
test net::addr::tests::set_flowinfo ... ok
test net::addr::tests::to_socket_addr_ipaddr_u16 ... ok
test net::addr::tests::to_socket_addr_string ... ok
test io::tests::read_to_end ... ok
test net::ip::tests::cmp ... ok
test net::ip::tests::ipv4_addr_to_string ... ok
<unnamed><unnamed>thread '' panicked at '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2777:31
' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2765:28
called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2740:32
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2644:23
test net::ip::tests::ipv4_from_constructors ... ok
test net::ip::tests::ipv4_from_octets ... ok
test net::ip::tests::ipv4_to_ipv6 ... ok
test net::ip::tests::ipv6_addr_to_string ... ok
test net::ip::tests::ipv6_from_contructors ... ok
test net::ip::tests::ipv6_from_octets ... ok
test net::ip::tests::ipv6_from_segments ... ok
test net::addr::tests::to_socket_addr_str_u16 ... ok
test net::ip::tests::ipv6_to_ipv4 ... ok
test net::ip::tests::is_v4 ... ok
test net::ip::tests::is_v6 ... ok
test net::addr::tests::bind_udp_socket_bad ... ok
test net::ip::tests::test_from_str_ipv4_in_ipv6 ... ok
test net::ip::tests::test_from_str_ipv6 ... ok
test net::ip::tests::test_from_str_socket_addr ... ok
test net::ip::tests::test_from_str_ipv4 ... ok
test net::ip::tests::test_int_to_ipv4 ... ok
test net::ip::tests::ip_properties ... ok
test net::addr::tests::to_socket_addr_str ... ok
test net::ip::tests::to_socket_addr_socketaddr ... ok
test net::ip::tests::test_ipv4_to_int ... ok
test net::ip::tests::test_ipv6_to_int ... ok
test net::parser::tests::ipv6_corner_cases ... ok
test net::parser::tests::ipv6_corner_failures ... ok
test net::ip::tests::test_int_to_ipv6 ... ok
test net::parser::tests::parse_ip ... ok
test net::parser::tests::parse_ipv4 ... ok
test net::parser::tests::parse_ipv6 ... ok
test net::parser::tests::parse_socket ... ok
test net::parser::tests::parse_socket_v4 ... ok
test net::ip::tests::ipv4_properties ... ok
test net::tcp::tests::bind_error ... ok
test net::parser::tests::parse_socket_v6 ... ok
test net::tcp::tests::double_bind ... ok
test net::ip::tests::ipv6_properties ... ok
test net::tcp::tests::debug ... ok
test net::tcp::tests::close_readwrite_smoke ... ok
test net::tcp::tests::listen_localhost ... ok
test net::tcp::tests::connect_error ... ok
test net::tcp::tests::connect_timeout_valid ... ok
test net::tcp::tests::nodelay ... ok
test net::tcp::tests::connect_loopback ... ok
test net::tcp::tests::clone_accept_concurrent ... ok
thread '<unnamed>thread '' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:32
<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034:31
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2022:28
test net::tcp::tests::close_read_wakes_up ... ok
test net::tcp::tests::clone_accept_smoke ... ok
test net::tcp::tests::clone_while_reading ... ok
test io::tests::bench_read_to_end ... ok
test net::tcp::tests::set_nonblocking ... ok
test net::tcp::tests::read_vectored ... ok
test net::tcp::tests::test_timeout_zero_duration ... ok
test net::tcp::tests::read_eof ... ok
test net::tcp::tests::partial_read ... ok
test net::tcp::tests::peek ... ok
test net::tcp::tests::socket_and_peer_name ... ok
test net::tcp::tests::smoke_test ... ok
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:23
test net::tcp::tests::shutdown_smoke ... ok
test net::tcp::tests::tcp_clone_smoke ... ok
test net::tcp::tests::tcp_clone_two_write ... ok
test net::tcp::tests::timeouts ... ok
test net::udp::tests::bind_error ... ok
test net::tcp::tests::write_vectored ... ok
test net::udp::tests::debug ... ok
test net::tcp::tests::write_close ... ok
test net::udp::tests::set_nonblocking ... ok
test net::tcp::tests::ttl ... ok
test net::udp::tests::socket_name ... ok
test net::udp::tests::connect_send_recv ... ok
test net::udp::tests::socket_peer ... ok
test net::tcp::tests::tcp_clone_two_read ... ok
test net::udp::tests::test_timeout_zero_duration ... ok
test net::udp::tests::timeouts ... ok
test net::udp::tests::ttl ... ok
test net::udp::tests::connect_send_peek_recv ... ok
test net::udp::tests::socket_smoke_test_ip4 ... ok
test net::udp::tests::peek_from ... ok
test num::tests::test_checked_mul ... ok
test num::tests::test_checked_add ... ok
test net::udp::tests::udp_clone_smoke ... ok
test num::tests::test_checked_next_power_of_two_u16 ... ok
test net::tcp::tests::multiple_connect_serial ... ok
test num::tests::test_checked_next_power_of_two_u32 ... ok
test num::tests::test_checked_next_power_of_two_u64 ... ok
test net::udp::tests::udp_clone_two_read ... ok
test num::tests::test_checked_next_power_of_two_u8 ... ok
test num::bench::bench_pow_function ... ok
test num::tests::test_checked_next_power_of_two_uint ... ok
test num::tests::test_checked_sub ... ok
test num::tests::test_is_power_of_two_u16 ... ok
test num::tests::test_is_power_of_two_u32 ... ok
test num::tests::test_is_power_of_two_u64 ... ok
test num::tests::test_is_power_of_two_u8 ... ok
test num::tests::test_is_power_of_two_uint ... ok
thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:688:13
test num::tests::test_next_power_of_two_u16 ... ok
test net::udp::tests::udp_clone_two_write ... ok
test num::tests::test_next_power_of_two_u32 ... ok
test num::tests::test_next_power_of_two_u8 ... ok
test num::tests::test_next_power_of_two_u64 ... ok
test num::tests::test_next_power_of_two_uint ... ok
test num::tests::test_pow ... ok
test num::tests::test_saturating_add_int ... ok
test num::tests::test_saturating_add_uint ... ok
thread '<unnamed>thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:642:13
' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:618:13
thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:749:13
thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `2`', src/libstd/sync/mutex.rs:712:13
test num::tests::test_saturating_sub_int ... ok
test num::tests::test_saturating_sub_uint ... ok
test num::tests::test_uint_from_str_overflow ... ok
test num::tests::test_uint_to_str_overflow ... ok
test os::raw::tests::same ... ok
test path::tests::display_format_flags ... ok
test path::tests::into ... ok
test path::tests::into_boxed ... ok
test path::tests::into_rc ... ok
test path::tests::test_clone_into ... ok
test path::tests::test_components_debug ... ok
test path::tests::test_eq_receivers ... ok
thread '<unnamed>' panicked at 'explicit panicthread 'thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', <unnamed>' panicked at 'explicit panic', ', src/libstd/sync/rwlock.rs:701:13
src/libstd/sync/rwlock.rs:629:13
src/libstd/sync/rwlock.rs:765:13
thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:641:13
thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:789:13
test path::tests::test_iter_debug ... ok
test path::tests::test_pop ... ok
test path::tests::test_push ... ok
test path::tests::test_compare ... ok
test path::tests::test_set_extension ... ok
test path::tests::test_set_file_name ... ok
test path::tests::test_stem_ext ... ok
test process::tests::test_command_implements_send_sync ... ok
test process::tests::test_interior_nul_in_arg_is_error ... ok
test process::tests::test_interior_nul_in_args_is_error ... ok
test process::tests::test_interior_nul_in_current_dir_is_error ... ok
thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:603:13
thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:616:13
test process::tests::test_interior_nul_in_progname_is_error ... ok
test process::tests::signal_reported_right ... ok
test sync::condvar::tests::smoke ... ok
test sync::condvar::tests::notify_one ... ok
test path::tests::test_decompositions_unix ... ok
test sync::condvar::tests::wait_timeout_wait ... ok
test sync::condvar::tests::two_mutexes ... ok
test sync::condvar::tests::wait_timeout_while_instant_satisfy ... ok
test sync::barrier::tests::test_barrier ... ok
test sync::condvar::tests::notify_all ... ok
test sync::condvar::tests::wait_timeout_while_wait ... ok
test process::tests::smoke_failure ... ok
test sync::condvar::tests::wait_timeout_wake ... ok
test sync::mpsc::mpsc_queue::tests::test_full ... ok
test sync::condvar::tests::wait_while ... ok
test sync::condvar::tests::wait_timeout_while_wake ... ok
test sync::mpsc::spsc_queue::tests::drop_full ... ok
test sync::mpsc::spsc_queue::tests::peek ... ok
test sync::mpsc::spsc_queue::tests::smoke ... ok
test sync::mpsc::mpsc_queue::tests::test ... ok
test process::tests::test_interior_nul_in_env_key_is_error ... ok
test process::tests::test_interior_nul_in_env_value_is_error ... ok
test sync::mpsc::spsc_queue::tests::smoke_bound ... ok
test sync::mpsc::sync_tests::chan_gone_concurrent ... ok
test process::tests::test_process_output_fail_to_start ... ok
test sync::mpsc::sync_tests::drop_full ... ok
test sync::mpsc::sync_tests::oneshot_multi_task_recv_then_send ... ok
test sync::mpsc::sync_tests::oneshot_multi_thread_close_stress ... ok
test sync::mpsc::sync_tests::oneshot_multi_thread_recv_close_stress ... ok
test sync::mpsc::sync_tests::oneshot_multi_thread_send_close_stress ... ok
test sync::mpsc::sync_tests::oneshot_multi_task_recv_then_close ... ok
test sync::mpsc::sync_tests::oneshot_multi_thread_send_recv_stress ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_close_chan_first ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_close_port_first ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_peek_close ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_peek_data ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_peek_open ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_send_port_close ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_send_then_recv ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_recv_chan_close ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_recv_closed ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_recv_closed_with_data ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_recv_open ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_send_closed ... ok
test process::tests::exit_reported_right ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_send_closed2 ... ok
test sync::mpsc::sync_tests::oneshot_single_thread_try_send_open ... ok
test sync::mpsc::sync_tests::port_gone_concurrent ... ok
test sync::mpsc::sync_tests::recv_timeout ... ok
test sync::mpsc::sync_tests::send1 ... ok
test process::tests::smoke ... ok
test sync::mpsc::sync_tests::send2 ... ok
test sync::mpsc::sync_tests::port_gone_concurrent_shared ... ok
test sync::mpsc::sync_tests::send3 ... ok
test sync::mpsc::sync_tests::smoke ... ok
test sync::mpsc::sync_tests::smoke_chan_gone ... ok
test sync::mpsc::sync_tests::send4 ... ok
test sync::mpsc::sync_tests::smoke_chan_gone_shared ... ok
test sync::mpsc::sync_tests::smoke_port_gone ... ok
test net::tcp::tests::test_read_with_timeout ... ok
test net::tcp::tests::test_read_timeout ... ok
test sync::mpsc::sync_tests::smoke_shared ... ok
test sync::mpsc::sync_tests::smoke_shared_port_gone2 ... ok
test sync::mpsc::sync_tests::stream_send_recv_stress ... ok
test sync::mpsc::sync_tests::smoke_threads ... ok
test sync::mpsc::sync_tests::recv_a_lot ... ok
test sync::mpsc::sync_tests::test_recv_iter_break ... ok
test sync::mpsc::sync_tests::test_nested_recv_iter ... ok
test sync::mpsc::sync_tests::try_send1 ... ok
test process::tests::test_finish_twice ... ok
test net::udp::tests::test_read_timeout ... ok
test sync::mpsc::sync_tests::try_send2 ... ok
test sync::mpsc::sync_tests::try_recv_states ... ok
test sync::mpsc::sync_tests::try_send3 ... ok
test net::udp::tests::test_read_with_timeout ... ok
test process::tests::stdout_works ... ok
test sync::mpsc::tests::chan_gone_concurrent ... ok
test process::tests::set_current_dir_works ... ok
test sync::mpsc::tests::drop_full_shared ... ok
test sync::mpsc::tests::drop_full ... ok
test sync::mpsc::tests::oneshot_multi_task_recv_then_send ... ok
thread '<unnamed>' panicked at 'explicit panic', src/libstd/thread/mod.rs:1576:37
test sync::mpsc::tests::oneshot_multi_thread_close_stress ... ok
test sync::mpsc::tests::oneshot_multi_thread_recv_close_stress ... ok
test process::tests::test_capture_env_at_spawn ... ok
test sync::mpsc::tests::oneshot_multi_thread_send_recv_stress ... ok
test sync::mpsc::tests::issue_32114 ... ok
test sync::mpsc::tests::no_runtime ... ok
test process::tests::test_finish_once ... ok
test sync::mpsc::tests::oneshot_multi_task_recv_then_close ... ok
test sync::mpsc::tests::oneshot_multi_thread_send_close_stress ... ok
test sync::mpsc::tests::oneshot_single_thread_close_port_first ... ok
test sync::mpsc::tests::oneshot_single_thread_peek_close ... ok
thread '<unnamed>' panicked at 'thread '<unnamed>' panicked at 'owned string', src/libstd/thread/mod.rs:1695:13
Box<Any>', src/libstd/thread/mod.rs:1711:13
thread '<unnamed>' panicked at 'static string', src/libstd/thread/mod.rs:1679:13
test sync::mpsc::tests::oneshot_single_thread_close_chan_first ... okthread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1730:37

test sync::mpsc::tests::oneshot_single_thread_peek_data ... ok
test sync::mpsc::tests::oneshot_single_thread_peek_open ... ok
test process::tests::test_override_env ... ok
test sync::mpsc::tests::oneshot_single_thread_send_port_close ... ok
test process::tests::test_wait_with_output_once ... ok
test sync::mpsc::tests::oneshot_single_thread_send_then_recv ... ok
test sync::mpsc::tests::oneshot_single_thread_try_recv_closed ... ok
test sync::mpsc::tests::oneshot_single_thread_recv_chan_close ... ok
test sync::mpsc::tests::oneshot_single_thread_recv_timeout ... ok
test process::tests::stdin_works ... ok
test sync::mpsc::tests::oneshot_single_thread_try_recv_open ... ok
test process::tests::test_process_output_output ... ok
test sync::mpsc::sync_tests::issue_15761 ... ok
test sync::mpsc::tests::oneshot_single_thread_try_send_closed ... ok
test sync::mpsc::tests::oneshot_single_thread_try_send_open ... ok
test process::tests::test_add_to_env ... ok
test process::tests::test_process_output_error ... ok
test sync::mpsc::tests::recv_timeout_upgrade ... ok
test sync::mpsc::tests::recv_from_outside_runtime ... ok
test sync::mpsc::tests::smoke ... ok
test sync::mpsc::tests::smoke_chan_gone ... ok
test sync::mpsc::tests::send_from_outside_runtime ... ok
test sync::mpsc::tests::smoke_chan_gone_shared ... ok
test sync::mpsc::tests::smoke_port_gone ... ok
test sync::mpsc::tests::port_gone_concurrent ... ok
test sync::mpsc::tests::smoke_shared_port_gone ... ok
test sync::mpsc::tests::smoke_shared ... ok
test sync::mpsc::tests::shared_recv_timeout ... ok
test sync::mpsc::tests::port_gone_concurrent_shared ... ok
test sync::mpsc::spsc_queue::tests::stress ... ok
test sync::mpsc::sync_tests::shared_chan_stress ... ok
test sync::mpsc::tests::smoke_shared_port_gone2 ... ok
test sync::mpsc::tests::stream_send_recv_stress ... ok
test sync::mpsc::tests::smoke_threads ... ok
test sync::mpsc::tests::test_recv_into_iter_borrowed ... ok
test sync::mpsc::tests::test_recv_into_iter_owned ... ok
test sync::mpsc::tests::recv_a_lot ... ok
test sync::mpsc::tests::test_nested_recv_iter ... ok
test sync::mpsc::tests::try_recv_states ... ok
test sync::mutex::tests::smoke ... ok
test sync::mpsc::tests::test_recv_iter_break ... ok
test sync::mutex::tests::lots_and_lots ... ok
test sync::mutex::tests::test_get_mut ... ok
test sync::mutex::tests::test_into_inner ... ok
test sync::mutex::tests::test_into_inner_drop ... ok
test sync::mutex::tests::test_arc_condvar_poison ... ok
test sync::mpsc::tests::test_recv_try_iter ... ok
test sync::mutex::tests::test_into_inner_poison ... ok
test sync::mutex::tests::test_get_mut_poison ... ok
test sync::mutex::tests::test_mutex_arc_nested ... ok
test sync::mutex::tests::test_mutex_arc_access_in_unwind ... ok
test sync::mutex::tests::test_mutex_arc_condvar ... ok
test sync::mutex::tests::test_mutex_unsized ... ok
test sync::mutex::tests::test_mutex_arc_poison ... ok
test sync::mutex::tests::try_lock ... ok
test sync::once::tests::poison_bad ... ok
test sync::once::tests::smoke_once ... ok
test process::tests::test_process_status ... ok
test sync::mpsc::tests::shared_chan_stress ... ok
test sync::rwlock::tests::test_into_inner ... ok
test sync::rwlock::tests::test_into_inner_drop ... ok
test sync::once::tests::stampede_once ... ok
test sync::rwlock::tests::smoke ... ok
test sync::rwlock::tests::test_get_mut ... ok
test sync::mpsc::tests::stress ... ok
test sync::once::tests::wait_for_force_to_finish ... ok
test sync::rwlock::tests::test_rw_arc_no_poison_rw ... ok
test sync::rwlock::tests::test_get_mut_poison ... ok
test sync::rwlock::tests::test_rw_arc_access_in_unwind ... ok
test sync::rwlock::tests::test_into_inner_poison ... ok
test sync::rwlock::tests::test_rw_arc_no_poison_rr ... ok
test sync::rwlock::tests::test_rwlock_try_write ... ok
test sync::rwlock::tests::test_rw_arc_poison_wr ... ok
test sync::rwlock::tests::frob ... ok
test sync::rwlock::tests::test_rw_arc_poison_ww ... ok
test sync::rwlock::tests::test_rwlock_unsized ... ok
test sync::rwlock::tests::test_rw_arc ... ok
test sys::unix::ext::net::test::abstract_namespace_not_allowed ... ok
test sync::mpsc::sync_tests::destroy_upgraded_shared_port_when_sender_still_active ... ok
test sys::unix::ext::net::test::long_path ... ok
test sys::unix::ext::net::test::iter ... ok
test sys::unix::ext::net::test::pair ... ok
test sys::unix::ext::net::test::test_unix_datagram_recv ... ok
test sys::unix::ext::net::test::test_unix_datagram ... ok
test sys::unix::ext::net::test::test_unix_datagram_timeout_zero_duration ... ok
test sys::unix::ext::net::test::basic ... ok
test sys::unix::ext::net::test::datagram_pair ... ok
test sys::unix::ext::net::test::test_connect_unix_datagram ... ok
test sys::unix::process::process_common::tests::test_process_mask ... ignored
test sys::unix::ext::net::test::test_unnamed_unix_datagram ... ok
test sys::unix::ext::net::test::test_unix_stream_timeout_zero_duration ... ok
test sys::unix::ext::net::test::timeouts ... ok
test sys::unix::os::test::test_glibc_version ... ok
test sys::unix::ext::net::test::vectored ... ok
test sys::unix::os::test::test_parse_glibc_version ... ok
test sys_common::bytestring::tests::smoke ... ok
test sys::unix::ext::net::test::try_clone ... ok
test sys_common::remutex::tests::smoke ... ok
test sys_common::test_muldiv ... ok
test sys_common::thread_local::tests::smoke ... ok
test sys_common::remutex::tests::is_mutex ... ok
test sys_common::net::tests::no_lookup_host_duplicates ... ok
test sys_common::remutex::tests::trylock_works ... ok
test sys_common::thread_local::tests::statik ... ok
test sys_common::wtf8::tests::code_point_from_char ... ok
test sys_common::wtf8::tests::code_point_from_u32 ... ok
test sys_common::wtf8::tests::code_point_to_char ... ok
test sys_common::wtf8::tests::code_point_to_char_lossy ... ok
test sys_common::wtf8::tests::code_point_to_string ... ok
test sys_common::wtf8::tests::code_point_to_u32 ... ok
test sys_common::wtf8::tests::wtf8_as_str ... ok
test sys_common::wtf8::tests::wtf8_ascii_byte_at ... ok
test sys_common::wtf8::tests::wtf8_code_points ... ok
test sys_common::wtf8::tests::wtf8_display ... ok
test sys_common::wtf8::tests::wtf8_encode_wide ... ok
test sys_common::wtf8::tests::wtf8_from_str ... ok
test sys_common::wtf8::tests::wtf8_len ... ok
test sys_common::wtf8::tests::wtf8_slice ... ok
test sys_common::wtf8::tests::wtf8_slice_from ... ok
test sys_common::wtf8::tests::wtf8_slice_from_not_code_point_boundary ... ok
test sys_common::wtf8::tests::wtf8_slice_not_code_point_boundary ... ok
test sys_common::wtf8::tests::wtf8_slice_to ... ok
test sys_common::wtf8::tests::wtf8_slice_to_not_code_point_boundary ... ok
test sys_common::wtf8::tests::wtf8_to_string_lossy ... ok
test sys_common::wtf8::tests::wtf8buf_extend ... ok
test sys_common::wtf8::tests::wtf8buf_from_iterator ... ok
test sys_common::wtf8::tests::wtf8buf_from_str ... ok
test sys_common::wtf8::tests::wtf8buf_from_string ... ok
test sync::mpsc::tests::very_long_recv_timeout_wont_panic ... ok
test sys_common::wtf8::tests::wtf8buf_into_string ... ok
test sys_common::wtf8::tests::wtf8buf_into_string_lossy ... ok
test sys_common::wtf8::tests::wtf8buf_from_wide ... ok
test sys_common::wtf8::tests::wtf8buf_new ... ok
test sys_common::wtf8::tests::wtf8buf_push ... ok
test sys_common::wtf8::tests::wtf8buf_push_char ... ok
test sys_common::wtf8::tests::wtf8buf_push_str ... ok
test sys_common::wtf8::tests::wtf8buf_push_wtf8 ... ok
test sys_common::wtf8::tests::wtf8buf_show ... ok
test sys_common::wtf8::tests::wtf8buf_show_str ... ok
test sys_common::wtf8::tests::wtf8buf_as_slice ... ok
test sys_common::wtf8::tests::wtf8buf_truncate ... ok
test sys_common::wtf8::tests::wtf8buf_truncate_fail_code_point_boundary ... ok
test sync::mpsc::tests::stress_shared ... ok
test sys_common::wtf8::tests::wtf8buf_truncate_fail_longer ... ok
test thread::local::dynamic_tests::hashmap ... ok
test thread::local::dynamic_tests::refcell_vec ... ok
test thread::local::dynamic_tests::smoke ... ok
test thread::local::tests::circular ... ok
test thread::local::tests::dtors_in_dtors_in_dtors ... ok
test thread::local::tests::self_referential ... ok
test thread::local::tests::smoke_dtor ... ok
test thread::local::tests::smoke_no_dtor ... ok
test thread::local::tests::states ... ok
test thread::tests::test_avoid_copying_the_body_join ... ok
test thread::tests::test_avoid_copying_the_body_spawn ... ok
test thread::tests::test_avoid_copying_the_body_thread_spawn ... ok
test thread::tests::test_invalid_named_thread ... ok
test thread::tests::sleep_ms_smoke ... ok
test thread::tests::test_child_doesnt_ref_parent ... ok
test thread::tests::test_park_timeout_unpark_before ... ok
test thread::tests::test_named_thread ... ok
test thread::tests::test_join_panic ... ok
test thread::tests::test_simple_newsched_spawn ... ok
test thread::tests::test_run_basic ... ok
test thread::tests::test_size_of_option_thread_id ... ok
test thread::tests::test_thread_id_equal ... ok
test thread::tests::test_spawn_sched_childs_on_default_sched ... ok
test thread::tests::test_thread_id_not_equal ... ok
test thread::tests::test_try_panic_message_any ... ok
test thread::tests::test_spawn_sched ... ok
test thread::tests::test_try_panic_message_static_str ... ok
test time::tests::instant_checked_duration_since_nopanic ... ok
test thread::tests::test_unnamed_thread ... ok
test thread::tests::test_try_panic_message_unit_struct ... ok
test thread::tests::test_try_panic_message_owned_str ... ok
test thread::tests::test_park_timeout_unpark_not_called ... ok
test time::tests::instant_elapsed ... ok
test time::tests::instant_math ... ok
test time::tests::instant_monotonic ... ok
test time::tests::instant_math_is_associative ... ok
test time::tests::instant_saturating_duration_since_nopanic ... ok
test time::tests::since_epoch ... ok
test time::tests::instant_duration_since_panic ... ok
test time::tests::system_time_elapsed ... ok
test time::tests::system_time_math ... ok
test sys::unix::ext::net::test::test_read_timeout ... ok
test sync::mpsc::tests::stress_recv_timeout_shared ... ok
test sys::unix::ext::net::test::test_read_with_timeout ... ok
test sync::mpsc::tests::destroy_upgraded_shared_port_when_sender_still_active ... ok
test thread::tests::test_park_timeout_unpark_called_other_thread ... ok
test sync::mpsc::sync_tests::stress_shared ... ok
test sync::mpsc::sync_tests::stress_recv_timeout_shared ... ok
test sync::mpsc::sync_tests::stress ... ok
test sync::mpsc::sync_tests::stress_recv_timeout_two_threads ... ok
test net::tcp::tests::multiple_connect_interleaved_lazy_schedule ... ok
test fs::tests::concurrent_recursive_mkdir ... ok
test net::tcp::tests::multiple_connect_interleaved_greedy_schedule ... ok
test sync::mpsc::tests::stress_recv_timeout_two_threads ... ok
test collections::hash::map::test_map::test_lots_of_insertions ... ok

test result: ok. 776 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/env-d452bae7b02c8e8d
uploaded "/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-std/aarch64-poky-linux/release/deps/env-d452bae7b02c8e8d", waiting for result

running 6 tests
test test_remove_var ... ok
test test_set_var ... ok
test test_var_big ... ok
test test_set_var_overwrite ... ok
test test_env_set_var ... ok
test test_env_set_get_huge ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/run_time_detect-cd1fed331d89ecad
uploaded "/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-std/aarch64-poky-linux/release/deps/run_time_detect-cd1fed331d89ecad", waiting for result

running 1 test
test aarch64_linux ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/stdbenches-0a20b593861ef82d
uploaded "/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-std/aarch64-poky-linux/release/deps/stdbenches-0a20b593861ef82d", waiting for result

running 12 tests
test hash::map::new_drop ... ok
test hash::map::new_insert_drop ... ok
test hash::set_ops::set_intersection ... ok
test hash::set_ops::set_difference ... ok
test hash::set_ops::set_symmetric_difference ... ok
test hash::set_ops::set_is_subset ... ok
test hash::set_ops::set_union ... ok
test hash::map::find_nonexisting ... ok
test hash::map::get_remove_insert ... ok
test hash::map::hashmap_as_queue ... ok
test hash::map::grow_by_insertion ... ok
test hash::map::find_existing ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 52.529
Testing term stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   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)
    Finished release [optimized] target(s) in 1.52s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/term-45f53f3fcfe9153e
uploaded "/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-std/aarch64-poky-linux/release/deps/term-45f53f3fcfe9153e", waiting for result

running 10 tests
test terminfo::parm::tests::test_comparison_ops ... ok
test terminfo::parm::tests::test_multiple_int_constants ... ok
test terminfo::searcher::tests::test_get_dbpath_for_term ... ignored
test terminfo::parm::tests::test_format ... ok
test terminfo::parm::tests::test_basic_setabf ... ok
test terminfo::parm::tests::test_conditionals ... ok
test terminfo::parm::tests::test_op_i ... ok
test terminfo::parm::tests::test_param_stack_failure_conditions ... ok
test terminfo::parm::tests::test_push_bad_param ... ok
test terminfo::parser::compiled::tests::test_veclens ... ok

test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out

	finished in 1.746
Testing test stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
   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 3.20s
     Running build/x86_64-unknown-linux-gnu/stage2-std/aarch64-poky-linux/release/deps/test-0286195aa6156b75
uploaded "/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-std/aarch64-poky-linux/release/deps/test-0286195aa6156b75", waiting for result

running 45 tests
test stats::tests::sum_three_items ... ok
test stats::tests::test_exp10b ... ok
test stats::tests::test_exp10c ... ok
test stats::tests::no_iter ... ok
test stats::tests::test_min_max_nan ... ok
test stats::tests::test_norm10medium ... ok
test stats::tests::test_norm10narrow ... ok
test stats::tests::test_norm10wide ... ok
test stats::tests::sum_many_f64 ... ok
test stats::tests::test_binom25 ... ok
test stats::tests::test_exp25 ... ok
test stats::tests::test_exp10a ... ok
test stats::tests::test_norm2 ... ok
test stats::tests::test_sum_f64_between_ints_that_sum_to_0 ... ok
test stats::tests::test_pois25lambda30 ... ok
test stats::tests::test_pois25lambda40 ... ok
test stats::tests::test_pois25lambda50 ... ok
test stats::tests::test_norm25verynarrow ... ok
test tests::exclude_should_panic_option ... ok
test tests::filter_for_ignored_option ... ok
test tests::do_not_run_ignored_tests ... ok
test tests::ignored_tests_result_in_ignored ... ok
test stats::tests::test_unif25 ... ok
test stats::tests::test_sum_f64s ... ok
test tests::run_include_ignored_option ... ok
test tests::exact_filter_match ... ok
test tests::test_bench_no_iter ... ok
test tests::test_bench_once_no_iter ... ok
test tests::test_bench_once_iter ... ok
test tests::test_should_not_report_time ... ok
test tests::should_sort_failures_before_printing_them ... ok
test tests::test_should_panic_but_succeeds ... ok
test tests::test_should_report_time ... ok
test tests::test_time_options_threshold ... ok
test tests::parse_ignored_flag ... ok
test tests::test_error_on_exceed ... ok
test tests::parse_include_ignored_flag ... ok
test tests::sort_tests ... ok
test tests::test_metricmap_compare ... ok
test tests::parse_show_output_flag ... ok
test tests::test_should_panic ... ok
test tests::test_should_panic_good_message ... ok
test tests::test_should_panic_bad_message ... ok
test tests::test_should_panic_non_string_message_type ... ok
test tests::test_bench_iter ... ok

test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

	finished in 3.976
Testing unwind stage2 (x86_64-unknown-linux-gnu -> aarch64-poky-linux)
    Finished release [optimized] target(s) in 0.26s
	finished in 0.278
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> aarch64-poky-linux)

running 15 tests
test [run-make] run-make/static-pie ... ignored
test [run-make] run-make/thumb-none-cortex-m ... ignored
test [run-make] run-make/thumb-none-qemu ... ignored
test [run-make] run-make/wasm-custom-section ... ignored
test [run-make] run-make/wasm-custom-sections-opt ... ignored
test [run-make] run-make/wasm-export-all-symbols ... ignored
test [run-make] run-make/wasm-import-module ... ignored
test [run-make] run-make/wasm-panic-small ... ignored
test [run-make] run-make/wasm-symbols-different-module ... ignored
test [run-make] run-make/wasm-symbols-not-exported ... ignored
test [run-make] run-make/wasm-symbols-not-imported ... ignored
test [run-make] run-make/wasm-stringify-ints-small ... ok
test [run-make] run-make/env-dep-info ... ok
test [run-make] run-make/llvm-outputs ... ok
test [run-make] run-make/rustc-macro-dep-files ... ok

test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out

	finished in 0.514

4 command(s) did not execute successfully:

  - "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/ui" "--build-base" "/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/test/ui" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "ui" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""

  - "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/codegen" "--build-base" "/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/test/codegen" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "codegen" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""

  - "/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/stage0-tools-bin/compiletest" "--compile-lib-path" "/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" "--run-lib-path" "/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" "--rustc-path" "/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/bin/rustc" "--src-base" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/test/assembly" "--build-base" "/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/test/assembly" "--stage-id" "stage2-aarch64-poky-linux" "--mode" "assembly" "--target" "aarch64-poky-linux" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/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/build/bin/FileCheck" "--bless" "--linker" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/wrapper/target-rust-ccld" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/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" "--docck-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--lldb-python" "/ala-lpggp31/vinay/rev-5/b1/tmp/hosttools/python3" "--gdb" "/usr/bin/gdb" "--llvm-version" "10.0.1-rust-1.46.0-stable" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--remote-test-client" "/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/stage0-tools-bin/remote-test-client" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""

  - "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rust-snapshot/bin/cargo" "test" "--target" "aarch64-poky-linux" "-Zbinary-dep-depinfo" "-j" "192" "--release" "--frozen" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/src/libtest/Cargo.toml" "--no-fail-fast" "-p" "alloc" "--"

failed to run: /ala-lpggp31/vinay/rev-5/b1/tmp/work/cortexa57-poky-linux/rust-testsuite/1.46.0-r0/rustc-1.46.0-src/build/bootstrap/debug/bootstrap test --no-fail-fast --bless --target aarch64-poky-linux
Build completed unsuccessfully in 0:13:17

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27  8:10                                                 ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-27  8:32                                                   ` Alexander Kanavin
       [not found]                                                   ` <1682DF4C7F380F13.5334@lists.openembedded.org>
  2021-05-27 12:03                                                   ` Alexander Kanavin
  2 siblings, 0 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-27  8: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: 1078 bytes --]

On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> +                       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)


What does result.output contains if the test fails? Since both stdout and
stderr are redirected to a file, there might be nothing at all there?

I'd suggest you actually print all of summary.txt in case of failure (yes
it's over a megabyte, that is fine), and also point out where the file can
be found for further inspection.

Alex

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

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

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

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

Alternatively, simply capture the output in result.output without
summary.txt redirection
(e.g. drop the '> summary.txt' bit); we can fine-tune the failure
processing later on.

Alex

On Thu, 27 May 2021 at 10:32, Alexander Kanavin via lists.openembedded.org
<alex.kanavin=gmail.com@lists.openembedded.org> wrote:

> On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>
>> +                       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)
>
>
> What does result.output contains if the test fails? Since both stdout and
> stderr are redirected to a file, there might be nothing at all there?
>
> I'd suggest you actually print all of summary.txt in case of failure (yes
> it's over a megabyte, that is fine), and also point out where the file can
> be found for further inspection.
>
> Alex
>
> 
>
>

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

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27  8:10                                                 ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-27  8:32                                                   ` Alexander Kanavin
       [not found]                                                   ` <1682DF4C7F380F13.5334@lists.openembedded.org>
@ 2021-05-27 12:03                                                   ` Alexander Kanavin
  2021-05-27 12:18                                                     ` Vinay Kumar
  2 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-27 12:03 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: 799 bytes --]

On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> +                       # 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)
>

I don't think you actually need to kill the remote test server. As qemu
will be stopped anyway, and with it, all the processes that run inside qemu.

Also, it's better to use cmd only to execute the tests. Starting the server
is better done through SSHControl.run(), and copying the binary via
SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or
runtime_test.py.

Alex

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

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27 12:03                                                   ` Alexander Kanavin
@ 2021-05-27 12:18                                                     ` Vinay Kumar
  2021-05-27 13:35                                                       ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-27 12:18 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

The reason why I changed this is, we have to execute
"remote-test-server" on the image through background ssh.
So that the "remote-test-server" will be alive waiting for connection.
Then in the rust.py  control passed to the next command (cmd) for
execution.
If we use the sshcontrol.py method we have to set a timeout of 600
otherwise default timeout is 300. Even if the test execution completes
early due to failure then we have to wait till this timeout.

I tried reducing the timeout to 60 seconds and some of the tests got skipped.

If that is ok I will use that copy_to and run from sshcontrol.py as we
did in v4 patches and work for the result.output

Regards,
Vinay

On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> +                       # 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)
>
>
> I don't think you actually need to kill the remote test server. As qemu will be stopped anyway, and with it, all the processes that run inside qemu.
>
> Also, it's better to use cmd only to execute the tests. Starting the server is better done through SSHControl.run(), and copying the binary via SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or runtime_test.py.
>
> Alex
>

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27 12:18                                                     ` Vinay Kumar
@ 2021-05-27 13:35                                                       ` Alexander Kanavin
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                                           ` (2 more replies)
  0 siblings, 3 replies; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-27 13:35 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: 2060 bytes --]

Hello Vinay,

sure, no problem. I see that SSHControl.run() isn't designed for starting
background processes on the target. But I still think it's then better to
use subprocess module for starting the server over ssh, rather than bundle
everything into one gigantic runCmd().

Alex

On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> The reason why I changed this is, we have to execute
> "remote-test-server" on the image through background ssh.
> So that the "remote-test-server" will be alive waiting for connection.
> Then in the rust.py  control passed to the next command (cmd) for
> execution.
> If we use the sshcontrol.py method we have to set a timeout of 600
> otherwise default timeout is 300. Even if the test execution completes
> early due to failure then we have to wait till this timeout.
>
> I tried reducing the timeout to 60 seconds and some of the tests got
> skipped.
>
> If that is ok I will use that copy_to and run from sshcontrol.py as we
> did in v4 patches and work for the result.output
>
> Regards,
> Vinay
>
> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >>
> >> +                       # 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)
> >
> >
> > I don't think you actually need to kill the remote test server. As qemu
> will be stopped anyway, and with it, all the processes that run inside qemu.
> >
> > Also, it's better to use cmd only to execute the tests. Starting the
> server is better done through SSHControl.run(), and copying the binary via
> SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or
> runtime_test.py.
> >
> > Alex
> >
>

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

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

* [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-27 13:35                                                       ` Alexander Kanavin
@ 2021-05-28 15:53                                                         ` Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
                                                                             ` (3 more replies)
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 16:13                                                         ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2 siblings, 4 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 15:53 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 related	[flat|nested] 90+ messages in thread

* [PATCH v6 2/5] Add rust testsuite for 1.46.0
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-28 15:53                                                           ` Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 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-28 15:53 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 related	[flat|nested] 90+ messages in thread

* [PATCH v6 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-28 15:53                                                           ` Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 15:53 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 related	[flat|nested] 90+ messages in thread

* [PATCH v6 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-28 15:53                                                           ` Vinay Kumar
  2021-05-28 15:53                                                           ` [PATCH v6 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 15:53 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.
And capture the output in result.output

Print the results in case of failure of runCmd().

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 52 ++++++++++++++++++++++++++++
 1 file changed, 52 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..19206e7b07
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: MIT
+import os
+import subprocess
+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
+
+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 to image through scp
+			ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root")
+			ssh.copy_to(builddir + "/" + "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
+			# Execute remote-test-server on image through background ssh
+			command = '~/remote-test-server -v remote'
+			sshrun=subprocess.Popen(("ssh", '-o',  'UserKnownHostsFile=/dev/null', '-o',  'StrictHostKeyChecking=no', '-f', "root@%s" % qemu.ip, command),
+                                shell=False,
+                                stdout=subprocess.PIPE,
+                                stderr=subprocess.PIPE)
+			# 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 test codegen %s --target %s ;" % (builddir, testargs, targetsys)
+			result = runCmd(cmd)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


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

* [PATCH v6 5/5] rust.inc : Fix for aarch64 feature.
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                                             ` (2 preceding siblings ...)
  2021-05-28 15:53                                                           ` [PATCH v6 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-28 15:53                                                           ` Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 15:53 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 related	[flat|nested] 90+ messages in thread

* [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-27 13:35                                                       ` Alexander Kanavin
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-28 16:09                                                         ` Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 2/5] rust-testsuite_1.46.0.bb Vinay Kumar
                                                                             ` (3 more replies)
  2021-05-28 16:13                                                         ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2 siblings, 4 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 16:09 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 related	[flat|nested] 90+ messages in thread

* [PATCH v7 2/5] rust-testsuite_1.46.0.bb
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-28 16:09                                                           ` Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 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-28 16:09 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 related	[flat|nested] 90+ messages in thread

* [PATCH v7 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 2/5] rust-testsuite_1.46.0.bb Vinay Kumar
@ 2021-05-28 16:09                                                           ` Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 16:09 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 related	[flat|nested] 90+ messages in thread

* [PATCH v7 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 2/5] rust-testsuite_1.46.0.bb Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-28 16:09                                                           ` Vinay Kumar
  2021-05-28 16:09                                                           ` [PATCH v7 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 16:09 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.
And capture the output in result.output

Print the results in case of failure of runCmd().

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 52 ++++++++++++++++++++++++++++
 1 file changed, 52 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..8643d8120d
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: MIT
+import os
+import subprocess
+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
+
+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 to image through scp
+			ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root")
+			ssh.copy_to(builddir + "/" + "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
+			# Execute remote-test-server on image through background ssh
+			command = '~/remote-test-server -v remote'
+			sshrun=subprocess.Popen(("ssh", '-o',  'UserKnownHostsFile=/dev/null', '-o',  'StrictHostKeyChecking=no', '-f', "root@%s" % qemu.ip, command),
+                                shell=False,
+                                stdout=subprocess.PIPE,
+                                stderr=subprocess.PIPE)
+			# 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 test %s --target %s ;" % (builddir, testargs, targetsys)
+			result = runCmd(cmd)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


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

* [PATCH v7 5/5] rust.inc : Fix for aarch64 feature.
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                                             ` (2 preceding siblings ...)
  2021-05-28 16:09                                                           ` [PATCH v7 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-28 16:09                                                           ` Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 16:09 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 related	[flat|nested] 90+ messages in thread

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-27 13:35                                                       ` Alexander Kanavin
  2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-28 16:13                                                         ` Vinay Kumar
  2021-05-28 21:10                                                           ` Alexander Kanavin
  2 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-28 16:13 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

Please ignore the v6 patch set. As there is minor correction in rust.py
- cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test
codegen %s --target %s ;" % (builddir, testargs, targetsys)
+ cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s
--target %s ;" % (builddir, testargs, targetsys)

Sent v7 patches with corrections of runCmd and ssh.

For copying "remote-test-server" used copy_to from sshcontrol.py, and
for ssh background execution used "subprocess" module.

Regarding result.output, whenever there is failure it gets printed
test summary and also captured in "oe-selftest-results.log".
And when there is failure with runCmd then no test summary details or
printed.  This is taken care of by runCmd() itself from commands.py.

Verified with 2 independent test modules "compile-fail" and "codegen"
which are part of rust testing.

compile-test : All tests get passed and no errors thrown, so
oe-selftes does not print the test results.

codegen : Some of the tests fail, making the shell exit. In this case
oe-selftest prints test details with stdout and stderr.

Regards,
Vinay


On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Hello Vinay,
>
> sure, no problem. I see that SSHControl.run() isn't designed for starting background processes on the target. But I still think it's then better to use subprocess module for starting the server over ssh, rather than bundle everything into one gigantic runCmd().
>
> Alex
>
> On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Hi Alex,
>>
>> The reason why I changed this is, we have to execute
>> "remote-test-server" on the image through background ssh.
>> So that the "remote-test-server" will be alive waiting for connection.
>> Then in the rust.py  control passed to the next command (cmd) for
>> execution.
>> If we use the sshcontrol.py method we have to set a timeout of 600
>> otherwise default timeout is 300. Even if the test execution completes
>> early due to failure then we have to wait till this timeout.
>>
>> I tried reducing the timeout to 60 seconds and some of the tests got skipped.
>>
>> If that is ok I will use that copy_to and run from sshcontrol.py as we
>> did in v4 patches and work for the result.output
>>
>> Regards,
>> Vinay
>>
>> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >>
>> >> +                       # 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)
>> >
>> >
>> > I don't think you actually need to kill the remote test server. As qemu will be stopped anyway, and with it, all the processes that run inside qemu.
>> >
>> > Also, it's better to use cmd only to execute the tests. Starting the server is better done through SSHControl.run(), and copying the binary via SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or runtime_test.py.
>> >
>> > Alex
>> >

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-28 16:13                                                         ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-28 21:10                                                           ` Alexander Kanavin
  2021-05-29  9:18                                                             ` Vinay Kumar
  0 siblings, 1 reply; 90+ messages in thread
From: Alexander Kanavin @ 2021-05-28 21:10 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: 3929 bytes --]

Thanks Vinay, the code looks nice and clean now, and I have no further
comments about it.

I would only ask that you put the amount of time it takes to (successfully)
execute as a comment just before the class definition, so that anyone who
needs to allocate CI resources for this test knows what is the reasonable
way to run it.

Alex

On Fri, 28 May 2021 at 18:13, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> Please ignore the v6 patch set. As there is minor correction in rust.py
> - cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test
> codegen %s --target %s ;" % (builddir, testargs, targetsys)
> + cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s
> --target %s ;" % (builddir, testargs, targetsys)
>
> Sent v7 patches with corrections of runCmd and ssh.
>
> For copying "remote-test-server" used copy_to from sshcontrol.py, and
> for ssh background execution used "subprocess" module.
>
> Regarding result.output, whenever there is failure it gets printed
> test summary and also captured in "oe-selftest-results.log".
> And when there is failure with runCmd then no test summary details or
> printed.  This is taken care of by runCmd() itself from commands.py.
>
> Verified with 2 independent test modules "compile-fail" and "codegen"
> which are part of rust testing.
>
> compile-test : All tests get passed and no errors thrown, so
> oe-selftes does not print the test results.
>
> codegen : Some of the tests fail, making the shell exit. In this case
> oe-selftest prints test details with stdout and stderr.
>
> Regards,
> Vinay
>
>
> On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Hello Vinay,
> >
> > sure, no problem. I see that SSHControl.run() isn't designed for
> starting background processes on the target. But I still think it's then
> better to use subprocess module for starting the server over ssh, rather
> than bundle everything into one gigantic runCmd().
> >
> > Alex
> >
> > On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >>
> >> Hi Alex,
> >>
> >> The reason why I changed this is, we have to execute
> >> "remote-test-server" on the image through background ssh.
> >> So that the "remote-test-server" will be alive waiting for connection.
> >> Then in the rust.py  control passed to the next command (cmd) for
> >> execution.
> >> If we use the sshcontrol.py method we have to set a timeout of 600
> >> otherwise default timeout is 300. Even if the test execution completes
> >> early due to failure then we have to wait till this timeout.
> >>
> >> I tried reducing the timeout to 60 seconds and some of the tests got
> skipped.
> >>
> >> If that is ok I will use that copy_to and run from sshcontrol.py as we
> >> did in v4 patches and work for the result.output
> >>
> >> Regards,
> >> Vinay
> >>
> >> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >> >>
> >> >> +                       # 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)
> >> >
> >> >
> >> > I don't think you actually need to kill the remote test server. As
> qemu will be stopped anyway, and with it, all the processes that run inside
> qemu.
> >> >
> >> > Also, it's better to use cmd only to execute the tests. Starting the
> server is better done through SSHControl.run(), and copying the binary via
> SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or
> runtime_test.py.
> >> >
> >> > Alex
> >> >
>

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

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

* Re: [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-28 21:10                                                           ` Alexander Kanavin
@ 2021-05-29  9:18                                                             ` Vinay Kumar
  2021-05-29  9:49                                                               ` Alexander Kanavin
  0 siblings, 1 reply; 90+ messages in thread
From: Vinay Kumar @ 2021-05-29  9:18 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: OE-core, Richard Purdie, Konrad Weihmann, Randy MacLeod,
	umesh kalappa0, vinay.kumar

Hi Alex,

Is the below comment about execution time is ok ?

+# Total time taken for testing is of about 2hr 20min, with
PARALLEL_MAKE set to 40 number of jobs.
 class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):

And, should I send v8 version of patches (all 5 patches) or only the
patch of rust.py  with this comment as v8 patch ?

Regards,
Vinay

On Sat, May 29, 2021 at 2:40 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Thanks Vinay, the code looks nice and clean now, and I have no further comments about it.
>
> I would only ask that you put the amount of time it takes to (successfully) execute as a comment just before the class definition, so that anyone who needs to allocate CI resources for this test knows what is the reasonable way to run it.
>
> Alex
>
> On Fri, 28 May 2021 at 18:13, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Hi Alex,
>>
>> Please ignore the v6 patch set. As there is minor correction in rust.py
>> - cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test
>> codegen %s --target %s ;" % (builddir, testargs, targetsys)
>> + cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s
>> --target %s ;" % (builddir, testargs, targetsys)
>>
>> Sent v7 patches with corrections of runCmd and ssh.
>>
>> For copying "remote-test-server" used copy_to from sshcontrol.py, and
>> for ssh background execution used "subprocess" module.
>>
>> Regarding result.output, whenever there is failure it gets printed
>> test summary and also captured in "oe-selftest-results.log".
>> And when there is failure with runCmd then no test summary details or
>> printed.  This is taken care of by runCmd() itself from commands.py.
>>
>> Verified with 2 independent test modules "compile-fail" and "codegen"
>> which are part of rust testing.
>>
>> compile-test : All tests get passed and no errors thrown, so
>> oe-selftes does not print the test results.
>>
>> codegen : Some of the tests fail, making the shell exit. In this case
>> oe-selftest prints test details with stdout and stderr.
>>
>> Regards,
>> Vinay
>>
>>
>> On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Hello Vinay,
>> >
>> > sure, no problem. I see that SSHControl.run() isn't designed for starting background processes on the target. But I still think it's then better to use subprocess module for starting the server over ssh, rather than bundle everything into one gigantic runCmd().
>> >
>> > Alex
>> >
>> > On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >>
>> >> Hi Alex,
>> >>
>> >> The reason why I changed this is, we have to execute
>> >> "remote-test-server" on the image through background ssh.
>> >> So that the "remote-test-server" will be alive waiting for connection.
>> >> Then in the rust.py  control passed to the next command (cmd) for
>> >> execution.
>> >> If we use the sshcontrol.py method we have to set a timeout of 600
>> >> otherwise default timeout is 300. Even if the test execution completes
>> >> early due to failure then we have to wait till this timeout.
>> >>
>> >> I tried reducing the timeout to 60 seconds and some of the tests got skipped.
>> >>
>> >> If that is ok I will use that copy_to and run from sshcontrol.py as we
>> >> did in v4 patches and work for the result.output
>> >>
>> >> Regards,
>> >> Vinay
>> >>
>> >> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
>> >> <alex.kanavin@gmail.com> wrote:
>> >> >
>> >> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >> >>
>> >> >> +                       # 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)
>> >> >
>> >> >
>> >> > I don't think you actually need to kill the remote test server. As qemu will be stopped anyway, and with it, all the processes that run inside qemu.
>> >> >
>> >> > Also, it's better to use cmd only to execute the tests. Starting the server is better done through SSHControl.run(), and copying the binary via SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or runtime_test.py.
>> >> >
>> >> > Alex
>> >> >

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

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

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

Thanks, that is fine and please resend once more the whole set.


Alex

On Sat 29. May 2021 at 11.18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:

> Hi Alex,
>
> Is the below comment about execution time is ok ?
>
> +# Total time taken for testing is of about 2hr 20min, with
> PARALLEL_MAKE set to 40 number of jobs.
>  class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
>
> And, should I send v8 version of patches (all 5 patches) or only the
> patch of rust.py  with this comment as v8 patch ?
>
> Regards,
> Vinay
>
> On Sat, May 29, 2021 at 2:40 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Thanks Vinay, the code looks nice and clean now, and I have no further
> comments about it.
> >
> > I would only ask that you put the amount of time it takes to
> (successfully) execute as a comment just before the class definition, so
> that anyone who needs to allocate CI resources for this test knows what is
> the reasonable way to run it.
> >
> > Alex
> >
> > On Fri, 28 May 2021 at 18:13, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >>
> >> Hi Alex,
> >>
> >> Please ignore the v6 patch set. As there is minor correction in rust.py
> >> - cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test
> >> codegen %s --target %s ;" % (builddir, testargs, targetsys)
> >> + cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s
> >> --target %s ;" % (builddir, testargs, targetsys)
> >>
> >> Sent v7 patches with corrections of runCmd and ssh.
> >>
> >> For copying "remote-test-server" used copy_to from sshcontrol.py, and
> >> for ssh background execution used "subprocess" module.
> >>
> >> Regarding result.output, whenever there is failure it gets printed
> >> test summary and also captured in "oe-selftest-results.log".
> >> And when there is failure with runCmd then no test summary details or
> >> printed.  This is taken care of by runCmd() itself from commands.py.
> >>
> >> Verified with 2 independent test modules "compile-fail" and "codegen"
> >> which are part of rust testing.
> >>
> >> compile-test : All tests get passed and no errors thrown, so
> >> oe-selftes does not print the test results.
> >>
> >> codegen : Some of the tests fail, making the shell exit. In this case
> >> oe-selftest prints test details with stdout and stderr.
> >>
> >> Regards,
> >> Vinay
> >>
> >>
> >> On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > Hello Vinay,
> >> >
> >> > sure, no problem. I see that SSHControl.run() isn't designed for
> starting background processes on the target. But I still think it's then
> better to use subprocess module for starting the server over ssh, rather
> than bundle everything into one gigantic runCmd().
> >> >
> >> > Alex
> >> >
> >> > On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >> >>
> >> >> Hi Alex,
> >> >>
> >> >> The reason why I changed this is, we have to execute
> >> >> "remote-test-server" on the image through background ssh.
> >> >> So that the "remote-test-server" will be alive waiting for
> connection.
> >> >> Then in the rust.py  control passed to the next command (cmd) for
> >> >> execution.
> >> >> If we use the sshcontrol.py method we have to set a timeout of 600
> >> >> otherwise default timeout is 300. Even if the test execution
> completes
> >> >> early due to failure then we have to wait till this timeout.
> >> >>
> >> >> I tried reducing the timeout to 60 seconds and some of the tests got
> skipped.
> >> >>
> >> >> If that is ok I will use that copy_to and run from sshcontrol.py as
> we
> >> >> did in v4 patches and work for the result.output
> >> >>
> >> >> Regards,
> >> >> Vinay
> >> >>
> >> >> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
> >> >> <alex.kanavin@gmail.com> wrote:
> >> >> >
> >> >> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com>
> wrote:
> >> >> >>
> >> >> >> +                       # 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)
> >> >> >
> >> >> >
> >> >> > I don't think you actually need to kill the remote test server. As
> qemu will be stopped anyway, and with it, all the processes that run inside
> qemu.
> >> >> >
> >> >> > Also, it's better to use cmd only to execute the tests. Starting
> the server is better done through SSHControl.run(), and copying the binary
> via SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or
> runtime_test.py.
> >> >> >
> >> >> > Alex
> >> >> >
>

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

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

* [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing.
  2021-05-29  9:49                                                               ` Alexander Kanavin
@ 2021-05-29 10:57                                                                 ` Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
                                                                                     ` (3 more replies)
  2021-05-29 11:14                                                                 ` [PATCH v5 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-29 10:57 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 | 155 ++++++++++++++++++
 1 file changed, 155 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..ef9b660c79
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-testsuite.inc
@@ -0,0 +1,155 @@
+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 related	[flat|nested] 90+ messages in thread

* [PATCH v8 2/5] Add rust testsuite for 1.46.0
  2021-05-29 10:57                                                                 ` [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
@ 2021-05-29 10:57                                                                   ` Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 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-29 10:57 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 related	[flat|nested] 90+ messages in thread

* [PATCH v8 3/5] rust.inc : Changed target cpu for powerpc to "7400"
  2021-05-29 10:57                                                                 ` [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
@ 2021-05-29 10:57                                                                   ` Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 5/5] While executing ui testing observed failures due to below warning, Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-29 10:57 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 related	[flat|nested] 90+ messages in thread

* [PATCH v8 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script.
  2021-05-29 10:57                                                                 ` [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
@ 2021-05-29 10:57                                                                   ` Vinay Kumar
  2021-05-29 10:57                                                                   ` [PATCH v8 5/5] While executing ui testing observed failures due to below warning, Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-29 10:57 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.
And capture the output in result.output

Print the results in case of failure of runCmd().

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
---
 meta/lib/oeqa/selftest/cases/rust.py | 53 ++++++++++++++++++++++++++++
 1 file changed, 53 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..ee61216e02
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,53 @@
+# SPDX-License-Identifier: MIT
+import os
+import subprocess
+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
+
+# Total time taken for testing is of about 2hr 20min, with PARALLEL_MAKE set to 40 number of jobs.
+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 to image through scp
+			ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root")
+			ssh.copy_to(builddir + "/" + "build/x86_64-unknown-linux-gnu/stage2-tools-bin/remote-test-server","~/")
+			# Execute remote-test-server on image through background ssh
+			command = '~/remote-test-server -v remote'
+			sshrun=subprocess.Popen(("ssh", '-o',  'UserKnownHostsFile=/dev/null', '-o',  'StrictHostKeyChecking=no', '-f', "root@%s" % qemu.ip, command),
+                                shell=False,
+                                stdout=subprocess.PIPE,
+                                stderr=subprocess.PIPE)
+			# 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 test %s --target %s ;" % (builddir, testargs, targetsys)
+			result = runCmd(cmd)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
-- 
2.17.1


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

* [PATCH v8 5/5] While executing ui testing observed failures due to below warning,
  2021-05-29 10:57                                                                 ` [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
                                                                                     ` (2 preceding siblings ...)
  2021-05-29 10:57                                                                   ` [PATCH v8 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
@ 2021-05-29 10:57                                                                   ` Vinay Kumar
  3 siblings, 0 replies; 90+ messages in thread
From: Vinay Kumar @ 2021-05-29 10:57 UTC (permalink / raw)
  To: openembedded-core, alex.kanavin
  Cc: richard.purdie, kweihmann, rwmacleod, umesh.kalappa0,
	vinay.kumar, Vinay Kumar

"'+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 related	[flat|nested] 90+ messages in thread

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

Hi Alex,

Sent v8 version patches.

Thanks for your quick and timely review comments.
Also, thanks for your help and suggestions in successfully implementing it.

Regards,
Vinay







On Sat, May 29, 2021 at 3:19 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Thanks, that is fine and please resend once more the whole set.
>
>
> Alex
>
> On Sat 29. May 2021 at 11.18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>>
>> Hi Alex,
>>
>> Is the below comment about execution time is ok ?
>>
>> +# Total time taken for testing is of about 2hr 20min, with
>> PARALLEL_MAKE set to 40 number of jobs.
>>  class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
>>
>> And, should I send v8 version of patches (all 5 patches) or only the
>> patch of rust.py  with this comment as v8 patch ?
>>
>> Regards,
>> Vinay
>>
>> On Sat, May 29, 2021 at 2:40 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Thanks Vinay, the code looks nice and clean now, and I have no further comments about it.
>> >
>> > I would only ask that you put the amount of time it takes to (successfully) execute as a comment just before the class definition, so that anyone who needs to allocate CI resources for this test knows what is the reasonable way to run it.
>> >
>> > Alex
>> >
>> > On Fri, 28 May 2021 at 18:13, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >>
>> >> Hi Alex,
>> >>
>> >> Please ignore the v6 patch set. As there is minor correction in rust.py
>> >> - cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test
>> >> codegen %s --target %s ;" % (builddir, testargs, targetsys)
>> >> + cmd = cmd + " cd %s;  python3 src/bootstrap/bootstrap.py test %s
>> >> --target %s ;" % (builddir, testargs, targetsys)
>> >>
>> >> Sent v7 patches with corrections of runCmd and ssh.
>> >>
>> >> For copying "remote-test-server" used copy_to from sshcontrol.py, and
>> >> for ssh background execution used "subprocess" module.
>> >>
>> >> Regarding result.output, whenever there is failure it gets printed
>> >> test summary and also captured in "oe-selftest-results.log".
>> >> And when there is failure with runCmd then no test summary details or
>> >> printed.  This is taken care of by runCmd() itself from commands.py.
>> >>
>> >> Verified with 2 independent test modules "compile-fail" and "codegen"
>> >> which are part of rust testing.
>> >>
>> >> compile-test : All tests get passed and no errors thrown, so
>> >> oe-selftes does not print the test results.
>> >>
>> >> codegen : Some of the tests fail, making the shell exit. In this case
>> >> oe-selftest prints test details with stdout and stderr.
>> >>
>> >> Regards,
>> >> Vinay
>> >>
>> >>
>> >> On Thu, May 27, 2021 at 7:05 PM Alexander Kanavin
>> >> <alex.kanavin@gmail.com> wrote:
>> >> >
>> >> > Hello Vinay,
>> >> >
>> >> > sure, no problem. I see that SSHControl.run() isn't designed for starting background processes on the target. But I still think it's then better to use subprocess module for starting the server over ssh, rather than bundle everything into one gigantic runCmd().
>> >> >
>> >> > Alex
>> >> >
>> >> > On Thu, 27 May 2021 at 14:18, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >> >>
>> >> >> Hi Alex,
>> >> >>
>> >> >> The reason why I changed this is, we have to execute
>> >> >> "remote-test-server" on the image through background ssh.
>> >> >> So that the "remote-test-server" will be alive waiting for connection.
>> >> >> Then in the rust.py  control passed to the next command (cmd) for
>> >> >> execution.
>> >> >> If we use the sshcontrol.py method we have to set a timeout of 600
>> >> >> otherwise default timeout is 300. Even if the test execution completes
>> >> >> early due to failure then we have to wait till this timeout.
>> >> >>
>> >> >> I tried reducing the timeout to 60 seconds and some of the tests got skipped.
>> >> >>
>> >> >> If that is ok I will use that copy_to and run from sshcontrol.py as we
>> >> >> did in v4 patches and work for the result.output
>> >> >>
>> >> >> Regards,
>> >> >> Vinay
>> >> >>
>> >> >> On Thu, May 27, 2021 at 5:33 PM Alexander Kanavin
>> >> >> <alex.kanavin@gmail.com> wrote:
>> >> >> >
>> >> >> > On Thu, 27 May 2021 at 10:11, Vinay Kumar <vinay.m.engg@gmail.com> wrote:
>> >> >> >>
>> >> >> >> +                       # 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)
>> >> >> >
>> >> >> >
>> >> >> > I don't think you actually need to kill the remote test server. As qemu will be stopped anyway, and with it, all the processes that run inside qemu.
>> >> >> >
>> >> >> > Also, it's better to use cmd only to execute the tests. Starting the server is better done through SSHControl.run(), and copying the binary via SSHControl.copy_to() - see examples in selfttest's imagefeatures.py or runtime_test.py.
>> >> >> >
>> >> >> > Alex
>> >> >> >

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

end of thread, other threads:[~2021-05-29 11:14 UTC | newest]

Thread overview: 90+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-09 11:59 [PATCH] Rust cross testing integration with oe-selftest Vinay Kumar
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  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     ` [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     ` [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: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           ` [PATCH v2 4/7] runqemu: Add hostfwd for rust testing 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
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
2021-05-17 11:00             ` Alexander Kanavin
2021-05-17 11:34               ` Vinay Kumar
2021-05-17 11:46                 ` Alexander Kanavin
2021-05-17 13:20                   ` Vinay Kumar
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>
2021-05-20 10:06                           ` [OE-core] " Vinay Kumar
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: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                                   ` [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
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                                         ` [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
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                                                 ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
2021-05-27  8:32                                                   ` Alexander Kanavin
     [not found]                                                   ` <1682DF4C7F380F13.5334@lists.openembedded.org>
2021-05-27  9:31                                                     ` [OE-core] " Alexander Kanavin
2021-05-27 12:03                                                   ` Alexander Kanavin
2021-05-27 12:18                                                     ` Vinay Kumar
2021-05-27 13:35                                                       ` Alexander Kanavin
2021-05-28 15:53                                                         ` [PATCH v6 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
2021-05-28 15:53                                                           ` [PATCH v6 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
2021-05-28 15:53                                                           ` [PATCH v6 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
2021-05-28 15:53                                                           ` [PATCH v6 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
2021-05-28 15:53                                                           ` [PATCH v6 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
2021-05-28 16:09                                                         ` [PATCH v7 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
2021-05-28 16:09                                                           ` [PATCH v7 2/5] rust-testsuite_1.46.0.bb Vinay Kumar
2021-05-28 16:09                                                           ` [PATCH v7 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
2021-05-28 16:09                                                           ` [PATCH v7 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
2021-05-28 16:09                                                           ` [PATCH v7 5/5] rust.inc : Fix for aarch64 feature Vinay Kumar
2021-05-28 16:13                                                         ` [PATCH v5 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
2021-05-28 21:10                                                           ` Alexander Kanavin
2021-05-29  9:18                                                             ` Vinay Kumar
2021-05-29  9:49                                                               ` Alexander Kanavin
2021-05-29 10:57                                                                 ` [PATCH v8 1/5] rust-testsuite.inc : Rust cross testing Vinay Kumar
2021-05-29 10:57                                                                   ` [PATCH v8 2/5] Add rust testsuite for 1.46.0 Vinay Kumar
2021-05-29 10:57                                                                   ` [PATCH v8 3/5] rust.inc : Changed target cpu for powerpc to "7400" Vinay Kumar
2021-05-29 10:57                                                                   ` [PATCH v8 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
2021-05-29 10:57                                                                   ` [PATCH v8 5/5] While executing ui testing observed failures due to below warning, Vinay Kumar
2021-05-29 11:14                                                                 ` [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
2021-05-27  8:18                                               ` [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
     [not found]                                       ` <1681E8AC31CF1367.29978@lists.openembedded.org>
2021-05-24 17:25                                         ` [OE-core] [PATCH v3 4/5] oeqa/selftest/cases/rust.py: Rust oe-selftest script Vinay Kumar
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
2021-05-22 16:15                                     ` Alexander Kanavin
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
2021-05-17 10:35           ` [PATCH v2 7/7] rust.inc : Fix for aarch64 feature Vinay Kumar
2021-05-17 10:56           ` [PATCH v2 1/7] rust-testsuite.inc : Rust cross testing Alexander Kanavin
2021-05-17 11:04             ` Vinay Kumar
2021-05-17 11:05           ` Alexander Kanavin
2021-05-17 11:20             ` Vinay Kumar
2021-05-17 11:41               ` Alexander Kanavin
2021-05-17 22:18           ` [OE-core] " Khem Raj
2021-05-20 11:24             ` 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
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     ` [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
2021-04-15 14:30   ` [OE-core] [PATCH] Rust cross testing integration with oe-selftest Vinay Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.