diff --git a/lektor.code-workspace b/lektor.code-workspace
new file mode 100644
index 0000000000000000000000000000000000000000..c3d879e217e39f7cb345aede1f5458f2c2a06407
--- /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 0443ade497069a159e3c636fd832a2ffd2f2e275..368c238dedf3518b6760ee9b712d2081985f242e 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 8be40e49a5d8aa263ec459e709c5c19a363728a8..50ab6ae35134c6fd13fa37d1307816f1bb3180ab 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 8e7963f453d88232b46286b3a113af61bffd0b81..80655afb9d5556034c011a67ee8d4b843ca1da36 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 61a54d2724fe5ec27405d0dc4e34a6ed6d36c929..b55dc959428e48f04bce8d60388133620e30719f 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
 }