Update to 0.2.0-beta11 #23
build.yml
on: push
build-cross-aarch64
2m 51s
test-cross-aarch64
2m 10s
lint
43s
Matrix: build
Matrix: test
Annotations
2 errors and 101 warnings
build (macos-latest)
Process completed with exit code 101.
|
build (windows-latest)
The operation was canceled.
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow-cli/src/main.rs#L35
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow-cli/src/main.rs:35:43
|
35 | let process = os.into_process_by_name(&target)?;
| ^^^^^^^ help: change this to: `target`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow-cli/src/main.rs#L35
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow-cli/src/main.rs:35:43
|
35 | let process = os.into_process_by_name(&target)?;
| ^^^^^^^ help: change this to: `target`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L523
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:523:13
|
523 | let b = TYPES
| _____________^
524 | | .iter()
525 | | .filter(|Type(name, _, _, _)| name == &typename)
526 | | .next()?
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
523 ~ let b = TYPES
524 ~ .iter().find(|Type(name, _, _, _)| name == &typename)?
|
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L519
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:519:41
|
519 | let mut words = input.splitn(2, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L523
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:523:13
|
523 | let b = TYPES
| _____________^
524 | | .iter()
525 | | .filter(|Type(name, _, _, _)| name == &typename)
526 | | .next()?
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
523 ~ let b = TYPES
524 ~ .iter().find(|Type(name, _, _, _)| name == &typename)?
|
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L508
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:508:5
|
508 | / TYPES
509 | | .iter()
510 | | .filter(|Type(name, _, _, _)| name == &typename)
511 | | .next()
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
508 ~ TYPES
509 + .iter().find(|Type(name, _, _, _)| name == &typename)
|
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L519
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:519:41
|
519 | let mut words = input.splitn(2, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L508
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:508:5
|
508 | / TYPES
509 | | .iter()
510 | | .filter(|Type(name, _, _, _)| name == &typename)
511 | | .next()
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
508 ~ TYPES
509 + .iter().find(|Type(name, _, _, _)| name == &typename)
|
|
useless use of `format!`:
scanflow-cli/src/cli.rs#L423
warning: useless use of `format!`
--> scanflow-cli/src/cli.rs:423:18
|
423 | Some(format!("{}", String::from_utf16_lossy(&vec)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `String::from_utf16_lossy(&vec).to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
= note: `#[warn(clippy::useless_format)]` on by default
|
useless use of `format!`:
scanflow-cli/src/cli.rs#L423
warning: useless use of `format!`
--> scanflow-cli/src/cli.rs:423:18
|
423 | Some(format!("{}", String::from_utf16_lossy(&vec)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `String::from_utf16_lossy(&vec).to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
= note: `#[warn(clippy::useless_format)]` on by default
|
`to_string` applied to a type that implements `Display` in `println!` args:
scanflow-cli/src/cli.rs#L388
warning: `to_string` applied to a type that implements `Display` in `println!` args
--> scanflow-cli/src/cli.rs:388:57
|
388 | println!("Error reading line: {}", e.to_string());
| ^^^^^^^^^^^^ help: remove this
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
= note: `#[warn(clippy::to_string_in_format_args)]` on by default
|
`to_string` applied to a type that implements `Display` in `println!` args:
scanflow-cli/src/cli.rs#L388
warning: `to_string` applied to a type that implements `Display` in `println!` args
--> scanflow-cli/src/cli.rs:388:57
|
388 | println!("Error reading line: {}", e.to_string());
| ^^^^^^^^^^^^ help: remove this
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
= note: `#[warn(clippy::to_string_in_format_args)]` on by default
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L353
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:353:36
|
353 | let mut words = args.splitn(3, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L353
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:353:36
|
353 | let mut words = args.splitn(3, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L104
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:104:48
|
104 | if let Some(Type(_, size, _, _)) = TYPES.iter().filter(|Type(name, _, _, _)| name == &arg).next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `TYPES.iter().find(|Type(name, _, _, _)| name == &arg)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
= note: `#[warn(clippy::filter_next)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L104
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:104:48
|
104 | if let Some(Type(_, size, _, _)) = TYPES.iter().filter(|Type(name, _, _, _)| name == &arg).next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `TYPES.iter().find(|Type(name, _, _, _)| name == &arg)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
= note: `#[warn(clippy::filter_next)]` on by default
|
this `else { if .. }` block can be collapsed:
scanflow-cli/src/cli.rs#L293
warning: this `else { if .. }` block can be collapsed
--> scanflow-cli/src/cli.rs:293:24
|
293 | } else {
| ________________________^
294 | | if let Some((buf, t)) = parse_input(line, &ctx.typename) {
295 | | ctx.buf_len = buf.len();
296 | | ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
... |
301 | | }
302 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
293 ~ } else if let Some((buf, t)) = parse_input(line, &ctx.typename) {
294 + ctx.buf_len = buf.len();
295 + ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
296 + print_matches(&ctx.value_scanner, &mut ctx.process, ctx.buf_len, &t)?;
297 + ctx.typename = Some(t);
298 + } else {
299 + println!("Invalid input! Use `help` for command reference.");
300 + }
|
|
this `else { if .. }` block can be collapsed:
scanflow-cli/src/cli.rs#L293
warning: this `else { if .. }` block can be collapsed
--> scanflow-cli/src/cli.rs:293:24
|
293 | } else {
| ________________________^
294 | | if let Some((buf, t)) = parse_input(line, &ctx.typename) {
295 | | ctx.buf_len = buf.len();
296 | | ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
... |
301 | | }
302 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
293 ~ } else if let Some((buf, t)) = parse_input(line, &ctx.typename) {
294 + ctx.buf_len = buf.len();
295 + ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
296 + print_matches(&ctx.value_scanner, &mut ctx.process, ctx.buf_len, &t)?;
297 + ctx.typename = Some(t);
298 + } else {
299 + println!("Invalid input! Use `help` for command reference.");
300 + }
|
|
replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`:
scanflow/src/value_scanner.rs#L102
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> scanflow/src/value_scanner.rs:102:31
|
102 | let old_matches = std::mem::replace(&mut self.matches, vec![]);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.matches)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
= note: `#[warn(clippy::mem_replace_with_default)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/value_scanner.rs#L62
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/value_scanner.rs:62:21
|
62 | / (0..size)
63 | | .into_iter()
| |____________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/value_scanner.rs#L52
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/value_scanner.rs:52:46
|
52 | .map(|CTup3(size, _, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`:
scanflow/src/value_scanner.rs#L102
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> scanflow/src/value_scanner.rs:102:31
|
102 | let old_matches = std::mem::replace(&mut self.matches, vec![]);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.matches)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
= note: `#[warn(clippy::mem_replace_with_default)]` on by default
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/sigmaker.rs#L207
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/sigmaker.rs:207:32
|
207 | decoder.set_ip(start_ip.to_umem() as u64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_ip.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/value_scanner.rs#L62
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/value_scanner.rs:62:21
|
62 | / (0..size)
63 | | .into_iter()
| |____________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/value_scanner.rs#L52
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/value_scanner.rs:52:46
|
52 | .map(|CTup3(size, _, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/sigmaker.rs#L207
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/sigmaker.rs:207:32
|
207 | decoder.set_ip(start_ip.to_umem() as u64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_ip.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow/src/sigmaker.rs#L58
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow/src/sigmaker.rs:58:31
|
58 | Self::mask_branch(&offsets, mask, 1);
| ^^^^^^^^ help: change this to: `offsets`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow/src/sigmaker.rs#L58
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow/src/sigmaker.rs:58:31
|
58 | Self::mask_branch(&offsets, mask, 1);
| ^^^^^^^^ help: change this to: `offsets`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this function has too many arguments (10/7):
scanflow/src/pointer_map.rs#L135
warning: this function has too many arguments (10/7)
--> scanflow/src/pointer_map.rs:135:5
|
135 | / fn walk_down_range(
136 | | &self,
137 | | addr: Address,
138 | | (lrange, urange): (usize, usize),
... |
145 | | (pb_start, pb_end): (f32, f32),
146 | | ) {
| |______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
this function has too many arguments (10/7):
scanflow/src/pointer_map.rs#L135
warning: this function has too many arguments (10/7)
--> scanflow/src/pointer_map.rs:135:5
|
135 | / fn walk_down_range(
136 | | &self,
137 | | addr: Address,
138 | | (lrange, urange): (usize, usize),
... |
145 | | (pb_start, pb_end): (f32, f32),
146 | | ) {
| |______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/pointer_map.rs#L61
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/pointer_map.rs:61:17
|
61 | / (0..size)
62 | | .into_iter()
| |________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/pointer_map.rs#L61
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/pointer_map.rs:61:17
|
61 | / (0..size)
62 | | .into_iter()
| |________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/pointer_map.rs#L51
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/pointer_map.rs:51:42
|
51 | .map(|CTup3(_, size, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/pointer_map.rs#L51
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/pointer_map.rs:51:42
|
51 | .map(|CTup3(_, size, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L122
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:122:28
|
122 | pb.add(m.size as u64);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L122
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:122:28
|
122 | pb.add(m.size as u64);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L94
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:94:52
|
94 | ... decoder.set_ip(addr as u64);
| ^^^^^^^^^^^ help: try: `addr`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L94
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:94:52
|
94 | ... decoder.set_ip(addr as u64);
| ^^^^^^^^^^^ help: try: `addr`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L47
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:47:51
|
47 | let pb = PBar::new(modules.iter().map(|m| m.size as u64).sum::<u64>(), true);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L47
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:47:51
|
47 | let pb = PBar::new(modules.iter().map(|m| m.size as u64).sum::<u64>(), true);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
redundant closure:
scanflow/src/disasm.rs#L45
warning: redundant closure
--> scanflow/src/disasm.rs:45:44
|
45 | let sections = ThreadLocalCtx::new(|| Vec::<SectionInfo>::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Vec::<SectionInfo>::new`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
|
redundant closure:
scanflow/src/disasm.rs#L45
warning: redundant closure
--> scanflow/src/disasm.rs:45:44
|
45 | let sections = ThreadLocalCtx::new(|| Vec::<SectionInfo>::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Vec::<SectionInfo>::new`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
|
lint
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
build (ubuntu-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
test (ubuntu-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
build (macos-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
build (windows-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow-cli/src/main.rs#L35
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow-cli/src/main.rs:35:43
|
35 | let process = os.into_process_by_name(&target)?;
| ^^^^^^^ help: change this to: `target`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow-cli/src/main.rs#L35
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow-cli/src/main.rs:35:43
|
35 | let process = os.into_process_by_name(&target)?;
| ^^^^^^^ help: change this to: `target`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L523
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:523:13
|
523 | let b = TYPES
| _____________^
524 | | .iter()
525 | | .filter(|Type(name, _, _, _)| name == &typename)
526 | | .next()?
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
523 ~ let b = TYPES
524 ~ .iter().find(|Type(name, _, _, _)| name == &typename)?
|
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L519
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:519:41
|
519 | let mut words = input.splitn(2, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L508
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:508:5
|
508 | / TYPES
509 | | .iter()
510 | | .filter(|Type(name, _, _, _)| name == &typename)
511 | | .next()
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
508 ~ TYPES
509 + .iter().find(|Type(name, _, _, _)| name == &typename)
|
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L523
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:523:13
|
523 | let b = TYPES
| _____________^
524 | | .iter()
525 | | .filter(|Type(name, _, _, _)| name == &typename)
526 | | .next()?
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
523 ~ let b = TYPES
524 ~ .iter().find(|Type(name, _, _, _)| name == &typename)?
|
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L519
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:519:41
|
519 | let mut words = input.splitn(2, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L508
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:508:5
|
508 | / TYPES
509 | | .iter()
510 | | .filter(|Type(name, _, _, _)| name == &typename)
511 | | .next()
| |_______________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
help: try
|
508 ~ TYPES
509 + .iter().find(|Type(name, _, _, _)| name == &typename)
|
|
useless use of `format!`:
scanflow-cli/src/cli.rs#L423
warning: useless use of `format!`
--> scanflow-cli/src/cli.rs:423:18
|
423 | Some(format!("{}", String::from_utf16_lossy(&vec)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `String::from_utf16_lossy(&vec).to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
= note: `#[warn(clippy::useless_format)]` on by default
|
useless use of `format!`:
scanflow-cli/src/cli.rs#L423
warning: useless use of `format!`
--> scanflow-cli/src/cli.rs:423:18
|
423 | Some(format!("{}", String::from_utf16_lossy(&vec)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `String::from_utf16_lossy(&vec).to_string()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format
= note: `#[warn(clippy::useless_format)]` on by default
|
`to_string` applied to a type that implements `Display` in `println!` args:
scanflow-cli/src/cli.rs#L388
warning: `to_string` applied to a type that implements `Display` in `println!` args
--> scanflow-cli/src/cli.rs:388:57
|
388 | println!("Error reading line: {}", e.to_string());
| ^^^^^^^^^^^^ help: remove this
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
= note: `#[warn(clippy::to_string_in_format_args)]` on by default
|
`to_string` applied to a type that implements `Display` in `println!` args:
scanflow-cli/src/cli.rs#L388
warning: `to_string` applied to a type that implements `Display` in `println!` args
--> scanflow-cli/src/cli.rs:388:57
|
388 | println!("Error reading line: {}", e.to_string());
| ^^^^^^^^^^^^ help: remove this
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args
= note: `#[warn(clippy::to_string_in_format_args)]` on by default
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L353
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:353:36
|
353 | let mut words = args.splitn(3, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
single-character string constant used as pattern:
scanflow-cli/src/cli.rs#L353
warning: single-character string constant used as pattern
--> scanflow-cli/src/cli.rs:353:36
|
353 | let mut words = args.splitn(3, " ");
| ^^^ help: try using a `char` instead: `' '`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern
= note: `#[warn(clippy::single_char_pattern)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L104
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:104:48
|
104 | if let Some(Type(_, size, _, _)) = TYPES.iter().filter(|Type(name, _, _, _)| name == &arg).next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `TYPES.iter().find(|Type(name, _, _, _)| name == &arg)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
= note: `#[warn(clippy::filter_next)]` on by default
|
called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead:
scanflow-cli/src/cli.rs#L104
warning: called `filter(..).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(..)` instead
--> scanflow-cli/src/cli.rs:104:48
|
104 | if let Some(Type(_, size, _, _)) = TYPES.iter().filter(|Type(name, _, _, _)| name == &arg).next() {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `TYPES.iter().find(|Type(name, _, _, _)| name == &arg)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next
= note: `#[warn(clippy::filter_next)]` on by default
|
this `else { if .. }` block can be collapsed:
scanflow-cli/src/cli.rs#L293
warning: this `else { if .. }` block can be collapsed
--> scanflow-cli/src/cli.rs:293:24
|
293 | } else {
| ________________________^
294 | | if let Some((buf, t)) = parse_input(line, &ctx.typename) {
295 | | ctx.buf_len = buf.len();
296 | | ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
... |
301 | | }
302 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
293 ~ } else if let Some((buf, t)) = parse_input(line, &ctx.typename) {
294 + ctx.buf_len = buf.len();
295 + ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
296 + print_matches(&ctx.value_scanner, &mut ctx.process, ctx.buf_len, &t)?;
297 + ctx.typename = Some(t);
298 + } else {
299 + println!("Invalid input! Use `help` for command reference.");
300 + }
|
|
this `else { if .. }` block can be collapsed:
scanflow-cli/src/cli.rs#L293
warning: this `else { if .. }` block can be collapsed
--> scanflow-cli/src/cli.rs:293:24
|
293 | } else {
| ________________________^
294 | | if let Some((buf, t)) = parse_input(line, &ctx.typename) {
295 | | ctx.buf_len = buf.len();
296 | | ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
... |
301 | | }
302 | | }
| |_________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_else_if
= note: `#[warn(clippy::collapsible_else_if)]` on by default
help: collapse nested if block
|
293 ~ } else if let Some((buf, t)) = parse_input(line, &ctx.typename) {
294 + ctx.buf_len = buf.len();
295 + ctx.value_scanner.scan_for(&mut ctx.process, &buf)?;
296 + print_matches(&ctx.value_scanner, &mut ctx.process, ctx.buf_len, &t)?;
297 + ctx.typename = Some(t);
298 + } else {
299 + println!("Invalid input! Use `help` for command reference.");
300 + }
|
|
replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`:
scanflow/src/value_scanner.rs#L102
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> scanflow/src/value_scanner.rs:102:31
|
102 | let old_matches = std::mem::replace(&mut self.matches, vec![]);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.matches)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
= note: `#[warn(clippy::mem_replace_with_default)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/value_scanner.rs#L62
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/value_scanner.rs:62:21
|
62 | / (0..size)
63 | | .into_iter()
| |____________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/value_scanner.rs#L52
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/value_scanner.rs:52:46
|
52 | .map(|CTup3(size, _, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`:
scanflow/src/value_scanner.rs#L102
warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take`
--> scanflow/src/value_scanner.rs:102:31
|
102 | let old_matches = std::mem::replace(&mut self.matches, vec![]);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut self.matches)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default
= note: `#[warn(clippy::mem_replace_with_default)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/value_scanner.rs#L62
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/value_scanner.rs:62:21
|
62 | / (0..size)
63 | | .into_iter()
| |____________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/value_scanner.rs#L52
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/value_scanner.rs:52:46
|
52 | .map(|CTup3(size, _, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/sigmaker.rs#L207
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/sigmaker.rs:207:32
|
207 | decoder.set_ip(start_ip.to_umem() as u64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_ip.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/sigmaker.rs#L207
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/sigmaker.rs:207:32
|
207 | decoder.set_ip(start_ip.to_umem() as u64);
| ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `start_ip.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow/src/sigmaker.rs#L58
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow/src/sigmaker.rs:58:31
|
58 | Self::mask_branch(&offsets, mask, 1);
| ^^^^^^^^ help: change this to: `offsets`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this expression creates a reference which is immediately dereferenced by the compiler:
scanflow/src/sigmaker.rs#L58
warning: this expression creates a reference which is immediately dereferenced by the compiler
--> scanflow/src/sigmaker.rs:58:31
|
58 | Self::mask_branch(&offsets, mask, 1);
| ^^^^^^^^ help: change this to: `offsets`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `#[warn(clippy::needless_borrow)]` on by default
|
this function has too many arguments (10/7):
scanflow/src/pointer_map.rs#L135
warning: this function has too many arguments (10/7)
--> scanflow/src/pointer_map.rs:135:5
|
135 | / fn walk_down_range(
136 | | &self,
137 | | addr: Address,
138 | | (lrange, urange): (usize, usize),
... |
145 | | (pb_start, pb_end): (f32, f32),
146 | | ) {
| |______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
this function has too many arguments (10/7):
scanflow/src/pointer_map.rs#L135
warning: this function has too many arguments (10/7)
--> scanflow/src/pointer_map.rs:135:5
|
135 | / fn walk_down_range(
136 | | &self,
137 | | addr: Address,
138 | | (lrange, urange): (usize, usize),
... |
145 | | (pb_start, pb_end): (f32, f32),
146 | | ) {
| |______^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
= note: `#[warn(clippy::too_many_arguments)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/pointer_map.rs#L61
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/pointer_map.rs:61:17
|
61 | / (0..size)
62 | | .into_iter()
| |________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
useless conversion to the same type: `std::ops::Range<u64>`:
scanflow/src/pointer_map.rs#L61
warning: useless conversion to the same type: `std::ops::Range<u64>`
--> scanflow/src/pointer_map.rs:61:17
|
61 | / (0..size)
62 | | .into_iter()
| |________________________________^ help: consider removing `.into_iter()`: `(0..size)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
= note: `#[warn(clippy::useless_conversion)]` on by default
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/pointer_map.rs#L51
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/pointer_map.rs:51:42
|
51 | .map(|CTup3(_, size, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/pointer_map.rs#L51
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/pointer_map.rs:51:42
|
51 | .map(|CTup3(_, size, _)| size.to_umem() as u64)
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `size.to_umem()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L122
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:122:28
|
122 | pb.add(m.size as u64);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L122
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:122:28
|
122 | pb.add(m.size as u64);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L94
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:94:52
|
94 | ... decoder.set_ip(addr as u64);
| ^^^^^^^^^^^ help: try: `addr`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L94
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:94:52
|
94 | ... decoder.set_ip(addr as u64);
| ^^^^^^^^^^^ help: try: `addr`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L47
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:47:51
|
47 | let pb = PBar::new(modules.iter().map(|m| m.size as u64).sum::<u64>(), true);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
casting to the same type is unnecessary (`u64` -> `u64`):
scanflow/src/disasm.rs#L47
warning: casting to the same type is unnecessary (`u64` -> `u64`)
--> scanflow/src/disasm.rs:47:51
|
47 | let pb = PBar::new(modules.iter().map(|m| m.size as u64).sum::<u64>(), true);
| ^^^^^^^^^^^^^ help: try: `m.size`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
redundant closure:
scanflow/src/disasm.rs#L45
warning: redundant closure
--> scanflow/src/disasm.rs:45:44
|
45 | let sections = ThreadLocalCtx::new(|| Vec::<SectionInfo>::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Vec::<SectionInfo>::new`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
|
redundant closure:
scanflow/src/disasm.rs#L45
warning: redundant closure
--> scanflow/src/disasm.rs:45:44
|
45 | let sections = ThreadLocalCtx::new(|| Vec::<SectionInfo>::new());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `Vec::<SectionInfo>::new`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
= note: `#[warn(clippy::redundant_closure)]` on by default
|
test (macos-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
test-cross-aarch64
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
test-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
build-cross-aarch64
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
build-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
build-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
build-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
build-cross-aarch64
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
|
test (windows-latest)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|