Change FromRawTracepointArgs::arg to return T rather than *const T which
seems to have been returning a dangling pointer.
Arguably this is not strictly necessary; edition 2024 seems to be
focused on increased strictness around unsafe code which doesn't unlock
new functionality for our users. That said, this work revealed an
apparent bug (see above) that we wouldn't otherwise catch due to
allow-by-default lints.
```
error: manual implementation of `ok`
--> aya/src/util.rs:261:28
|
261 | let addr = match u64::from_str_radix(addr, 16) {
| ____________________________^
262 | | Ok(addr) => Some(addr),
263 | | Err(ParseIntError { .. }) => None,
264 | | }?;
| |_________________^ help: replace with: `u64::from_str_radix(addr, 16).ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:1705:44
|
1705 | section: ProgramSection::KProbe { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
note: the lint level is defined here
--> aya-obj/src/lib.rs:68:9
|
68 | #![deny(clippy::all, missing_docs)]
| ^^^^^^^^^^^
= note: `#[deny(clippy::unneeded_struct_pattern)]` implied by `#[deny(clippy::all)]`
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:1769:44
|
1769 | section: ProgramSection::KProbe { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:1787:44
|
1787 | section: ProgramSection::KProbe { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:1919:48
|
1919 | section: ProgramSection::KProbe { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2041:52
|
2041 | section: ProgramSection::TracePoint { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2058:52
|
2058 | section: ProgramSection::TracePoint { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2081:54
|
2081 | section: ProgramSection::SocketFilter { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2151:55
|
2151 | section: ProgramSection::RawTracePoint { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2168:55
|
2168 | section: ProgramSection::RawTracePoint { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2243:55
|
2243 | section: ProgramSection::BtfTracePoint { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2266:59
|
2266 | section: ProgramSection::SkSkbStreamParser { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2289:59
|
2289 | section: ProgramSection::SkSkbStreamParser { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2410:58
|
2410 | section: ProgramSection::CgroupSkbIngress { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2433:58
|
2433 | section: ProgramSection::CgroupSkbIngress { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2456:51
|
2456 | section: ProgramSection::CgroupSkb { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: struct pattern is not needed for a unit variant
--> aya-obj/src/obj.rs:2479:51
|
2479 | section: ProgramSection::CgroupSkb { .. },
| ^^^^^^^ help: remove the struct pattern
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_struct_pattern
error: manual implementation of `ok`
--> aya-log-common/src/lib.rs:168:36
|
168 | let wire_len: LogValueLength = match value.len().try_into() {
| ____________________________________^
169 | | Ok(wire_len) => Some(wire_len),
170 | | Err(TryFromIntError { .. }) => None,
171 | | }?;
| |_____^ help: replace with: `value.len().try_into().ok()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err
error: manual implementation of `err`
--> init/src/main.rs:141:30
|
141 | .filter_map(|result| match result {
| ______________________________^
142 | | Ok(()) => None,
143 | | Err(err) => Some(err),
144 | | })
| |_________^ help: replace with: `result.err()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err
error: manual implementation of `err`
--> xtask/src/public_api.rs:80:30
|
80 | .filter_map(|result| match result {
| ______________________________^
81 | | Ok(()) => None,
82 | | Err(err) => Some(err),
83 | | })
| |_________^ help: replace with: `result.err()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_ok_err
```
Adds cargo-public-api. This allows for public API changes to get caught
in CI, requiring new changes to be "blessed" by using:
cargo xtask public-api --bless
When this file is changed for aya, Alessandro will need to review the PR.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>