Skip to content

Commit edb67fa

Browse files
committed
add clippy lint to prevent from using std Instant
Signed-off-by: Ruihang Xia <[email protected]>
1 parent 0bf8728 commit edb67fa

File tree

7 files changed

+11
-5
lines changed

7 files changed

+11
-5
lines changed

benchmarks/src/clickbench.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616
// under the License.
1717

1818
use std::path::Path;
19-
use std::{path::PathBuf, time::Instant};
19+
use std::path::PathBuf;
2020

2121
use datafusion::{
2222
error::{DataFusionError, Result},
2323
prelude::SessionContext,
2424
};
2525
use datafusion_common::exec_datafusion_err;
26+
use datafusion_common::wasm::Instant;
2627
use structopt::StructOpt;
2728

2829
use crate::{BenchmarkRun, CommonOpt};

benchmarks/src/parquet_filter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ use datafusion::logical_expr::{lit, or, Expr};
2424
use datafusion::physical_plan::collect;
2525
use datafusion::prelude::{col, SessionContext};
2626
use datafusion::test_util::parquet::{ParquetScanOptions, TestParquetFile};
27+
use datafusion_common::wasm::Instant;
2728
use std::path::PathBuf;
28-
use std::time::Instant;
2929
use structopt::StructOpt;
3030

3131
/// Test performance of parquet filter pushdown

benchmarks/src/sort.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ use datafusion::physical_plan::collect;
2525
use datafusion::physical_plan::sorts::sort::SortExec;
2626
use datafusion::prelude::{SessionConfig, SessionContext};
2727
use datafusion::test_util::parquet::TestParquetFile;
28+
use datafusion_common::wasm::Instant;
2829
use std::path::PathBuf;
2930
use std::sync::Arc;
30-
use std::time::Instant;
3131
use structopt::StructOpt;
3232

3333
/// Test performance of sorting large datasets

benchmarks/src/tpch/convert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18+
use datafusion_common::wasm::Instant;
1819
use std::fs;
1920
use std::path::{Path, PathBuf};
20-
use std::time::Instant;
2121

2222
use datafusion::common::not_impl_err;
2323
use datafusion::error::DataFusionError;

benchmarks/src/tpch/run.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ use datafusion::physical_plan::{collect, displayable};
3131
use datafusion_common::{DEFAULT_CSV_EXTENSION, DEFAULT_PARQUET_EXTENSION};
3232
use log::info;
3333

34+
use datafusion_common::wasm::Instant;
3435
use std::path::PathBuf;
3536
use std::sync::Arc;
36-
use std::time::Instant;
3737

3838
use datafusion::error::Result;
3939
use datafusion::prelude::*;

clippy.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ disallowed-methods = [
22
{ path = "tokio::task::spawn", reason = "To provide cancel-safety, use `SpawnedTask::spawn` instead (https://github.com/apache/arrow-datafusion/issues/6513)" },
33
{ path = "tokio::task::spawn_blocking", reason = "To provide cancel-safety, use `SpawnedTask::spawn` instead (https://github.com/apache/arrow-datafusion/issues/6513)" },
44
]
5+
6+
disallowed-types = [
7+
{ path = "std::time::Instant", reason = "Use `datafusion_common::instant::Instant` instead for WASM compatibility" },
8+
]

datafusion/common/src/wasm.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
/// under `wasm` feature gate. It provides the same API as [`std::time::Instant`].
2323
pub type Instant = instant::Instant;
2424

25+
#[allow(clippy::disallowed_types)]
2526
#[cfg(not(target_family = "wasm"))]
2627
/// DataFusion wrapper around [`std::time::Instant`]. This is only a type alias.
2728
pub type Instant = std::time::Instant;

0 commit comments

Comments
 (0)