Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/zerocopy-derive/tests/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  trybuild.rs

  Sprache: Rust
 

// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
// This file may not be copied, modified, or distributed except according to
// those terms.

#![allow(clippy::uninlined_format_args)]

use std::env;

use testutil::set_rustflags_w_warnings;

fn test(subdir: &str) {
    let version = testutil::ToolchainVersion::extract_from_pwd().unwrap();
    // See the doc comment on this method for an explanation of what this does
    // and why we store source files in different directories.
    let source_files_dirname = version.get_ui_source_files_dirname_and_maybe_print_warning();

    // Set `-Wwarnings` in the `RUSTFLAGS` environment variable to ensure that
    // `.stderr` files reflect what the typical user would encounter.
    set_rustflags_w_warnings();

    let t = trybuild::TestCases::new();
    t.compile_fail(format!("tests/{}/{}/*.rs", source_files_dirname, subdir));
}

#[test]
#[cfg_attr(miri, ignore)]
fn ui() {
    test("");

    // This tests the behavior when `--cfg zerocopy_derive_union_into_bytes` is
    // not present, so remove it. If this logic is wrong, that's fine - it will
    // exhibit as a test failure that we can debug at that point.
    let rustflags = env::var("RUSTFLAGS").unwrap();
    let new_rustflags = rustflags.replace("--cfg zerocopy_derive_union_into_bytes""");

    // SAFETY: None of our code is concurrently accessinv env vars. It's
    // possible that the test framework has spawned other threads that are
    // concurrently accessing env vars, but we can't do anything about that.
    #[allow(unused_unsafe)] // `set_var` is safe on our MSRV.
    unsafe {
        env::set_var("RUSTFLAGS", new_rustflags)
    };

    test("union_into_bytes_cfg");

    // Reset RUSTFLAGS in case we later add other tests which rely on its value.
    // This isn't strictly necessary, but it's easier to add this now when we're
    // thinking about the semantics of these env vars than to debug later when
    // we've forgotten about it.
    //
    // SAFETY: See previous safety comment.
    #[allow(unused_unsafe)] // `set_var` is safe on our MSRV.
    unsafe {
        env::set_var("RUSTFLAGS", rustflags)
    };
}

Messung V0.5 in Prozent
C=57 H=64 G=60

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-08-27) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.