Fixup serdeany_autoreg (#2721)
* fixup serdeany_autoreg * missed a spot * remove explicit checks in ps1 as this is set by Cargo.toml
This commit is contained in:
parent
959ecb32e9
commit
e53dd4e6cc
@ -891,6 +891,7 @@ where
|
|||||||
min_input_size: self.min_input_size,
|
min_input_size: self.min_input_size,
|
||||||
max_input_size: self.max_input_size,
|
max_input_size: self.max_input_size,
|
||||||
timeout,
|
timeout,
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
asan_obs: self
|
asan_obs: self
|
||||||
.asan_obs
|
.asan_obs
|
||||||
.clone()
|
.clone()
|
||||||
@ -956,6 +957,7 @@ where
|
|||||||
min_input_size: self.min_input_size,
|
min_input_size: self.min_input_size,
|
||||||
max_input_size: self.max_input_size,
|
max_input_size: self.max_input_size,
|
||||||
timeout,
|
timeout,
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
asan_obs: self
|
asan_obs: self
|
||||||
.asan_obs
|
.asan_obs
|
||||||
.clone()
|
.clone()
|
||||||
@ -1003,7 +1005,7 @@ where
|
|||||||
0,
|
0,
|
||||||
self.is_persistent,
|
self.is_persistent,
|
||||||
self.is_deferred_frksrv,
|
self.is_deferred_frksrv,
|
||||||
self.asan_obs.is_some(),
|
self.has_asan_obs(),
|
||||||
self.map_size,
|
self.map_size,
|
||||||
self.debug_child,
|
self.debug_child,
|
||||||
self.kill_signal.unwrap_or(KILL_SIGNAL_DEFAULT),
|
self.kill_signal.unwrap_or(KILL_SIGNAL_DEFAULT),
|
||||||
@ -1456,6 +1458,18 @@ where
|
|||||||
self.kill_signal = Some(kill_signal);
|
self.kill_signal = Some(kill_signal);
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Determine if the asan observer is present (always false if feature "regex" is disabled)
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
|
pub fn has_asan_obs(&self) -> bool {
|
||||||
|
self.asan_obs.is_some()
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Determine if the asan observer is present (always false if feature "regex" is disabled)
|
||||||
|
#[cfg(not(feature = "regex"))]
|
||||||
|
pub fn has_asan_obs(&self) -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> ForkserverExecutorBuilder<'a, NopTargetBytesConverter<BytesInput>, UnixShMemProvider> {
|
impl<'a> ForkserverExecutorBuilder<'a, NopTargetBytesConverter<BytesInput>, UnixShMemProvider> {
|
||||||
@ -1485,6 +1499,7 @@ impl<'a> ForkserverExecutorBuilder<'a, NopTargetBytesConverter<BytesInput>, Unix
|
|||||||
min_input_size: MIN_INPUT_SIZE_DEFAULT,
|
min_input_size: MIN_INPUT_SIZE_DEFAULT,
|
||||||
kill_signal: None,
|
kill_signal: None,
|
||||||
timeout: None,
|
timeout: None,
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
asan_obs: None,
|
asan_obs: None,
|
||||||
crash_exitcode: None,
|
crash_exitcode: None,
|
||||||
target_bytes_converter: NopTargetBytesConverter::new(),
|
target_bytes_converter: NopTargetBytesConverter::new(),
|
||||||
@ -1517,6 +1532,7 @@ impl<'a, TC> ForkserverExecutorBuilder<'a, TC, UnixShMemProvider> {
|
|||||||
min_input_size: self.min_input_size,
|
min_input_size: self.min_input_size,
|
||||||
kill_signal: self.kill_signal,
|
kill_signal: self.kill_signal,
|
||||||
timeout: self.timeout,
|
timeout: self.timeout,
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
asan_obs: self.asan_obs,
|
asan_obs: self.asan_obs,
|
||||||
crash_exitcode: self.crash_exitcode,
|
crash_exitcode: self.crash_exitcode,
|
||||||
target_bytes_converter: self.target_bytes_converter,
|
target_bytes_converter: self.target_bytes_converter,
|
||||||
@ -1549,6 +1565,7 @@ impl<'a, TC, SP> ForkserverExecutorBuilder<'a, TC, SP> {
|
|||||||
min_input_size: self.min_input_size,
|
min_input_size: self.min_input_size,
|
||||||
kill_signal: self.kill_signal,
|
kill_signal: self.kill_signal,
|
||||||
timeout: self.timeout,
|
timeout: self.timeout,
|
||||||
|
#[cfg(feature = "regex")]
|
||||||
asan_obs: self.asan_obs,
|
asan_obs: self.asan_obs,
|
||||||
crash_exitcode: self.crash_exitcode,
|
crash_exitcode: self.crash_exitcode,
|
||||||
target_bytes_converter,
|
target_bytes_converter,
|
||||||
|
@ -9,12 +9,10 @@ use std::{cell::RefCell, collections::VecDeque, fmt::Debug, marker::PhantomData,
|
|||||||
use libafl_bolts::Error;
|
use libafl_bolts::Error;
|
||||||
use serde::{de::DeserializeOwned, Deserialize, Serialize};
|
use serde::{de::DeserializeOwned, Deserialize, Serialize};
|
||||||
|
|
||||||
#[cfg(not(miri))]
|
|
||||||
use crate::inputs::BytesInput;
|
|
||||||
use crate::{
|
use crate::{
|
||||||
corpus::Corpus,
|
corpus::Corpus,
|
||||||
executors::{Executor, HasObservers, HasTimeout},
|
executors::{Executor, HasObservers, HasTimeout},
|
||||||
inputs::UsesInput,
|
inputs::{BytesInput, UsesInput},
|
||||||
observers::ObserversTuple,
|
observers::ObserversTuple,
|
||||||
stages::Stage,
|
stages::Stage,
|
||||||
state::{HasCorpus, State, UsesState},
|
state::{HasCorpus, State, UsesState},
|
||||||
|
@ -825,6 +825,26 @@ macro_rules! create_register {
|
|||||||
($struct_type:ty) => {};
|
($struct_type:ty) => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Manually register a `SerdeAny` type in the [`RegistryBuilder`]
|
||||||
|
///
|
||||||
|
/// Do nothing with the `serdeany_autoreg` feature, as this will be previously registered by ctor.
|
||||||
|
#[cfg(all(feature = "serdeany_autoreg", not(miri)))]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! create_manual_register {
|
||||||
|
($struct_type:ty) => {};
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Manually register a `SerdeAny` type in the [`RegistryBuilder`]
|
||||||
|
///
|
||||||
|
/// Do nothing with the `serdeany_autoreg` feature, as this will be previously registered by ctor.
|
||||||
|
#[cfg(not(all(feature = "serdeany_autoreg", not(miri))))]
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! create_manual_register {
|
||||||
|
($struct_type:ty) => {
|
||||||
|
$crate::serdeany::RegistryBuilder::register::<$struct_type>();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/// Implement a [`SerdeAny`], registering it in the [`RegistryBuilder`] when on std
|
/// Implement a [`SerdeAny`], registering it in the [`RegistryBuilder`] when on std
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! impl_serdeany {
|
macro_rules! impl_serdeany {
|
||||||
@ -853,7 +873,6 @@ macro_rules! impl_serdeany {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(not(feature = "serdeany_autoreg"), miri))]
|
|
||||||
impl< $( $lt $( : $clt $(+ $dlt )* )? ),+ > $struct_name < $( $lt ),+ > {
|
impl< $( $lt $( : $clt $(+ $dlt )* )? ),+ > $struct_name < $( $lt ),+ > {
|
||||||
|
|
||||||
/// Manually register this type at a later point in time
|
/// Manually register this type at a later point in time
|
||||||
@ -861,7 +880,9 @@ macro_rules! impl_serdeany {
|
|||||||
/// # Safety
|
/// # Safety
|
||||||
/// This may never be called concurrently as it dereferences the `RegistryBuilder` without acquiring a lock.
|
/// This may never be called concurrently as it dereferences the `RegistryBuilder` without acquiring a lock.
|
||||||
pub unsafe fn register() {
|
pub unsafe fn register() {
|
||||||
$crate::serdeany::RegistryBuilder::register::<$struct_name < $( $lt ),+ >>();
|
$(
|
||||||
|
$crate::create_manual_register!($struct_name < $( $opt ),+ >);
|
||||||
|
)*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -894,7 +915,6 @@ macro_rules! impl_serdeany {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(not(feature = "serdeany_autoreg"), miri))]
|
|
||||||
impl $struct_name {
|
impl $struct_name {
|
||||||
/// Manually register this type at a later point in time
|
/// Manually register this type at a later point in time
|
||||||
///
|
///
|
||||||
@ -902,7 +922,7 @@ macro_rules! impl_serdeany {
|
|||||||
/// This may never be called concurrently as it dereferences the `RegistryBuilder` without acquiring a lock.
|
/// This may never be called concurrently as it dereferences the `RegistryBuilder` without acquiring a lock.
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
pub unsafe fn register() {
|
pub unsafe fn register() {
|
||||||
$crate::serdeany::RegistryBuilder::register::<$struct_name>();
|
$crate::create_manual_register!($struct_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,20 +17,7 @@ function Run-Clippy {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
$env:RUST_BACKTRACE = "full"
|
$env:RUST_BACKTRACE = "full"
|
||||||
cargo +nightly clippy --all-features --no-deps --tests --examples --benches -- -Z macro-backtrace `
|
cargo +nightly clippy --all-features --no-deps --tests --examples --benches -- -Z macro-backtrace
|
||||||
-D clippy::all `
|
|
||||||
-D clippy::pedantic `
|
|
||||||
-W clippy::similar_names `
|
|
||||||
-A clippy::type_repetition_in_bounds `
|
|
||||||
-A clippy::missing-errors-doc `
|
|
||||||
-A clippy::cast-possible-truncation `
|
|
||||||
-A clippy::used-underscore-binding `
|
|
||||||
-A clippy::ptr-as-ptr `
|
|
||||||
-A clippy::missing-panics-doc `
|
|
||||||
-A clippy::missing-docs-in-private-items `
|
|
||||||
-A clippy::unseparated-literal-suffix `
|
|
||||||
-A clippy::module-name-repetitions `
|
|
||||||
-A clippy::unreadable-literal
|
|
||||||
|
|
||||||
# Exit unsuccessfully on clippy error
|
# Exit unsuccessfully on clippy error
|
||||||
if (!$?) {
|
if (!$?) {
|
||||||
@ -68,20 +55,7 @@ else {
|
|||||||
|
|
||||||
# First run it on all default members
|
# First run it on all default members
|
||||||
$env:RUST_BACKTRACE = "full"
|
$env:RUST_BACKTRACE = "full"
|
||||||
cargo +nightly clippy --all-features --no-deps --tests --examples --benches -- -Z macro-backtrace `
|
cargo +nightly clippy --all-features --no-deps --tests --examples --benches -- -Z macro-backtrace
|
||||||
-D clippy::all `
|
|
||||||
-D clippy::pedantic `
|
|
||||||
-W clippy::similar_names `
|
|
||||||
-A clippy::type_repetition_in_bounds `
|
|
||||||
-A clippy::missing-errors-doc `
|
|
||||||
-A clippy::cast-possible-truncation `
|
|
||||||
-A clippy::used-underscore-binding `
|
|
||||||
-A clippy::ptr-as-ptr `
|
|
||||||
-A clippy::missing-panics-doc `
|
|
||||||
-A clippy::missing-docs-in-private-items `
|
|
||||||
-A clippy::unseparated-literal-suffix `
|
|
||||||
-A clippy::module-name-repetitions `
|
|
||||||
-A clippy::unreadable-literal
|
|
||||||
|
|
||||||
# Exit unsuccessfully on clippy error
|
# Exit unsuccessfully on clippy error
|
||||||
if (!$?) {
|
if (!$?) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user