feat: move utils into lib

This commit is contained in:
Paul Pan 2024-04-08 23:05:46 +08:00
parent 6267f8449d
commit bed9baac4b
7 changed files with 102 additions and 1 deletions

86
lib/utils/Cargo.lock generated Normal file
View File

@ -0,0 +1,86 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "autocfg"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "bitflags"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
[[package]]
name = "num-derive"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "num-traits"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
dependencies = [
"autocfg",
]
[[package]]
name = "proc-macro2"
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]
[[package]]
name = "syn"
version = "2.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "utils"
version = "0.1.0"
dependencies = [
"vspace",
]
[[package]]
name = "vspace"
version = "0.1.0"
dependencies = [
"bitflags",
"num-derive",
"num-traits",
]

11
lib/utils/Cargo.toml Normal file
View File

@ -0,0 +1,11 @@
[package]
name = "utils"
version = "0.1.0"
edition = "2021"
[features]
default = []
legacy = []
[dependencies]
vspace = { path = "../vspace" }

View File

@ -1,4 +1,4 @@
use crate::vspace::addr::{PhysAddr, VirtAddr};
use vspace::addr::{PhysAddr, VirtAddr};
extern "C" {
pub type ExternSymbol;

View File

@ -1,3 +1,6 @@
#![no_std]
#![feature(extern_types)]
pub mod extern_addr;
pub mod function_name;
pub mod size;

View File

@ -13,6 +13,7 @@ impl Then for bool {
}
}
#[inline]
fn some<T, E, F: FnOnce() -> T>(self, f: F, err: E) -> Result<T, E> {
if self {
Ok(f())