# Static rustc_lint_defs::builtin::BYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE

source ·

    pub static BYTE_SLICE_IN_PACKED_STRUCT_WITH_DERIVE: &Lint

Expand description

The `byte_slice_in_packed_struct_with_derive` lint detects cases where a byte slice field (`[u8]`) or string slice field (`str`) is used in a `packed` struct that derives one or more built-in traits.

#### §Example

    #[repr(packed)]
    #[derive(Hash)]
    struct FlexZeroSlice {
        width: u8,
        data: [u8],
    }

{{produces}}

#### §Explanation

This was previously accepted but is being phased out, because fields in packed structs are now required to implement `Copy` for `derive` to work. Byte slices and string slices are a temporary exception because certain crates depended on them.