super mega ultra giga house cleaning of doom #2068
Labels
cleanup
Reducing our technical debt
good first issue
Good for newcomers
help wanted
Extra attention is needed
Milestone
We have lots of places where we have type constraints that are not necessary, old code that is not supported/unused, things which we have no tests for, code is disorganised due to the many hands problem, missing documentation, code in the wrong place (e.g.,
libafl_libfuzzer
has a lot of components that should be inlibafl_targets
), etc. We need to do some spring cleaning for 0.13!After each file is checked, either a PR is made with the house cleaning items for that file or it is checked off if there is nothing to do. I think if we focus on this one file at a time, we can crack through it in a few days.
If you are not a maintainer and want to do some of these tasks: please open an issue with the list of files/components you want to tackle so we don't duplicate effort.
Specific things to look for:
#[allow(...)]
and apply the clippy fix instead. This was likely done as an easy way out.Cow<'static, str>
instead ofString
.#[deprecate = "<reason>"]
tags for no-longer-supported things, or things with better alternatives.struct
definitions).PhantomData
should have the smallest set of types needed.'_
lifetime elision.Debug
impls should be replaced with.debug_struct
chains.typed_builder
.The following is a checklist of files which need to be cleaned in the main library files:
`libafl`
`libafl_bolts`
`libafl_cc`
`libafl_concolic`
`libafl_derive` (does anyone use this?)
`libafl_frida`
`libafl_libfuzzer`
`libafl_nyx`
`libafl_qemu`
`libafl_sugar`
`libafl_targets`
`libafl_tinyinst`
The text was updated successfully, but these errors were encountered: