Skip to content

Commit 26c19d6

Browse files
Enable large_stack_frames lint (#6343)
* Enable `large_stack_frames` lint
1 parent 672dcbd commit 26c19d6

File tree

7 files changed

+15
-4
lines changed

7 files changed

+15
-4
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ lint:
207207
cargo clippy --workspace --tests $(EXTRA_CLIPPY_OPTS) --features "$(TEST_FEATURES)" -- \
208208
-D clippy::fn_to_numeric_cast_any \
209209
-D clippy::manual_let_else \
210+
-D clippy::large_stack_frames \
210211
-D warnings \
211212
-A clippy::derive_partial_eq_without_eq \
212213
-A clippy::upper-case-acronyms \

beacon_node/beacon_chain/src/kzg_utils.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ fn ssz_blob_to_crypto_blob<E: EthSpec>(blob: &Blob<E>) -> Result<KzgBlob, KzgErr
1717
KzgBlob::from_bytes(blob.as_ref()).map_err(Into::into)
1818
}
1919

20+
fn ssz_blob_to_crypto_blob_boxed<E: EthSpec>(blob: &Blob<E>) -> Result<Box<KzgBlob>, KzgError> {
21+
ssz_blob_to_crypto_blob::<E>(blob).map(Box::new)
22+
}
23+
2024
/// Converts a cell ssz List object to an array to be used with the kzg
2125
/// crypto library.
2226
fn ssz_cell_to_crypto_cell<E: EthSpec>(cell: &Cell<E>) -> Result<KzgCellRef, KzgError> {
@@ -34,7 +38,7 @@ pub fn validate_blob<E: EthSpec>(
3438
kzg_proof: KzgProof,
3539
) -> Result<(), KzgError> {
3640
let _timer = crate::metrics::start_timer(&crate::metrics::KZG_VERIFICATION_SINGLE_TIMES);
37-
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
41+
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
3842
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
3943
}
4044

@@ -104,7 +108,7 @@ pub fn compute_blob_kzg_proof<E: EthSpec>(
104108
blob: &Blob<E>,
105109
kzg_commitment: KzgCommitment,
106110
) -> Result<KzgProof, KzgError> {
107-
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
111+
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
108112
kzg.compute_blob_kzg_proof(&kzg_blob, kzg_commitment)
109113
}
110114

@@ -113,7 +117,7 @@ pub fn blob_to_kzg_commitment<E: EthSpec>(
113117
kzg: &Kzg,
114118
blob: &Blob<E>,
115119
) -> Result<KzgCommitment, KzgError> {
116-
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
120+
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
117121
kzg.blob_to_kzg_commitment(&kzg_blob)
118122
}
119123

@@ -124,7 +128,7 @@ pub fn compute_kzg_proof<E: EthSpec>(
124128
z: Hash256,
125129
) -> Result<(KzgProof, Hash256), KzgError> {
126130
let z = z.0.into();
127-
let kzg_blob = ssz_blob_to_crypto_blob::<E>(blob)?;
131+
let kzg_blob = ssz_blob_to_crypto_blob_boxed::<E>(blob)?;
128132
kzg.compute_kzg_proof(&kzg_blob, &z)
129133
.map(|(proof, z)| (proof, Hash256::from_slice(&z.to_vec())))
130134
}

beacon_node/execution_layer/src/test_utils/execution_block_generator.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -954,6 +954,7 @@ mod test {
954954
let kzg = load_kzg()?;
955955
let (kzg_commitment, kzg_proof, blob) = load_test_blobs_bundle::<E>()?;
956956
let kzg_blob = kzg::Blob::from_bytes(blob.as_ref())
957+
.map(Box::new)
957958
.map_err(|e| format!("Error converting blob to kzg blob: {e:?}"))?;
958959
kzg.verify_blob_kzg_proof(&kzg_blob, kzg_commitment, kzg_proof)
959960
.map_err(|e| format!("Invalid blobs bundle: {e:?}"))

beacon_node/src/cli.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use clap::{builder::ArgPredicate, crate_version, Arg, ArgAction, ArgGroup, Comma
44
use clap_utils::{get_color_style, FLAG_HEADER};
55
use strum::VariantNames;
66

7+
#[allow(clippy::large_stack_frames)]
78
pub fn cli_app() -> Command {
89
Command::new("beacon_node")
910
.display_order(0)

testing/simulator/src/basic_sim.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ const DENEB_FORK_EPOCH: u64 = 2;
2626
const SUGGESTED_FEE_RECIPIENT: [u8; 20] =
2727
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
2828

29+
#[allow(clippy::large_stack_frames)]
2930
pub fn run_basic_sim(matches: &ArgMatches) -> Result<(), String> {
3031
let node_count = matches
3132
.get_one::<String>("nodes")

testing/state_transition_vectors/src/macros.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
/// - `mod tests`: runs all the test vectors locally.
55
macro_rules! vectors_and_tests {
66
($($name: ident, $test: expr),*) => {
7+
#[allow(clippy::large_stack_frames)]
78
pub async fn vectors() -> Vec<TestVector> {
89
let mut vec = vec![];
910

watch/tests/tests.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,7 @@ async fn chain_grows() {
852852

853853
#[cfg(unix)]
854854
#[tokio::test]
855+
#[allow(clippy::large_stack_frames)]
855856
async fn chain_grows_with_metadata() {
856857
let builder = TesterBuilder::new().await;
857858

@@ -959,6 +960,7 @@ async fn chain_grows_with_metadata() {
959960

960961
#[cfg(unix)]
961962
#[tokio::test]
963+
#[allow(clippy::large_stack_frames)]
962964
async fn chain_grows_with_metadata_and_multiple_skip_slots() {
963965
let builder = TesterBuilder::new().await;
964966

0 commit comments

Comments
 (0)