From e50cffecbb29f711f12f2283403751b20e4f0ae4 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Thu, 8 Dec 2022 18:19:33 +0100
Subject: [PATCH] MISC: Add VSCODE workspace files to hace something editable
 in vscode + apply clippy

---
 lektor.code-workspace                         | 33 +++++++++++++++++++
 .../liblektor-rs/src/database/connexion.rs    |  2 +-
 src/rust/liblektor-rs/src/database/queue.rs   | 14 ++++----
 .../src/database/unsafe_interface.rs          |  2 +-
 src/rust/liblektor-rs/src/module/repo_rs.rs   |  4 +--
 5 files changed, 44 insertions(+), 11 deletions(-)
 create mode 100644 lektor.code-workspace

diff --git a/lektor.code-workspace b/lektor.code-workspace
new file mode 100644
index 00000000..c3d879e2
--- /dev/null
+++ b/lektor.code-workspace
@@ -0,0 +1,33 @@
+{
+    "folders": [
+        {
+            "path": ".",
+            "name": "Root Folder"
+        },
+        {
+            "path": "inc",
+            "name": "Includes"
+        },
+        {
+            "path": "src",
+            "name": "Lektor Sources"
+        },
+        {
+            "path": "src/rust/liblektor-rs",
+            "name": "Lektor Rust Lib Sources"
+        },
+        {
+            "path": "src/rust/amadeus-rs",
+            "name": "Amadeus RS Sources"
+        },
+    ],
+    "settings": {
+        "ltex.language": "en",
+        "languageTool.language": "en",
+        "editor.formatOnSave": true,
+        "json.format.enable": true,
+        "rust-analyzer.checkOnSave.command": "clippy",
+        "rust-analyzer.inlayHints.parameterHints.enable": false,
+        "rust-analyzer.procMacro.attributes.enable": true
+    }
+}
\ No newline at end of file
diff --git a/src/rust/liblektor-rs/src/database/connexion.rs b/src/rust/liblektor-rs/src/database/connexion.rs
index 0443ade4..368c238d 100644
--- a/src/rust/liblektor-rs/src/database/connexion.rs
+++ b/src/rust/liblektor-rs/src/database/connexion.rs
@@ -114,7 +114,7 @@ impl LktDatabaseConnection {
     }
 
     /// Add a kara with a request.
-    pub fn add_kara_from_request<'a>(&mut self, kara: NewKaraRequest<'a>) -> LktDatabaseResult<()> {
+    pub fn add_kara_from_request(&mut self, kara: NewKaraRequest) -> LktDatabaseResult<()> {
         let (id, new_kara, lang, karamakers, tags) = kara;
         self.ensure_language_exists(&lang)?;
         self.sqlite.exclusive_transaction(|c| {
diff --git a/src/rust/liblektor-rs/src/database/queue.rs b/src/rust/liblektor-rs/src/database/queue.rs
index 8be40e49..50ab6ae3 100644
--- a/src/rust/liblektor-rs/src/database/queue.rs
+++ b/src/rust/liblektor-rs/src/database/queue.rs
@@ -33,15 +33,15 @@ impl_from_for_proprity!(i16);
 impl_from_for_proprity!(i32);
 impl_from_for_proprity!(i64);
 
-impl Into<i32> for LktDatabasePriority {
-    fn into(self) -> i32 {
-        self.value as i32
+impl From<LktDatabasePriority> for i32 {
+    fn from(val: LktDatabasePriority) -> Self {
+        val.value as i32
     }
 }
 
-impl Into<usize> for LktDatabasePriority {
-    fn into(self) -> usize {
-        self.value as usize
+impl From<LktDatabasePriority> for usize {
+    fn from(val: LktDatabasePriority) -> Self {
+        val.value as usize
     }
 }
 
@@ -132,7 +132,7 @@ impl LktDatabaseQueue {
 
     pub fn range(&self, range: Range<usize>) -> LktDatabaseQueueRangeIter {
         let mut iter = self.iter();
-        let remaining = range.end.checked_sub(range.start).unwrap_or(0);
+        let remaining = range.end.saturating_sub(range.start);
         if remaining >= 1 {
             for _ in 0..range.start {
                 iter.next();
diff --git a/src/rust/liblektor-rs/src/database/unsafe_interface.rs b/src/rust/liblektor-rs/src/database/unsafe_interface.rs
index 8e7963f4..80655afb 100644
--- a/src/rust/liblektor-rs/src/database/unsafe_interface.rs
+++ b/src/rust/liblektor-rs/src/database/unsafe_interface.rs
@@ -34,7 +34,7 @@ pub unsafe extern "C" fn lkt_database_establish_connection(
 /// undefined.
 #[no_mangle]
 pub unsafe extern "C" fn lkt_database_close_connection(db: *mut LktDatabaseConnection) {
-    if db == std::ptr::null_mut() {
+    if db.is_null() {
         error!("can't clost a connexion to a null database!")
     } else {
         let db = Box::from_raw(db);
diff --git a/src/rust/liblektor-rs/src/module/repo_rs.rs b/src/rust/liblektor-rs/src/module/repo_rs.rs
index 61a54d27..b55dc959 100644
--- a/src/rust/liblektor-rs/src/module/repo_rs.rs
+++ b/src/rust/liblektor-rs/src/module/repo_rs.rs
@@ -16,13 +16,13 @@ extern "C" fn lkt_module_repo_rs_init(
     queue: LktQueuePtr,
     db: LktDbPtr,
 ) -> i32 {
-    let _repo: &mut LktModuleRepoRs = unsafe { std::mem::transmute(repo) };
+    let _repo: &mut LktModuleRepoRs = unsafe { &mut *repo };
     1
 }
 
 #[no_mangle]
 extern "C" fn lkt_module_repo_rs_free(repo: LktModuleRepoRsPtr) -> i32 {
-    let _repo: &mut LktModuleRepoRs = unsafe { std::mem::transmute(repo) };
+    let _repo: &mut LktModuleRepoRs = unsafe { &mut *repo };
     1
 }
 
-- 
GitLab