1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Copyright 2018 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.
# Put both crates in a single workspace so that `trybuild` compiler errors have
# paths that are stable regardless of the path to the repository root. This
# avoids issues like:
# https://github.com/dtolnay/trybuild/issues/207#issuecomment-131227.594
[]
[]
= "2021"
= "zerocopy"
= "0.8.11"
= ["Joshua Liebow-Feeser <joshlf@google.com>"]
= "Zerocopy makes zero-cost memory manipulation effortless. We write \"unsafe\" so you don't have to."
= ["embedded", "encoding", "no-std::no-alloc", "parsing", "rust-patterns"]
= ["cast", "convert", "transmute", "transmutation", "type-punning"]
= "BSD-2-Clause OR Apache-2.0 OR MIT"
= "https://github.com/google/zerocopy"
= "1.56.0"
= [".*"]
[]
# These key/value pairs are parsed by `build.rs`. Each entry names a `--cfg`
# which will be emitted if zerocopy is built with a toolchain version at least
# as high as the specified version. In the emitted `--cfg`, dashes are replaced
# by underscores.
#
# Each name is suffixed with the version it corresponds to. This is a convention
# used in the codebase to make it less likely for us to make mistakes when
# writing `doc_cfg` attributes.
# From 1.81.0, Rust supports the `core::error::Error` trait.
= "1.81.0"
# From 1.78.0, Rust supports the `#[diagnostic::on_unimplemented]` attribute.
= "1.78.0"
# From 1.61.0, Rust supports generic types with trait bounds in `const fn`.
= "1.61.0"
# From 1.60.0, Rust supports `cfg(target_has_atomics)`, which allows us to
# detect whether a target supports particular sets of atomics.
= "1.60.0"
# When the "simd" feature is enabled, include SIMD types from the
# `core::arch::aarch64` module, which was stabilized in 1.59.0. On earlier Rust
# versions, these types require the "simd-nightly" feature.
= "1.59.0"
# Permit panicking in `const fn`s and calling `Vec::try_reserve`.
= "1.57.0"
[]
# The versions of the stable and nightly compiler toolchains to use in CI.
= "1.82.0"
= "nightly-2024-11-06"
[]
= true
= ["--cfg", "doc_cfg", "--generate-link-to-definition"]
[]
= ["__internal_use_only_features_that_work_on_stable"]
[]
= []
= ["zerocopy-derive"]
= []
= ["simd"]
= []
= ["alloc"]
# This feature depends on all other features that work on the stable compiler.
# We make no stability guarantees about this feature; it may be modified or
# removed at any time.
= ["alloc", "derive", "simd", "std"]
[]
= { = "=0.8.11", = "zerocopy-derive", = true }
# The "associated proc macro pattern" ensures that the versions of zerocopy and
# zerocopy-derive remain equal, even if the 'derive' feature isn't used.
# See: https://github.com/matklad/macro-dep-test
[]
= { = "=0.8.11", = "zerocopy-derive" }
[]
= "0.11"
= { = "0.8.5", = false, = ["small_rng"] }
= "1.0"
= "1.1"
= { = "testutil" }
# Pinned to a specific version so that the version used for local development
# and the version used in CI are guaranteed to be the same. Future versions
# sometimes change the output format slightly, so a version mismatch can cause
# CI test failures.
= { = "=1.0.89", = ["diff"] }
# In tests, unlike in production, zerocopy-derive is not optional
= { = "=0.8.11", = "zerocopy-derive" }
# TODO(#381) Remove this dependency once we have our own layout gadgets.
= "0.3.0"