Suppress related warnings, fix nanoid, and get the build green (#7579)

Mikayla Maki created

This is in preparation for adding a Linux build step to our CI.

Release Notes:

- N/A

Change summary

crates/gpui/src/platform.rs                    |  3 +++
crates/gpui/src/platform/linux/dispatcher.rs   |  2 ++
crates/gpui/src/platform/linux/text_system.rs  | 12 +++---------
crates/gpui/src/platform/linux/window.rs       |  3 +++
crates/gpui/src/platform/mac/metal_renderer.rs |  5 ++++-
crates/gpui/src/scene.rs                       |  2 --
crates/live_kit_client/Cargo.toml              |  1 +
crates/zed/src/languages/purescript.rs         |  2 ++
8 files changed, 18 insertions(+), 12 deletions(-)

Detailed changes

crates/gpui/src/platform.rs 🔗

@@ -1,3 +1,6 @@
+// todo!(linux): remove
+#![cfg_attr(target_os = "linux", allow(dead_code))]
+
 mod app_menu;
 mod keystroke;
 #[cfg(target_os = "linux")]

crates/gpui/src/platform/linux/dispatcher.rs 🔗

@@ -1,6 +1,8 @@
 #![allow(non_upper_case_globals)]
 #![allow(non_camel_case_types)]
 #![allow(non_snake_case)]
+//todo!(linux): remove
+#![allow(unused_variables)]
 
 use crate::{PlatformDispatcher, TaskLabel};
 use async_task::Runnable;

crates/gpui/src/platform/linux/text_system.rs 🔗

@@ -1,18 +1,12 @@
+//todo!(linux) remove
+#[allow(unused)]
 use crate::{
     Bounds, DevicePixels, Font, FontId, FontMetrics, FontRun, GlyphId, LineLayout, Pixels,
     PlatformTextSystem, RenderGlyphParams, SharedString, Size,
 };
 use anyhow::Result;
 use collections::HashMap;
-use font_kit::{
-    font::Font as FontKitFont,
-    handle::Handle,
-    hinting::HintingOptions,
-    metrics::Metrics,
-    properties::{Style as FontkitStyle, Weight as FontkitWeight},
-    source::SystemSource,
-    sources::mem::MemSource,
-};
+use font_kit::{font::Font as FontKitFont, source::SystemSource, sources::mem::MemSource};
 use parking_lot::RwLock;
 use smallvec::SmallVec;
 use std::borrow::Cow;

crates/gpui/src/platform/linux/window.rs 🔗

@@ -1,3 +1,6 @@
+//todo!(linux): remove
+#![allow(unused)]
+
 use super::BladeRenderer;
 use crate::{
     Bounds, GlobalPixels, LinuxDisplay, Pixels, PlatformDisplay, PlatformInputHandler,

crates/gpui/src/platform/mac/metal_renderer.rs 🔗

@@ -19,6 +19,9 @@ use parking_lot::Mutex;
 use smallvec::SmallVec;
 use std::{cell::Cell, ffi::c_void, mem, ptr, sync::Arc};
 
+// Exported to metal
+pub(crate) type PointF = crate::Point<f32>;
+
 #[cfg(not(feature = "runtime_shaders"))]
 const SHADERS_METALLIB: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/shaders.metallib"));
 #[cfg(feature = "runtime_shaders")]
@@ -77,7 +80,7 @@ impl MetalRenderer {
             .new_library_with_data(SHADERS_METALLIB)
             .expect("error building metal library");
 
-        fn to_float2_bits(point: crate::PointF) -> u64 {
+        fn to_float2_bits(point: PointF) -> u64 {
             let mut output = point.y.to_bits() as u64;
             output <<= 32;
             output |= point.x.to_bits() as u64;

crates/gpui/src/scene.rs 🔗

@@ -5,8 +5,6 @@ use crate::{
 use collections::{BTreeMap, FxHashSet};
 use std::{fmt::Debug, iter::Peekable, slice};
 
-// Exported to metal
-pub(crate) type PointF = Point<f32>;
 #[allow(non_camel_case_types, unused)]
 pub(crate) type PathVertex_ScaledPixels = PathVertex<ScaledPixels>;
 

crates/live_kit_client/Cargo.toml 🔗

@@ -44,6 +44,7 @@ async-trait = { workspace = true }
 collections = { workspace = true, features = ["test-support"] }
 gpui = { workspace = true, features = ["test-support"] }
 live_kit_server.workspace = true
+nanoid = "0.4"
 
 [dev-dependencies]
 anyhow.workspace = true

crates/zed/src/languages/purescript.rs 🔗

@@ -26,6 +26,8 @@ pub struct PurescriptLspAdapter {
 }
 
 impl PurescriptLspAdapter {
+    // todo!(linux): remove
+    #[cfg_attr(target_os = "linux", allow(dead_code))]
     pub fn new(node: Arc<dyn NodeRuntime>) -> Self {
         Self { node }
     }