Phase 9, MA1: crates/ghostty-macos (AppKit via objc2; empty stub on non-Apple targets) ports the foundation of Ghostty 1.3.1's Swift macOS app (ghostty/macos): main, AppDelegate (+Ghostty) with lifecycle, dock menu, open-file, notifications, shortcut sync and quit/reopen paths; MainMenu.xib as generated menu tables built into NSMenus; the Ghostty.App/Config/Surface wrappers driving libghostty in-process via ghostty-lib; the generic helpers; scripts/macos-bundle.sh to assemble Ghostty.app (dry-run on Linux). Feature areas are stubbed for MA2-MA5. Design and type mapping: docs/rewrite/notes/macos-app-design.md (App Intents is a Swift-only framework and cannot be ported). Compile-checked only (no macOS here): just check-macos passes for aarch64/x86_64-apple-darwin with -D warnings; 125 platform-independent tests run on Linux. Test Plan: - just check-macos - cargo test -p ghostty-macos
816 lines
42 KiB
Plaintext
816 lines
42 KiB
Plaintext
Compiling ghostty-build-info v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-build-info)
|
|
Checking ghostty-config v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-config)
|
|
Checking ghostty-font v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-font)
|
|
Checking ghostty-renderer v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-renderer)
|
|
Checking ghostty-inspector v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-inspector)
|
|
Checking ghostty-apprt v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-apprt)
|
|
Checking ghostty-termio v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-termio)
|
|
Checking ghostty-cli v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-cli)
|
|
Checking ghostty-core v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-core)
|
|
Checking ghostty-lib v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-lib)
|
|
Checking ghostty-macos v0.1.0 (/pantheon/pfs/git/rust/ghostty-rewrite/ghostty-rs/crates/ghostty-macos)
|
|
error[E0432]: unresolved import `crate::ghostty::capi::c_int`
|
|
--> crates/ghostty-macos/src/ghostty/surface_view.rs:52:5
|
|
|
|
|
52 | c_int, ghostty_surface_needs_confirm_quit,
|
|
| ^^^^^ no `c_int` in `ghostty::capi`
|
|
|
|
|
= help: consider importing one of these type aliases instead:
|
|
std::ffi::c_int
|
|
std::os::raw::c_int
|
|
core::ffi::c_int
|
|
libc::c_int
|
|
|
|
error[E0432]: unresolved import `crate::ghostty::capi::c_int`
|
|
--> crates/ghostty-macos/src/ghostty/surface_view.rs:52:5
|
|
|
|
|
52 | c_int, ghostty_surface_needs_confirm_quit,
|
|
| ^^^^^ no `c_int` in `ghostty::capi`
|
|
|
|
|
= help: consider importing one of these type aliases instead:
|
|
std::ffi::c_int
|
|
std::os::raw::c_int
|
|
core::ffi::c_int
|
|
libc::c_int
|
|
= note: type alias `crate::helpers::extensions::ns_pasteboard::tests::c_int` exists but is inaccessible
|
|
|
|
error[E0425]: cannot find function `remove_persistent_domain_for_ghostty_suite` in module `user_defaults`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:227:40
|
|
|
|
|
227 | user_defaults::remove_persistent_domain_for_ghostty_suite();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `user_defaults`
|
|
|
|
error[E0425]: cannot find function `register_defaults` in module `user_defaults`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:231:28
|
|
|
|
|
231 | user_defaults::register_defaults(&[
|
|
| ^^^^^^^^^^^^^^^^^ not found in `user_defaults`
|
|
|
|
error[E0425]: cannot find function `register_defaults` in module `user_defaults`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:670:24
|
|
|
|
|
670 | user_defaults::register_defaults(&[
|
|
| ^^^^^^^^^^^^^^^^^ not found in `user_defaults`
|
|
|
|
error[E0425]: cannot find function `name_window_did_become_key` in module `ns_notification`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1072:30
|
|
|
|
|
1072 | ns_notification::name_window_did_become_key(),
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `ns_notification`
|
|
|
|
error[E0425]: cannot find value `TERMINAL_WINDOW_BELL_DID_CHANGE_NOTIFICATION` in module `gn`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1104:38
|
|
|
|
|
1104 | bus.push(nc.add_observer(gn::TERMINAL_WINDOW_BELL_DID_CHANGE_NOTIFICATION, None, move |n| {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `gn`
|
|
|
|
error[E0425]: cannot find function `bundle_info_bool` in module `crate::helpers::app_info`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1321:38
|
|
|
|
|
1321 | if crate::helpers::app_info::bundle_info_bool("SUEnableAutomaticChecks") == Some(false) {
|
|
| ^^^^^^^^^^^^^^^^ not found in `crate::helpers::app_info`
|
|
|
|
error[E0425]: cannot find function `post_icon_did_change` in module `crate::features::custom_app_icon`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1416:43
|
|
|
|
|
1416 | crate::features::custom_app_icon::post_icon_did_change();
|
|
| ^^^^^^^^^^^^^^^^^^^^ not found in `crate::features::custom_app_icon`
|
|
|
|
error[E0425]: cannot find function `set_default_application_for_unix_executable` in module `crate::helpers::extensions::ns_workspace`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1500:51
|
|
|
|
|
1500 | crate::helpers::extensions::ns_workspace::set_default_application_for_unix_executable(
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::helpers::extensions::ns_workspace`
|
|
|
|
error[E0425]: cannot find function `ns_flags_from_swiftui` in module `crate::helpers::extensions::event_modifiers`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1572:74
|
|
|
|
|
1572 | let modifier_mask = crate::helpers::extensions::event_modifiers::ns_flags_from_swiftui(shortcut.modifiers);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ not found in `crate::helpers::extensions::event_modifiers`
|
|
|
|
error[E0425]: cannot find function `default_application_url_for_extension` in module `crate::helpers::extensions::ns_workspace`
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:962:68
|
|
|
|
|
962 | let editor = crate::helpers::extensions::ns_workspace::default_application_url_for_extension(&ext)
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::helpers::extensions::ns_workspace`
|
|
|
|
error[E0425]: cannot find value `default_text_editor` in module `crate::helpers::extensions::ns_workspace`
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:963:68
|
|
|
|
|
963 | .or_else(crate::helpers::extensions::ns_workspace::default_text_editor);
|
|
| ^^^^^^^^^^^^^^^^^^^ not found in `crate::helpers::extensions::ns_workspace`
|
|
|
|
error[E0425]: cannot find function `from_ghostty` in module `fullscreen_mode`
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:1141:39
|
|
|
|
|
1141 | let Some(mode) = fullscreen_mode::from_ghostty(raw) else {
|
|
| ^^^^^^^^^^^^ not found in `fullscreen_mode`
|
|
|
|
|
help: consider importing this function
|
|
|
|
|
20 + use crate::helpers::extensions::os_color::from_ghostty;
|
|
|
|
|
help: if you import `from_ghostty`, refer to it directly
|
|
|
|
|
1141 - let Some(mode) = fullscreen_mode::from_ghostty(raw) else {
|
|
1141 + let Some(mode) = from_ghostty(raw) else {
|
|
|
|
|
|
|
warning: unused import: `NSNumber`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:34:74
|
|
|
|
|
34 | NSArray, NSCoder, NSDictionary, NSKeyValueChangeKey, NSNotification, NSNumber, NSObject,
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused import: `Sender`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:76:92
|
|
|
|
|
76 | use crate::helpers::notification_center::{Notification, NotificationCenter, ObserverToken, Sender};
|
|
| ^^^^^^
|
|
|
|
error: usage of an `unsafe` block
|
|
--> crates/ghostty-macos/src/features/quick_terminal/controller.rs:64:9
|
|
|
|
|
64 | unsafe { msg_send![super(this), init] }
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: requested on the command line with `-D unsafe-code`
|
|
|
|
error: usage of an `unsafe` block
|
|
--> crates/ghostty-macos/src/features/services/mod.rs:26:9
|
|
|
|
|
26 | unsafe { msg_send![this, init] }
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `NSPasteboardNameGeneral`
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:36:19
|
|
|
|
|
36 | NSPasteboard, NSPasteboardNameGeneral, NSPasteboardTypeString,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `NSUserInterfaceItemSearching`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:31:52
|
|
|
|
|
31 | NSWindowLevel, NSWindowStyleMask, NSWorkspace, NSUserInterfaceItemSearching,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unused import: `NSNumber`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:34:74
|
|
|
|
|
34 | NSArray, NSCoder, NSDictionary, NSKeyValueChangeKey, NSNotification, NSNumber, NSObject,
|
|
| ^^^^^^^^
|
|
|
|
error[E0308]: mismatched types
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:288:24
|
|
|
|
|
199 | / define_class!(
|
|
200 | | // SAFETY: NSObject has no subclassing requirements; AppDelegate does not
|
|
201 | | // implement Drop.
|
|
202 | | #[unsafe(super(NSObject))]
|
|
... |
|
|
288 | | return true;
|
|
| | ^^^^ expected `Bool`, found `bool`
|
|
... |
|
|
523 | | );
|
|
| |_- expected `objc2::runtime::Bool` because of return type
|
|
|
|
|
help: call `Into::into` on this expression to convert `bool` into `objc2::runtime::Bool`
|
|
|
|
|
288 | return true.into();
|
|
| +++++++
|
|
|
|
error[E0599]: no method named `surface_tree` found for struct `Retained<TerminalController>` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:653:27
|
|
|
|
|
653 | for view in c.surface_tree() {
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
help: there is a method `surface_tree_is_split` with a similar name
|
|
|
|
|
653 | for view in c.surface_tree_is_split() {
|
|
| +++++++++
|
|
|
|
error[E0599]: no method named `attributeDescriptorForKeyword` found for struct `Retained<NSAppleEventDescriptor>` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:807:38
|
|
|
|
|
807 | if let Some(why) = event.attributeDescriptorForKeyword(keyword) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `Retained<NSAppleEventDescriptor>`
|
|
|
|
error[E0599]: no method named `retain` found for reference `&AppDelegate` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:939:46
|
|
|
|
|
939 | let weak = Weak::from_retained(&self.retain());
|
|
| ^^^^^^
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `Message` which provides `retain` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
16 + use objc2::Message;
|
|
|
|
|
help: there is a method `retainCount` with a similar name
|
|
|
|
|
939 | let weak = Weak::from_retained(&self.retainCount());
|
|
| +++++
|
|
|
|
error[E0599]: no method named `retain` found for reference `&AppDelegate` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:957:35
|
|
|
|
|
957 | Weak::from_retained(&self.retain())
|
|
| ^^^^^^
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `Message` which provides `retain` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
16 + use objc2::Message;
|
|
|
|
|
help: there is a method `retainCount` with a similar name
|
|
|
|
|
957 | Weak::from_retained(&self.retainCount())
|
|
| +++++
|
|
|
|
error[E0599]: the associated function or constant `alloc` exists for struct `NSSound`, but its trait bounds were not satisfied
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1199:30
|
|
|
|
|
1199 | NSSound::alloc(),
|
|
| ^^^^^ associated function or constant cannot be called on `NSSound` due to unsatisfied trait bounds
|
|
|
|
|
::: /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.6.5/src/macros/extern_class.rs:251:9
|
|
|
|
|
251 | / $v struct $class $(<$($generic $(: $($bounds)+)? $(= $default)?),*>)? {
|
|
252 | | __superclass: $crate::__fallback_if_not_set! {
|
|
253 | | ($($superclass)?)
|
|
... |
|
|
261 | | $(__generics: $crate::__macro_helpers::PhantomData<($(*mut $generic),+)>,)?
|
|
262 | | }
|
|
| |_________- doesn't satisfy `<_ as ClassType>::ThreadKind = dyn MainThreadOnly` or `NSSound: MainThreadOnly`
|
|
|
|
|
= note: the following trait bounds were not satisfied:
|
|
`<NSSound as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `NSSound: MainThreadOnly`
|
|
`<&NSSound as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `&NSSound: MainThreadOnly`
|
|
`&NSSound: ClassType`
|
|
which is required by `&NSSound: MainThreadOnly`
|
|
`<&mut NSSound as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `&mut NSSound: MainThreadOnly`
|
|
`&mut NSSound: ClassType`
|
|
which is required by `&mut NSSound: MainThreadOnly`
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `AnyThread` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
16 + use objc2::AnyThread;
|
|
|
|
|
|
|
error[E0599]: no method named `exec_after` found for reference `&'static DispatchQueue` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1389:39
|
|
|
|
|
1389 | DispatchQueue::main().exec_after(
|
|
| ----------------------^^^^^^^^^^
|
|
|
|
|
help: there is a method `after` with a similar name
|
|
|
|
|
1389 - DispatchQueue::main().exec_after(
|
|
1389 + DispatchQueue::main().after(
|
|
|
|
|
|
|
error[E0599]: no method named `mtm` found for reference `&AppDelegate` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate_ghostty.rs:17:61
|
|
|
|
|
17 | for window in NSApplication::sharedApplication(self.mtm()).windows() {
|
|
| ^^^ method not found in `&AppDelegate`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `MainThreadOnly` which provides `mtm` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
5 + use objc2::MainThreadOnly;
|
|
|
|
|
|
|
error[E0599]: no method named `surface_tree` found for struct `Retained<BaseTerminalController>` in the current scope
|
|
--> crates/ghostty-macos/src/app/app_delegate_ghostty.rs:25:39
|
|
|
|
|
25 | for surface in controller.surface_tree() {
|
|
| ^^^^^^^^^^^^
|
|
|
|
|
help: there is a method `surface_tree_is_split` with a similar name
|
|
|
|
|
25 | for surface in controller.surface_tree_is_split() {
|
|
| +++++++++
|
|
|
|
error[E0599]: no associated function or constant named `alloc` found for struct `NSMenu` in the current scope
|
|
--> crates/ghostty-macos/src/app/main_menu.rs:62:46
|
|
|
|
|
62 | let menu = NSMenu::initWithTitle(NSMenu::alloc(mtm), &NSString::from_str(spec.title));
|
|
| ^^^^^ associated function or constant not found in `NSMenu`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `MainThreadOnly` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
22 + use objc2::MainThreadOnly;
|
|
|
|
|
|
|
error[E0599]: no associated function or constant named `alloc` found for struct `NSMenuItem` in the current scope
|
|
--> crates/ghostty-macos/src/app/main_menu.rs:74:33
|
|
|
|
|
74 | NSMenuItem::alloc(mtm),
|
|
| ^^^^^ associated function or constant not found in `NSMenuItem`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `MainThreadOnly` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
22 + use objc2::MainThreadOnly;
|
|
|
|
|
|
|
error[E0599]: no method named `ivars` found for struct `PartialInit<T>` in the current scope
|
|
--> crates/ghostty-macos/src/features/quick_terminal/controller.rs:62:14
|
|
|
|
|
62 | this.ivars().position.set(position);
|
|
| ^^^^^ method not found in `PartialInit<QuickTerminalController>`
|
|
|
|
error[E0308]: mismatched types
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:103:45
|
|
|
|
|
103 | unsafe { self.center.removeObserver(&self.token) };
|
|
| -------------- ^^^^^^^^^^^ expected `&AnyObject`, found `&Retained<ProtocolObject<_>>`
|
|
| |
|
|
| arguments to this method are incorrect
|
|
|
|
|
= note: expected reference `&AnyObject`
|
|
found reference `&Retained<ProtocolObject<(dyn NSObjectProtocol + 'static)>>`
|
|
note: method defined here
|
|
--> /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.3.2/src/generated/NSNotification.rs:188:23
|
|
|
|
|
188 | pub unsafe fn removeObserver(&self, observer: &AnyObject);
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
error[E0599]: no associated function or constant named `alloc` found for struct `NSUUID` in the current scope
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:554:40
|
|
|
|
|
554 | NSUUID::initWithUUIDString(NSUUID::alloc(), &s)
|
|
| ^^^^^ associated function or constant not found in `NSUUID`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `AnyThread` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
20 + use objc2::AnyThread;
|
|
|
|
|
|
|
error[E0599]: no associated function or constant named `class` found for struct `NSURL` in the current scope
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:660:48
|
|
|
|
|
660 | let classes = NSArray::from_slice(&[NSURL::class()]);
|
|
| ^^^^^ associated function or constant not found in `NSURL`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `ClassType` which provides `class` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
20 + use objc2::ClassType;
|
|
|
|
|
help: the function `class` is implemented on `AnyObject`
|
|
|
|
|
660 - let classes = NSArray::from_slice(&[NSURL::class()]);
|
|
660 + let classes = NSArray::from_slice(&[AnyObject::class()]);
|
|
|
|
|
|
|
error[E0599]: no method named `copy` found for reference `&NSString` in the current scope
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:690:50
|
|
|
|
|
690 | return unsafe { NSPasteboardTypeString }.copy();
|
|
| ^^^^ method not found in `&NSString`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `NSCopying` which provides `copy` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
20 + use objc2_foundation::NSCopying;
|
|
|
|
|
|
|
error[E0061]: this method takes 0 arguments but 1 argument was supplied
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:938:18
|
|
|
|
|
938 | delegate.check_for_updates(None);
|
|
| ^^^^^^^^^^^^^^^^^ ---- unexpected argument of type `Option<_>`
|
|
|
|
|
note: method defined here
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1437:12
|
|
|
|
|
1437 | pub fn check_for_updates(&self) {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
help: remove the extra argument
|
|
|
|
|
938 - delegate.check_for_updates(None);
|
|
938 + delegate.check_for_updates();
|
|
|
|
|
|
|
error[E0308]: mismatched types
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:990:31
|
|
|
|
|
988 | fn undo_manager_for(target: &ghostty_target_s) -> Option<Retained<objc2_foundation::NSUndoManager>> {
|
|
| ------------------------------------------------- expected `Option<Retained<NSUndoManager>>` because of return type
|
|
989 | match target.tag {
|
|
990 | GHOSTTY_TARGET_APP => app_delegate().map(|d| d.undo_manager()),
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<Retained<NSUndoManager>>`, found `Option<Retained<ExpiringUndoManager>>`
|
|
|
|
|
= note: expected enum `Option<Retained<NSUndoManager>>`
|
|
found enum `Option<Retained<ExpiringUndoManager>>`
|
|
|
|
error[E0061]: this method takes 0 arguments but 1 argument was supplied
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:1136:14
|
|
|
|
|
1136 | delegate.close_all_windows(None);
|
|
| ^^^^^^^^^^^^^^^^^ ---- unexpected argument of type `Option<_>`
|
|
|
|
|
note: method defined here
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1442:12
|
|
|
|
|
1442 | pub fn close_all_windows(&self) {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
help: remove the extra argument
|
|
|
|
|
1136 - delegate.close_all_windows(None);
|
|
1136 + delegate.close_all_windows();
|
|
|
|
|
|
|
error[E0061]: this method takes 0 arguments but 1 argument was supplied
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:1164:14
|
|
|
|
|
1164 | delegate.toggle_visibility(None);
|
|
| ^^^^^^^^^^^^^^^^^ ---- unexpected argument of type `Option<_>`
|
|
|
|
|
note: method defined here
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1453:12
|
|
|
|
|
1453 | pub fn toggle_visibility(&self) {
|
|
| ^^^^^^^^^^^^^^^^^
|
|
help: remove the extra argument
|
|
|
|
|
1164 - delegate.toggle_visibility(None);
|
|
1164 + delegate.toggle_visibility();
|
|
|
|
|
|
|
error[E0061]: this method takes 0 arguments but 1 argument was supplied
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:1499:14
|
|
|
|
|
1499 | delegate.toggle_quick_terminal(None);
|
|
| ^^^^^^^^^^^^^^^^^^^^^ ---- unexpected argument of type `Option<_>`
|
|
|
|
|
note: method defined here
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1448:12
|
|
|
|
|
1448 | pub fn toggle_quick_terminal(&self) {
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
help: remove the extra argument
|
|
|
|
|
1499 - delegate.toggle_quick_terminal(None);
|
|
1499 + delegate.toggle_quick_terminal();
|
|
|
|
|
|
|
error[E0308]: mismatched types
|
|
--> crates/ghostty-macos/src/ghostty/surface_view.rs:514:13
|
|
|
|
|
512 | let user_info: Retained<NSDictionary<NSString, AnyObject>> = NSDictionary::from_retained_objects(
|
|
| ----------------------------------- arguments to this function are incorrect
|
|
513 | &[&*surface_key, &*focus_key],
|
|
514 | vec![surface_val, focus_val],
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[Retained<AnyObject>]`, found `Vec<Retained<AnyObject>>`
|
|
|
|
|
= note: expected reference `&[Retained<AnyObject>]`
|
|
found struct `Vec<Retained<AnyObject>>`
|
|
note: associated function defined here
|
|
--> /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-foundation-0.3.2/src/dictionary.rs:100:12
|
|
|
|
|
100 | pub fn from_retained_objects<CopiedKey>(
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0308]: mismatched types
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_image.rs:22:14
|
|
|
|
|
20 | fn cg_image(image: &NSImage) -> Option<objc2_core_foundation::CFRetained<objc2_core_graphics::CGImage>> {
|
|
| ----------------------------------------------------------------------- expected `Option<CFRetained<CGImage>>` because of return type
|
|
21 | // SAFETY: nil rect/context/hints are allowed.
|
|
22 | unsafe { image.CGImageForProposedRect_context_hints(std::ptr::null_mut(), None, None) }
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<CFRetained<CGImage>>`, found `Option<Retained<CGImage>>`
|
|
|
|
|
= note: expected enum `Option<CFRetained<CGImage>>`
|
|
found enum `Option<Retained<CGImage>>`
|
|
|
|
warning: use of deprecated method `objc2_app_kit::NSImage::lockFocus`: This method is incompatible with resolution-independent drawing and should not be used. Instead, use +[NSImage imageWithSize:flipped:drawingHandler:] to create a block-based image describing the desired image drawing, or use +[NSGraphicsContext graphicsContextWithBitmapImageRep:] to manipulate specific bitmap image representations.
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_image.rs:82:16
|
|
|
|
|
82 | result.lockFocus();
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `#[warn(deprecated)]` on by default
|
|
|
|
warning: use of deprecated method `objc2_app_kit::NSImage::unlockFocus`: This method is incompatible with resolution-independent drawing and should not be used. Instead, use +[NSImage imageWithSize:flipped:drawingHandler:] to create a block-based image describing the desired image drawing, or use +[NSGraphicsContext graphicsContextWithBitmapImageRep:] to manipulate specific bitmap image representations.
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_image.rs:98:16
|
|
|
|
|
98 | result.unlockFocus();
|
|
| ^^^^^^^^^^^
|
|
|
|
warning: use of deprecated method `objc2_app_kit::NSImage::lockFocus`: This method is incompatible with resolution-independent drawing and should not be used. Instead, use +[NSImage imageWithSize:flipped:drawingHandler:] to create a block-based image describing the desired image drawing, or use +[NSGraphicsContext graphicsContextWithBitmapImageRep:] to manipulate specific bitmap image representations.
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_image.rs:109:19
|
|
|
|
|
109 | new_image.lockFocus();
|
|
| ^^^^^^^^^
|
|
|
|
warning: use of deprecated method `objc2_app_kit::NSImage::unlockFocus`: This method is incompatible with resolution-independent drawing and should not be used. Instead, use +[NSImage imageWithSize:flipped:drawingHandler:] to create a block-based image describing the desired image drawing, or use +[NSGraphicsContext graphicsContextWithBitmapImageRep:] to manipulate specific bitmap image representations.
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_image.rs:129:19
|
|
|
|
|
129 | new_image.unlockFocus();
|
|
| ^^^^^^^^^^^
|
|
|
|
error[E0599]: no method named `usingColorSpace` found for struct `Retained<NSColor>` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_view.rs:198:27
|
|
|
|
|
198 | c.usingColorSpace(&objc2_app_kit::NSColorSpace::deviceRGBColorSpace())
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
help: there is a method `colorSpace` with a similar name, but with different arguments
|
|
--> /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.6.5/src/macros/extern_methods.rs:267:14
|
|
|
|
|
267 | ($v fn $fn_name($($params)*) $(-> $ret)?)
|
|
| ^^
|
|
|
|
|
::: /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-app-kit-0.3.2/src/generated/NSColor.rs:112:5
|
|
|
|
|
112 | / extern_methods!(
|
|
113 | | #[unsafe(method(init))]
|
|
114 | | #[unsafe(method_family = init)]
|
|
115 | | pub fn init(this: Allocated<Self>) -> Retained<Self>;
|
|
... |
|
|
901 | | pub fn setIgnoresAlpha(ignores_alpha: bool, mtm: MainThreadMarker);
|
|
902 | | );
|
|
| |_____- in this macro invocation
|
|
= note: this error originates in the macro `$crate::extern_methods` which comes from the expansion of the macro `extern_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
|
|
|
|
error[E0599]: no associated function or constant named `alloc` found for struct `NSUserDefaults` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/extensions/user_defaults.rs:18:63
|
|
|
|
|
18 | NSUserDefaults::initWithSuiteName(NSUserDefaults::alloc(), Some(&NSString::from_str(&suite)))
|
|
| ^^^^^ associated function or constant not found in `NSUserDefaults`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `AnyThread` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
3 + use objc2::AnyThread;
|
|
|
|
|
|
|
error[E0599]: no associated function or constant named `alloc` found for struct `NSUUID` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/extensions/uuid.rs:11:40
|
|
|
|
|
11 | NSUUID::initWithUUIDString(NSUUID::alloc(), &NSString::from_str(&s.to_string()))
|
|
| ^^^^^ associated function or constant not found in `NSUUID`
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `AnyThread` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
3 + use objc2::AnyThread;
|
|
|
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeLeftCursor`: Use either `+[NSCursor columnResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:82:43
|
|
|
|
|
82 | Self::ResizeLeft => NSCursor::resizeLeftCursor(),
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeRightCursor`: Use either `+[NSCursor columnResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:86:44
|
|
|
|
|
86 | Self::ResizeRight => NSCursor::resizeRightCursor(),
|
|
| ^^^^^^^^^^^^^^^^^
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeUpCursor`: Use either `+[NSCursor rowResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:90:41
|
|
|
|
|
90 | Self::ResizeUp => NSCursor::resizeUpCursor(),
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeDownCursor`: Use either `+[NSCursor rowResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:94:43
|
|
|
|
|
94 | Self::ResizeDown => NSCursor::resizeDownCursor(),
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeUpDownCursor`: Use either `+[NSCursor rowResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:96:45
|
|
|
|
|
96 | Self::ResizeUpDown => NSCursor::resizeUpDownCursor(),
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: use of deprecated associated function `objc2_app_kit::NSCursor::resizeLeftRightCursor`: Use either `+[NSCursor columnResizeCursorInDirections:]` or `+[NSCursor frameResizeCursorFromPosition:inDirections:]` instead, depending on whether a divider is being re-positioned or a rectangular frame is being resized.
|
|
--> crates/ghostty-macos/src/helpers/cursor.rs:98:48
|
|
|
|
|
98 | Self::ResizeLeftRight => NSCursor::resizeLeftRightCursor(),
|
|
| ^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0599]: the associated function or constant `alloc` exists for struct `ExpiringTarget`, but its trait bounds were not satisfied
|
|
--> crates/ghostty-macos/src/helpers/expiring_undo_manager.rs:74:26
|
|
|
|
|
56 | / define_class!(
|
|
57 | | /// A target object for ExpiringUndoManager that removes itself from the
|
|
58 | | /// undo manager after it expires.
|
|
59 | | ///
|
|
... |
|
|
69 | | struct ExpiringTarget;
|
|
70 | | );
|
|
| |_- associated function or constant `alloc` not found for this struct because it doesn't satisfy `<_ as ClassType>::ThreadKind = dyn MainThreadOnly` or `ExpiringTarget: MainThreadOnly`
|
|
...
|
|
74 | let this = Self::alloc().set_ivars(TargetIvars {
|
|
| ^^^^^ associated function or constant cannot be called on `ExpiringTarget` due to unsatisfied trait bounds
|
|
|
|
|
= note: the following trait bounds were not satisfied:
|
|
`<ExpiringTarget as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `ExpiringTarget: MainThreadOnly`
|
|
`<&ExpiringTarget as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `&ExpiringTarget: MainThreadOnly`
|
|
`&ExpiringTarget: ClassType`
|
|
which is required by `&ExpiringTarget: MainThreadOnly`
|
|
`<&mut ExpiringTarget as ClassType>::ThreadKind = dyn MainThreadOnly`
|
|
which is required by `&mut ExpiringTarget: MainThreadOnly`
|
|
`&mut ExpiringTarget: ClassType`
|
|
which is required by `&mut ExpiringTarget: MainThreadOnly`
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `AnyThread` which provides `alloc` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
25 + use objc2::AnyThread;
|
|
|
|
|
|
|
error[E0599]: no associated function or constant named `ptr_eq` found for struct `Retained<_>` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/expiring_undo_manager.rs:191:86
|
|
|
|
|
191 | self.ivars().expiring_targets.borrow_mut().retain(|x| !Retained::ptr_eq(x, &e));
|
|
| ^^^^^^ associated function or constant not found in `Retained<_>`
|
|
|
|
|
note: if you're trying to build a new `Retained<_>` consider using one of the following associated functions:
|
|
Retained::<T>::from_raw
|
|
Retained::<T>::new
|
|
Retained::<T>::cast_unchecked
|
|
Retained::<T>::cast
|
|
and 2 others
|
|
--> /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.6.5/src/rc/retained.rs:215:5
|
|
|
|
|
215 | pub unsafe fn from_raw(ptr: *mut T) -> Option<Self> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
229 | pub unsafe fn new(ptr: *mut T) -> Option<Self> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
381 | pub unsafe fn cast_unchecked<U: Message>(this: Self) -> Retained<U> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
396 | pub unsafe fn cast<U: Message>(this: Self) -> Retained<U> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0599]: no method named `retain` found for reference `&NSWindow` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/fullscreen.rs:96:28
|
|
|
|
|
96 | window: window.retain(),
|
|
| ^^^^^^
|
|
|
|
|
= help: items from traits can only be used if the trait is in scope
|
|
help: trait `Message` which provides `retain` is implemented but not in scope; perhaps you want to import it
|
|
|
|
|
8 + use objc2::Message;
|
|
|
|
|
help: there is a method `retainCount` with a similar name
|
|
|
|
|
96 | window: window.retainCount(),
|
|
| +++++
|
|
|
|
error[E0599]: no associated function or constant named `ptr_eq` found for struct `Retained<_>` in the current scope
|
|
--> crates/ghostty-macos/src/helpers/fullscreen.rs:458:94
|
|
|
|
|
458 | let present = window.titlebarAccessoryViewControllers().iter().any(|x| Retained::ptr_eq(&x, c));
|
|
| ^^^^^^ associated function or constant not found in `Retained<_>`
|
|
|
|
|
note: if you're trying to build a new `Retained<_>` consider using one of the following associated functions:
|
|
Retained::<T>::from_raw
|
|
Retained::<T>::new
|
|
Retained::<T>::cast_unchecked
|
|
Retained::<T>::cast
|
|
and 2 others
|
|
--> /home/pfs/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/objc2-0.6.5/src/rc/retained.rs:215:5
|
|
|
|
|
215 | pub unsafe fn from_raw(ptr: *mut T) -> Option<Self> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
229 | pub unsafe fn new(ptr: *mut T) -> Option<Self> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
381 | pub unsafe fn cast_unchecked<U: Message>(this: Self) -> Retained<U> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
396 | pub unsafe fn cast<U: Message>(this: Self) -> Retained<U> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `NSUserInterfaceItemSearching`
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:31:52
|
|
|
|
|
31 | NSWindowLevel, NSWindowStyleMask, NSWorkspace, NSUserInterfaceItemSearching,
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
error[E0133]: call to unsafe function `NSEvent::addLocalMonitorForEventsMatchingMask_handler` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:973:23
|
|
|
|
|
973 | let monitor = NSEvent::addLocalMonitorForEventsMatchingMask_handler(NSEventMask::KeyDown, &handler);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
error[E0133]: call to unsafe function `NSMenuItem::initWithTitle_action_keyEquivalent` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1515:24
|
|
|
|
|
1515 | let item = NSMenuItem::initWithTitle_action_keyEquivalent(
|
|
| ________________________^
|
|
1516 | | NSMenuItem::alloc(mtm),
|
|
1517 | | &NSString::from_str(title),
|
|
1518 | | Some(main_menu::selector(selector)),
|
|
1519 | | &NSString::from_str(""),
|
|
1520 | | );
|
|
| |_____________^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
error[E0133]: call to unsafe function `NSMenuItem::menu` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/app/app_delegate.rs:1615:33
|
|
|
|
|
1615 | let Some(parent_menu) = item.menu() else { return false };
|
|
| ^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
warning: unnecessary `unsafe` block
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:340:38
|
|
|
|
|
340 | let s = AllocatedString::new(unsafe { ghostty_config_open_path() }).string();
|
|
| ^^^^^^ unnecessary `unsafe` block
|
|
|
|
|
= note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
|
|
|
|
warning: unnecessary `unsafe` block
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:482:25
|
|
|
|
|
482 | let user_info = unsafe { notification.request().content().userInfo() };
|
|
| ^^^^^^ unnecessary `unsafe` block
|
|
|
|
warning: unnecessary `unsafe` block
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:506:60
|
|
|
|
|
506 | let (user_info, action_identifier, notification) = unsafe {
|
|
| ^^^^^^ unnecessary `unsafe` block
|
|
|
|
warning: unnecessary `unsafe` block
|
|
--> crates/ghostty-macos/src/ghostty/app.rs:1453:30
|
|
|
|
|
1453 | let (floating, normal) = unsafe { (NSFloatingWindowLevel, NSNormalWindowLevel) };
|
|
| ^^^^^^ unnecessary `unsafe` block
|
|
|
|
warning: unnecessary `unsafe` block
|
|
--> crates/ghostty-macos/src/ghostty/surface_view.rs:577:18
|
|
|
|
|
577 | let id = unsafe { notification.request().identifier() }.to_string();
|
|
| ^^^^^^ unnecessary `unsafe` block
|
|
|
|
error[E0133]: call to unsafe function `NSResponder::nextResponder` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_view.rs:63:25
|
|
|
|
|
63 | responder = current.nextResponder();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
error[E0133]: call to unsafe function `NSView::superview` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_view.rs:80:37
|
|
|
|
|
80 | while let Some(superview) = root.superview() {
|
|
| ^^^^^^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
error[E0133]: call to unsafe function `NSView::superview` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/helpers/extensions/ns_view.rs:101:25
|
|
|
|
|
101 | let superview = self.superview()?;
|
|
| ^^^^^^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
error[E0133]: call to unsafe function `NSCoder::decodeObjectOfClass_forKey` is unsafe and requires unsafe block
|
|
--> crates/ghostty-macos/src/helpers/codable_bridge.rs:33:34
|
|
|
|
|
33 | let data: Retained<NSData> = coder.decodeObjectOfClass_forKey(NSData::class(), &NSString::from_str(DATA_KEY))
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
|
|
|
|
|
= note: consult the function's documentation for information on how to avoid undefined behavior
|
|
|
|
Some errors have detailed explanations: E0061, E0133, E0308, E0425, E0432, E0599.
|
|
For more information about an error, try `rustc --explain E0061`.
|
|
warning: `ghostty-macos` (lib) generated 19 warnings
|
|
error: could not compile `ghostty-macos` (lib) due to 52 previous errors; 19 warnings emitted
|
|
warning: build failed, waiting for other jobs to finish...
|
|
warning: `ghostty-macos` (lib test) generated 19 warnings (17 duplicates)
|
|
error: could not compile `ghostty-macos` (lib test) due to 52 previous errors; 19 warnings emitted
|