Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  enum_to_bytes.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.

// See comment in `include.rs` for why we disable the prelude.
#![no_implicit_prelude]
#![allow(warnings)]

include!("include.rs");

// An enum is `IntoBytes` if if has a defined repr.

#[derive(imp::IntoBytes)]
#[repr(C)]
enum C {
    A,
}

util_assert_impl_all!(C: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u8)]
enum U8 {
    A,
}

util_assert_impl_all!(U8: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u16)]
enum U16 {
    A,
}

util_assert_impl_all!(U16: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u32)]
enum U32 {
    A,
}

util_assert_impl_all!(U32: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u64)]
enum U64 {
    A,
}

util_assert_impl_all!(U64: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(usize)]
enum Usize {
    A,
}

util_assert_impl_all!(Usize: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(i8)]
enum I8 {
    A,
}

util_assert_impl_all!(I8: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(i16)]
enum I16 {
    A,
}

util_assert_impl_all!(I16: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(i32)]
enum I32 {
    A,
}

util_assert_impl_all!(I32: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(i64)]
enum I64 {
    A,
}

util_assert_impl_all!(I64: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(isize)]
enum Isize {
    A,
}

util_assert_impl_all!(Isize: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u8)]
enum HasData {
    A(u8),
    B(i8),
}

util_assert_impl_all!(HasData: imp::IntoBytes);

#[derive(imp::IntoBytes)]
#[repr(u32)]
enum HasData32 {
    A(u32),
    B(i32),
    C([u8; 4]),
    D([u16; 2]),
}

util_assert_impl_all!(HasData: imp::IntoBytes);

// After #1752 landed but before #1758 was fixed, this failed to compile because
// the padding check treated the tag type as being `#[repr(u8, align(2))] struct
// Tag { A }`, which is two bytes long, rather than the correct `#[repr(u8)]
// struct Tag { A }`, which is one byte long.
#[derive(imp::IntoBytes)]
#[repr(u8, align(2))]
enum BadTagWouldHavePadding {
    A(u8, u16),
}

Messung V0.5 in Prozent
C=83 H=74 G=78

¤ Dauer der Verarbeitung: 0.13 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=434850
#Domains=661743