AppState

Struct AppState 

Source
pub struct AppState {
Show 287 fields pub app_mode: AppMode, pub input: String, pub results: Vec<PackageItem>, pub all_results: Vec<PackageItem>, pub results_backup_for_toggle: Option<Vec<PackageItem>>, pub selected: usize, pub details: PackageDetails, pub list_state: ListState, pub modal: Modal, pub previous_modal: Option<Modal>, pub dry_run: bool, pub recent: LruCache<String, String>, pub history_state: ListState, pub focus: Focus, pub last_input_change: Instant, pub last_saved_value: Option<String>, pub recent_path: PathBuf, pub recent_dirty: bool, pub latest_query_id: u64, pub next_query_id: u64, pub search_cache_query: Option<String>, pub search_cache_fuzzy: bool, pub search_cache_results: Option<Vec<PackageItem>>, pub details_cache: HashMap<String, PackageDetails>, pub cache_path: PathBuf, pub cache_dirty: bool, pub news_read_urls: HashSet<String>, pub news_read_path: PathBuf, pub news_read_dirty: bool, pub news_read_ids: HashSet<String>, pub news_read_ids_path: PathBuf, pub news_read_ids_dirty: bool, pub news_items: Vec<NewsFeedItem>, pub news_results: Vec<NewsFeedItem>, pub news_loading: bool, pub news_ready: bool, pub news_selected: usize, pub news_list_state: ListState, pub news_search_input: String, pub news_search_caret: usize, pub news_search_select_anchor: Option<usize>, pub news_recent: LruCache<String, String>, pub news_recent_path: PathBuf, pub news_recent_dirty: bool, pub news_history_pending: Option<String>, pub news_history_pending_at: Option<Instant>, pub news_history_last_saved: Option<String>, pub news_filter_show_arch_news: bool, pub news_filter_show_advisories: bool, pub news_filter_show_pkg_updates: bool, pub news_filter_show_aur_updates: bool, pub news_filter_show_aur_comments: bool, pub news_filter_installed_only: bool, pub news_filter_read_status: NewsReadFilter, pub news_filter_arch_rect: Option<(u16, u16, u16, u16)>, pub news_filter_advisory_rect: Option<(u16, u16, u16, u16)>, pub news_filter_installed_rect: Option<(u16, u16, u16, u16)>, pub news_filter_updates_rect: Option<(u16, u16, u16, u16)>, pub news_filter_aur_updates_rect: Option<(u16, u16, u16, u16)>, pub news_filter_aur_comments_rect: Option<(u16, u16, u16, u16)>, pub news_filter_read_rect: Option<(u16, u16, u16, u16)>, pub news_max_age_days: Option<u32>, pub show_news_history_pane: bool, pub show_news_bookmarks_pane: bool, pub news_sort_mode: NewsSortMode, pub news_bookmarks: Vec<NewsBookmark>, pub news_bookmarks_path: PathBuf, pub news_bookmarks_dirty: bool, pub news_content_cache: HashMap<String, String>, pub news_content_cache_path: PathBuf, pub news_content_cache_dirty: bool, pub news_content: Option<String>, pub news_content_loading: bool, pub news_content_loading_since: Option<Instant>, pub news_content_debounce_timer: Option<Instant>, pub news_content_scroll: u16, pub news_feed_path: PathBuf, pub news_seen_pkg_versions: HashMap<String, String>, pub news_seen_pkg_versions_path: PathBuf, pub news_seen_pkg_versions_dirty: bool, pub news_seen_aur_comments: HashMap<String, String>, pub news_seen_aur_comments_path: PathBuf, pub news_seen_aur_comments_dirty: bool, pub announcements_read_ids: HashSet<String>, pub announcement_read_path: PathBuf, pub announcement_dirty: bool, pub last_startup_timestamp: Option<String>, pub last_startup_path: PathBuf, pub install_list: Vec<PackageItem>, pub install_state: ListState, pub remove_list: Vec<PackageItem>, pub remove_state: ListState, pub downgrade_list: Vec<PackageItem>, pub downgrade_state: ListState, pub install_path: PathBuf, pub install_dirty: bool, pub last_install_change: Option<Instant>, pub install_list_names: HashSet<String>, pub remove_list_names: HashSet<String>, pub downgrade_list_names: HashSet<String>, pub show_recent_pane: bool, pub show_install_pane: bool, pub show_keybinds_footer: bool, pub pane_find: Option<String>, pub search_normal_mode: bool, pub fuzzy_search_enabled: bool, pub search_caret: usize, pub search_select_anchor: Option<usize>, pub official_index_path: PathBuf, pub loading_index: bool, pub details_focus: Option<String>, pub scroll_moves: u32, pub ring_resume_at: Option<Instant>, pub need_ring_prefetch: bool, pub url_button_rect: Option<(u16, u16, u16, u16)>, pub vt_url_rect: Option<(u16, u16, u16, u16)>, pub install_import_rect: Option<(u16, u16, u16, u16)>, pub install_export_rect: Option<(u16, u16, u16, u16)>, pub arch_status_text: String, pub arch_status_rect: Option<(u16, u16, u16, u16)>, pub arch_status_color: ArchStatusColor, pub updates_count: Option<usize>, pub updates_list: Vec<String>, pub updates_button_rect: Option<(u16, u16, u16, u16)>, pub news_button_rect: Option<(u16, u16, u16, u16)>, pub updates_loading: bool, pub refresh_updates: bool, pub pending_updates_modal: bool, pub faillock_locked: bool, pub faillock_lockout_until: Option<SystemTime>, pub faillock_remaining_minutes: Option<u32>, pub pkgb_button_rect: Option<(u16, u16, u16, u16)>, pub pkgb_check_button_rect: Option<(u16, u16, u16, u16)>, pub pkgb_reload_button_rect: Option<(u16, u16, u16, u16)>, pub pkgb_visible: bool, pub pkgb_text: Option<String>, pub pkgb_package_name: Option<String>, pub pkgb_reload_requested_at: Option<Instant>, pub pkgb_reload_requested_for: Option<String>, pub pkgb_scroll: u16, pub pkgb_rect: Option<(u16, u16, u16, u16)>, pub comments_button_rect: Option<(u16, u16, u16, u16)>, pub comments_visible: bool, pub comments: Vec<AurComment>, pub comments_package_name: Option<String>, pub comments_fetched_at: Option<Instant>, pub comments_scroll: u16, pub comments_rect: Option<(u16, u16, u16, u16)>, pub comments_loading: bool, pub comments_error: Option<String>, pub comments_urls: Vec<(u16, u16, u16, String)>, pub comments_authors: Vec<(u16, u16, u16, String)>, pub comments_dates: Vec<(u16, u16, u16, String)>, pub toast_message: Option<String>, pub toast_expires_at: Option<Instant>, pub layout_left_pct: u16, pub layout_center_pct: u16, pub layout_right_pct: u16, pub keymap: KeyMap, pub locale: String, pub translations: TranslationMap, pub translations_fallback: TranslationMap, pub results_rect: Option<(u16, u16, u16, u16)>, pub details_rect: Option<(u16, u16, u16, u16)>, pub details_scroll: u16, pub recent_rect: Option<(u16, u16, u16, u16)>, pub install_rect: Option<(u16, u16, u16, u16)>, pub downgrade_rect: Option<(u16, u16, u16, u16)>, pub mouse_disabled_in_details: bool, pub last_mouse_pos: Option<(u16, u16)>, pub mouse_capture_enabled: bool, pub news_rect: Option<(u16, u16, u16, u16)>, pub news_list_rect: Option<(u16, u16, u16, u16)>, pub announcement_rect: Option<(u16, u16, u16, u16)>, pub announcement_urls: Vec<(u16, u16, u16, String)>, pub pending_announcements: Vec<RemoteAnnouncement>, pub pending_news: Option<Vec<NewsItem>>, pub trigger_startup_news_fetch: bool, pub updates_modal_rect: Option<(u16, u16, u16, u16)>, pub updates_modal_content_rect: Option<(u16, u16, u16, u16)>, pub help_scroll: u16, pub help_rect: Option<(u16, u16, u16, u16)>, pub preflight_tab_rects: [Option<(u16, u16, u16, u16)>; 5], pub preflight_content_rect: Option<(u16, u16, u16, u16)>, pub sort_mode: SortMode, pub installed_packages_mode: InstalledPackagesMode, pub sort_menu_open: bool, pub sort_button_rect: Option<(u16, u16, u16, u16)>, pub news_age_button_rect: Option<(u16, u16, u16, u16)>, pub sort_menu_rect: Option<(u16, u16, u16, u16)>, pub sort_menu_auto_close_at: Option<Instant>, pub sort_cache_repo_name: Option<Vec<usize>>, pub sort_cache_aur_popularity: Option<Vec<usize>>, pub sort_cache_signature: Option<u64>, pub options_menu_open: bool, pub options_button_rect: Option<(u16, u16, u16, u16)>, pub options_menu_rect: Option<(u16, u16, u16, u16)>, pub panels_menu_open: bool, pub panels_button_rect: Option<(u16, u16, u16, u16)>, pub panels_menu_rect: Option<(u16, u16, u16, u16)>, pub config_menu_open: bool, pub config_button_rect: Option<(u16, u16, u16, u16)>, pub config_menu_rect: Option<(u16, u16, u16, u16)>, pub artix_filter_menu_open: bool, pub artix_filter_menu_rect: Option<(u16, u16, u16, u16)>, pub collapsed_menu_open: bool, pub collapsed_menu_button_rect: Option<(u16, u16, u16, u16)>, pub collapsed_menu_rect: Option<(u16, u16, u16, u16)>, pub installed_only_mode: bool, pub right_pane_focus: RightPaneFocus, pub package_marker: PackageMarker, pub results_filter_show_aur: bool, pub results_filter_show_core: bool, pub results_filter_show_extra: bool, pub results_filter_show_multilib: bool, pub results_filter_show_eos: bool, pub results_filter_show_cachyos: bool, pub results_filter_show_artix: bool, pub results_filter_show_artix_omniverse: bool, pub results_filter_show_artix_universe: bool, pub results_filter_show_artix_lib32: bool, pub results_filter_show_artix_galaxy: bool, pub results_filter_show_artix_world: bool, pub results_filter_show_artix_system: bool, pub results_filter_show_manjaro: bool, pub results_filter_aur_rect: Option<(u16, u16, u16, u16)>, pub results_filter_core_rect: Option<(u16, u16, u16, u16)>, pub results_filter_extra_rect: Option<(u16, u16, u16, u16)>, pub results_filter_multilib_rect: Option<(u16, u16, u16, u16)>, pub results_filter_eos_rect: Option<(u16, u16, u16, u16)>, pub results_filter_cachyos_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_omniverse_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_universe_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_lib32_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_galaxy_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_world_rect: Option<(u16, u16, u16, u16)>, pub results_filter_artix_system_rect: Option<(u16, u16, u16, u16)>, pub results_filter_manjaro_rect: Option<(u16, u16, u16, u16)>, pub fuzzy_indicator_rect: Option<(u16, u16, u16, u16)>, pub refresh_installed_until: Option<Instant>, pub next_installed_refresh_at: Option<Instant>, pub pending_install_names: Option<Vec<String>>, pub pending_remove_names: Option<Vec<String>>, pub install_list_deps: Vec<DependencyInfo>, pub remove_preflight_summary: Vec<ReverseRootSummary>, pub remove_cascade_mode: CascadeMode, pub deps_resolving: bool, pub deps_cache_path: PathBuf, pub deps_cache_dirty: bool, pub install_list_files: Vec<PackageFileInfo>, pub files_resolving: bool, pub files_cache_path: PathBuf, pub files_cache_dirty: bool, pub install_list_services: Vec<ServiceImpact>, pub services_resolving: bool, pub services_cache_path: PathBuf, pub services_cache_dirty: bool, pub service_resolve_now: bool, pub active_service_request: Option<u64>, pub next_service_request_id: u64, pub services_pending_signature: Option<(PreflightAction, Vec<String>)>, pub pending_service_plan: Vec<ServiceImpact>, pub install_list_sandbox: Vec<SandboxInfo>, pub sandbox_resolving: bool, pub sandbox_cache_path: PathBuf, pub sandbox_cache_dirty: bool, pub preflight_summary_items: Option<(Vec<PackageItem>, PreflightAction)>, pub preflight_deps_items: Option<(Vec<PackageItem>, PreflightAction)>, pub preflight_files_items: Option<Vec<PackageItem>>, pub preflight_services_items: Option<Vec<PackageItem>>, pub preflight_sandbox_items: Option<Vec<PackageItem>>, pub preflight_summary_resolving: bool, pub preflight_deps_resolving: bool, pub preflight_files_resolving: bool, pub preflight_services_resolving: bool, pub preflight_sandbox_resolving: bool, pub last_logged_preflight_deps_state: Option<(usize, bool, bool)>, pub preflight_cancelled: Arc<AtomicBool>, pub pending_executor_request: Option<ExecutorRequest>, pub pending_post_summary_items: Option<(Vec<PackageItem>, Option<bool>)>, pub pending_exec_header_chips: Option<PreflightHeaderChips>, pub pending_custom_command: Option<String>, pub pending_update_commands: Option<Vec<String>>, pub pending_aur_update_command: Option<String>, pub pending_executor_password: Option<String>, pub pending_file_sync_result: Option<FileSyncResult>,
}
Expand description

Global application state shared by the event, networking, and UI layers.

This structure is mutated frequently in response to input and background updates. Certain subsets are persisted to disk to preserve user context across runs (e.g., recent searches, details cache, install list).

Fields§

§app_mode: AppMode

Current top-level mode (package management vs news feed).

§input: String

Current search input text.

§results: Vec<PackageItem>

Current search results, most relevant first.

§all_results: Vec<PackageItem>

Unfiltered results as last received from the search worker.

§results_backup_for_toggle: Option<Vec<PackageItem>>

Backup of results when toggling to installed-only view.

§selected: usize

Index into results that is currently highlighted.

§details: PackageDetails

Details for the currently highlighted result.

§list_state: ListState

List selection state for the search results list.

§modal: Modal

Active modal dialog, if any.

§previous_modal: Option<Modal>

Previous modal state (used to restore when closing help/alert modals).

§dry_run: bool

If true, show install steps without executing side effects.

§recent: LruCache<String, String>

Previously executed queries stored as an LRU cache (keyed case-insensitively).

§history_state: ListState

List selection state for the Recent pane.

§focus: Focus

Which pane is currently focused.

§last_input_change: Instant

Timestamp of the last input edit, used for debouncing or throttling.

§last_saved_value: Option<String>

Last value persisted for the input field, to avoid redundant writes.

§recent_path: PathBuf

Path where recent searches are persisted as JSON.

§recent_dirty: bool

Dirty flag indicating recent needs to be saved.

§latest_query_id: u64

Identifier of the latest query whose results are being displayed.

§next_query_id: u64

Next query identifier to allocate.

§search_cache_query: Option<String>

Cached search query text (None if cache is empty or invalid).

§search_cache_fuzzy: bool

Whether fuzzy mode was used for cached query.

§search_cache_results: Option<Vec<PackageItem>>

Cached search results (None if cache is empty or invalid).

§details_cache: HashMap<String, PackageDetails>

Cache of details keyed by package name.

§cache_path: PathBuf

Path where the details cache is persisted as JSON.

§cache_dirty: bool

Dirty flag indicating details_cache needs to be saved.

§news_read_urls: HashSet<String>

Set of Arch news item URLs the user has marked as read.

§news_read_path: PathBuf

Path where the read news URLs are persisted as JSON.

§news_read_dirty: bool

Dirty flag indicating news_read_urls needs to be saved.

§news_read_ids: HashSet<String>

Set of news feed item IDs the user has marked as read.

§news_read_ids_path: PathBuf

Path where the read news IDs are persisted as JSON.

§news_read_ids_dirty: bool

Dirty flag indicating news_read_ids needs to be saved.

§news_items: Vec<NewsFeedItem>

News feed items currently loaded.

§news_results: Vec<NewsFeedItem>

Filtered/sorted news results shown in the UI.

§news_loading: bool

Whether the news feed is currently loading.

§news_ready: bool

Whether news are ready to be viewed (loading complete and news available).

§news_selected: usize

Selected index within news results.

§news_list_state: ListState

List state for news results pane.

§news_search_input: String

News search input text.

§news_search_caret: usize

Caret position within news search input.

§news_search_select_anchor: Option<usize>

Selection anchor within news search input.

§news_recent: LruCache<String, String>

LRU cache of recent news searches (case-insensitive key).

§news_recent_path: PathBuf

Path where news recent searches are persisted.

§news_recent_dirty: bool

Dirty flag indicating news_recent needs to be saved.

§news_history_pending: Option<String>

Pending news search awaiting debounce before saving to history.

§news_history_pending_at: Option<Instant>

Timestamp when the pending news search was last updated.

§news_history_last_saved: Option<String>

Last news search saved to history (prevents duplicate saves).

§news_filter_show_arch_news: bool

Whether to show Arch news items.

§news_filter_show_advisories: bool

Whether to show security advisories.

§news_filter_show_pkg_updates: bool

Whether to show installed package update items.

§news_filter_show_aur_updates: bool

Whether to show AUR package update items.

§news_filter_show_aur_comments: bool

Whether to show AUR comment items.

§news_filter_installed_only: bool

Whether to restrict advisories to installed packages.

§news_filter_read_status: NewsReadFilter

Read/unread filter for the News Feed list.

§news_filter_arch_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for Arch news filter chip in news title.

§news_filter_advisory_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for security advisory filter chip in news title.

§news_filter_installed_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for installed-only advisory filter chip in news title.

§news_filter_updates_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for installed update filter chip in news title.

§news_filter_aur_updates_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for AUR update filter chip in news title.

§news_filter_aur_comments_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for AUR comment filter chip in news title.

§news_filter_read_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for read/unread filter chip in news title.

§news_max_age_days: Option<u32>

Maximum age of news items in days (None = unlimited).

§show_news_history_pane: bool

Whether to show the news history pane in News mode.

§show_news_bookmarks_pane: bool

Whether to show the news bookmarks pane in News mode.

§news_sort_mode: NewsSortMode

Sort mode for news results.

§news_bookmarks: Vec<NewsBookmark>

Saved news/bookmarked items with cached content.

§news_bookmarks_path: PathBuf

Path where news bookmarks are persisted.

§news_bookmarks_dirty: bool

Dirty flag indicating news_bookmarks needs to be saved.

§news_content_cache: HashMap<String, String>

Cache of fetched news article content (URL -> content).

§news_content_cache_path: PathBuf

Path where the news content cache is persisted.

§news_content_cache_dirty: bool

Dirty flag indicating news_content_cache needs to be saved.

§news_content: Option<String>

Currently displayed news content (for the selected item).

§news_content_loading: bool

Whether news content is currently being fetched.

§news_content_loading_since: Option<Instant>

When the current news content load started (for timeout/logging).

§news_content_debounce_timer: Option<Instant>

Debounce timer for news content requests - tracks when user selected current item. Only requests content after 0.5 seconds of staying on the same item.

§news_content_scroll: u16

Scroll offset for news content details.

§news_feed_path: PathBuf

Path where the cached news feed is persisted.

§news_seen_pkg_versions: HashMap<String, String>

Last-seen versions for installed packages (dedup for update feed items).

§news_seen_pkg_versions_path: PathBuf

Path where last-seen package versions are persisted.

§news_seen_pkg_versions_dirty: bool

Dirty flag indicating news_seen_pkg_versions needs to be saved.

§news_seen_aur_comments: HashMap<String, String>

Last-seen AUR comment identifiers per installed package.

§news_seen_aur_comments_path: PathBuf

Path where last-seen AUR comments are persisted.

§news_seen_aur_comments_dirty: bool

Dirty flag indicating news_seen_aur_comments needs to be saved.

§announcements_read_ids: HashSet<String>

Set of announcement IDs the user has marked as read. Tracks both version strings (e.g., “v0.6.0”) and remote announcement IDs.

§announcement_read_path: PathBuf

Path where the read announcement IDs are persisted as JSON.

§announcement_dirty: bool

Dirty flag indicating announcements_read_ids needs to be saved.

§last_startup_timestamp: Option<String>

Timestamp of the previous TUI startup (format: YYYYMMDD:HHMMSS). Used to determine what news/updates need fresh fetching vs cached data.

§last_startup_path: PathBuf

Path where the last startup timestamp is persisted.

§install_list: Vec<PackageItem>

Packages selected for installation.

§install_state: ListState

List selection state for the Install pane.

§remove_list: Vec<PackageItem>

Separate list of packages selected for removal (active in installed-only mode).

§remove_state: ListState

List selection state for the Remove pane.

§downgrade_list: Vec<PackageItem>

Separate list of packages selected for downgrade (shown in installed-only mode).

§downgrade_state: ListState

List selection state for the Downgrade pane.

§install_path: PathBuf

Path where the install list is persisted as JSON.

§install_dirty: bool

Dirty flag indicating install_list needs to be saved.

§last_install_change: Option<Instant>

Timestamp of the most recent change to the install list for throttling disk writes.

§install_list_names: HashSet<String>

HashSet of package names in install list for O(1) membership checking.

§remove_list_names: HashSet<String>

HashSet of package names in remove list for O(1) membership checking.

§downgrade_list_names: HashSet<String>

HashSet of package names in downgrade list for O(1) membership checking.

§show_recent_pane: bool

Whether the Recent pane is visible in the middle row.

§show_install_pane: bool

Whether the Install/Remove pane is visible in the middle row.

§show_keybinds_footer: bool

Whether to show the keybindings footer in the details pane.

§pane_find: Option<String>

Optional, transient find pattern used by pane-local search (“/”).

§search_normal_mode: bool

Whether Search pane is in Normal mode (Vim-like navigation) instead of Insert mode.

§fuzzy_search_enabled: bool

Whether fuzzy search is enabled (fzf-style matching) instead of normal substring search.

§search_caret: usize

Caret position (in characters) within the Search input. Always clamped to the range 0..=input.chars().count().

§search_select_anchor: Option<usize>

Selection anchor (in characters) for the Search input when selecting text. When None, no selection is active. When Some(i), the selected range is between min(i, search_caret) and max(i, search_caret) (exclusive upper bound).

§official_index_path: PathBuf

Path to the persisted official package index used for fast offline lookups.

§loading_index: bool

Whether the application is currently generating the official index.

§details_focus: Option<String>

Name of the package whose details are being emphasized in the UI, if any.

§scroll_moves: u32

Smooth scrolling accumulator for prefetch heuristics.

§ring_resume_at: Option<Instant>

Timestamp at which to resume ring prefetching, if paused.

§need_ring_prefetch: bool

Whether a ring prefetch is needed soon.

§url_button_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable URL button in terminal cell coordinates.

§vt_url_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable VirusTotal API URL in the setup modal (x, y, w, h).

§install_import_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Install pane bottom “Import” button (x, y, w, h).

§install_export_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Install pane bottom “Export” button (x, y, w, h).

§arch_status_text: String

Latest fetched status message from status.archlinux.org.

§arch_status_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the status label (x, y, w, h).

§arch_status_color: ArchStatusColor

Optional status color indicator (e.g., operational vs. current incident).

§updates_count: Option<usize>

Number of available package updates, if checked.

§updates_list: Vec<String>

Sorted list of package names with available updates.

§updates_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the updates button (x, y, w, h).

§news_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the news button in News mode (x, y, w, h).

§updates_loading: bool

Whether updates check is currently in progress.

§refresh_updates: bool

Flag to trigger refresh of updates list after package installation/update.

§pending_updates_modal: bool

Flag to indicate that Updates modal should open after refresh completes.

§faillock_locked: bool

Whether the user account is currently locked out.

§faillock_lockout_until: Option<SystemTime>

Timestamp when the lockout will expire (if locked).

§faillock_remaining_minutes: Option<u32>

Remaining lockout time in minutes (if locked).

§pkgb_button_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable “Show PKGBUILD” in terminal cell coordinates.

§pkgb_check_button_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable “Copy PKGBUILD” button in PKGBUILD title.

§pkgb_reload_button_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable “Reload PKGBUILD” button in PKGBUILD title.

§pkgb_visible: bool

Whether the PKGBUILD viewer is visible (details pane split in half).

§pkgb_text: Option<String>

The fetched PKGBUILD text when available.

§pkgb_package_name: Option<String>

Name of the package that the PKGBUILD is currently for.

§pkgb_reload_requested_at: Option<Instant>

Timestamp when PKGBUILD reload was last requested (for debouncing).

§pkgb_reload_requested_for: Option<String>

Name of the package for which PKGBUILD reload was requested (for debouncing).

§pkgb_scroll: u16

Scroll offset (lines) for the PKGBUILD viewer.

§pkgb_rect: Option<(u16, u16, u16, u16)>

Content rectangle of the PKGBUILD viewer (x, y, w, h) when visible.

§comments_button_rect: Option<(u16, u16, u16, u16)>

Rectangle of the clickable “Show comments” / “Hide comments” button in terminal cell coordinates.

§comments_visible: bool

Whether the comments viewer is visible (details pane split).

§comments: Vec<AurComment>

The fetched comments data when available.

§comments_package_name: Option<String>

Name of the package that the comments are currently for.

§comments_fetched_at: Option<Instant>

Timestamp when comments were last fetched (for cache invalidation).

§comments_scroll: u16

Scroll offset (lines) for the comments viewer.

§comments_rect: Option<(u16, u16, u16, u16)>

Content rectangle of the comments viewer (x, y, w, h) when visible.

§comments_loading: bool

Whether comments are currently being fetched.

§comments_error: Option<String>

Error message if comments fetch failed.

§comments_urls: Vec<(u16, u16, u16, String)>

URLs in comments with their screen positions for click detection. Vector of (x, y, width, url_string) tuples.

§comments_authors: Vec<(u16, u16, u16, String)>

Author names in comments with their screen positions for click detection. Vector of (x, y, width, username) tuples.

§comments_dates: Vec<(u16, u16, u16, String)>

Dates in comments with their screen positions and URLs for click detection. Vector of (x, y, width, url_string) tuples.

§toast_message: Option<String>

Optional short-lived info message rendered at the bottom-right corner.

§toast_expires_at: Option<Instant>

Deadline (Instant) after which the toast is automatically hidden.

§layout_left_pct: u16

Left pane width percentage.

§layout_center_pct: u16

Center pane width percentage.

§layout_right_pct: u16

Right pane width percentage.

§keymap: KeyMap

Resolved key bindings from user settings

§locale: String

Resolved locale code (e.g., “de-DE”, “en-US”)

§translations: TranslationMap

Translation map for the current locale

§translations_fallback: TranslationMap

Fallback translation map (English) for missing keys

§results_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Results list (x, y, w, h).

§details_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Package Info details pane (x, y, w, h).

§details_scroll: u16

Scroll offset (lines) for the Package Info details pane.

§recent_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Recent pane list (x, y, w, h).

§install_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Install pane list (x, y, w, h).

§downgrade_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Downgrade subpane when visible.

§mouse_disabled_in_details: bool

Whether mouse capture is temporarily disabled to allow text selection in details.

§last_mouse_pos: Option<(u16, u16)>

Last observed mouse position (column, row) in terminal cells.

§mouse_capture_enabled: bool

Whether global terminal mouse capture is currently enabled.

§news_rect: Option<(u16, u16, u16, u16)>

Outer rectangle of the News modal (including borders) when visible.

§news_list_rect: Option<(u16, u16, u16, u16)>

Inner list rectangle for clickable news rows.

§announcement_rect: Option<(u16, u16, u16, u16)>

Outer rectangle of the Announcement modal (including borders) when visible.

§announcement_urls: Vec<(u16, u16, u16, String)>

URLs in announcement content with their screen positions for click detection. Vector of (x, y, width, url_string) tuples.

§pending_announcements: Vec<RemoteAnnouncement>

Pending remote announcements to show after current announcement is dismissed.

§pending_news: Option<Vec<NewsItem>>

Pending news to show after all announcements are dismissed.

§trigger_startup_news_fetch: bool

Flag to trigger startup news fetch after NewsSetup is completed.

§updates_modal_rect: Option<(u16, u16, u16, u16)>

Outer rectangle of the Updates modal (including borders) when visible.

§updates_modal_content_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle for scrollable updates list.

§help_scroll: u16

Scroll offset (lines) for the Help modal content.

§help_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Help modal (x, y, w, h) for hit-testing.

§preflight_tab_rects: [Option<(u16, u16, u16, u16)>; 5]

Clickable rectangles for preflight tabs (x, y, w, h) - Summary, Deps, Files, Services, Sandbox.

§preflight_content_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the preflight modal (x, y, w, h) for hit-testing package groups.

§sort_mode: SortMode

Current sort mode for results.

§installed_packages_mode: InstalledPackagesMode

Filter mode for installed packages (leaf only vs all explicit).

§sort_menu_open: bool

Whether the sort dropdown is currently visible.

§sort_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the sort button in the Results title (x, y, w, h).

§news_age_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the news age toggle button (x, y, w, h).

§sort_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the sort dropdown menu when visible (x, y, w, h).

§sort_menu_auto_close_at: Option<Instant>

Deadline after which the sort dropdown auto-closes.

§sort_cache_repo_name: Option<Vec<usize>>

Cached sort order for RepoThenName mode (indices into results).

§sort_cache_aur_popularity: Option<Vec<usize>>

Cached sort order for AurPopularityThenOfficial mode (indices into results).

§sort_cache_signature: Option<u64>

Signature of results used to validate caches (order-insensitive hash of names).

§options_menu_open: bool

Whether the options dropdown is currently visible.

§options_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the options button in the Results title (x, y, w, h).

§options_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the options dropdown menu when visible (x, y, w, h).

§panels_menu_open: bool

Whether the panels dropdown is currently visible.

§panels_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the panels button in the Results title (x, y, w, h).

§panels_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the panels dropdown menu when visible (x, y, w, h).

§config_menu_open: bool

Whether the Config/Lists dropdown is currently visible.

§config_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Config/Lists button in the Results title (x, y, w, h).

§config_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Config/Lists dropdown menu when visible (x, y, w, h).

§artix_filter_menu_open: bool

Whether the Artix filter dropdown is currently visible.

§artix_filter_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the Artix filter dropdown menu when visible (x, y, w, h).

§collapsed_menu_open: bool

Whether the collapsed menu dropdown is currently visible.

§collapsed_menu_button_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the collapsed menu button in the Results title (x, y, w, h).

§collapsed_menu_rect: Option<(u16, u16, u16, u16)>

Inner content rectangle of the collapsed menu dropdown when visible (x, y, w, h).

§installed_only_mode: bool

Whether Results is currently showing only explicitly installed packages.

§right_pane_focus: RightPaneFocus

Which right subpane is focused when installed-only mode splits the pane.

§package_marker: PackageMarker

Visual marker style for packages added to lists (user preference cached at startup).

§results_filter_show_aur: bool

Whether to include AUR packages in the Results view.

§results_filter_show_core: bool

Whether to include packages from the core repo in the Results view.

§results_filter_show_extra: bool

Whether to include packages from the extra repo in the Results view.

§results_filter_show_multilib: bool

Whether to include packages from the multilib repo in the Results view.

§results_filter_show_eos: bool

Whether to include packages from the eos repo in the Results view.

§results_filter_show_cachyos: bool

Whether to include packages from cachyos* repos in the Results view.

§results_filter_show_artix: bool

Whether to include packages from Artix Linux repos in the Results view.

§results_filter_show_artix_omniverse: bool

Whether to include packages from Artix omniverse repo in the Results view.

§results_filter_show_artix_universe: bool

Whether to include packages from Artix universe repo in the Results view.

§results_filter_show_artix_lib32: bool

Whether to include packages from Artix lib32 repo in the Results view.

§results_filter_show_artix_galaxy: bool

Whether to include packages from Artix galaxy repo in the Results view.

§results_filter_show_artix_world: bool

Whether to include packages from Artix world repo in the Results view.

§results_filter_show_artix_system: bool

Whether to include packages from Artix system repo in the Results view.

§results_filter_show_manjaro: bool

Whether to include packages labeled as manjaro in the Results view.

§results_filter_aur_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the AUR filter toggle in the Results title (x, y, w, h).

§results_filter_core_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the core filter toggle in the Results title (x, y, w, h).

§results_filter_extra_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the extra filter toggle in the Results title (x, y, w, h).

§results_filter_multilib_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the multilib filter toggle in the Results title (x, y, w, h).

§results_filter_eos_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the EOS filter toggle in the Results title (x, y, w, h).

§results_filter_cachyos_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the CachyOS filter toggle in the Results title (x, y, w, h).

§results_filter_artix_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix filter toggle in the Results title (x, y, w, h).

§results_filter_artix_omniverse_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix omniverse filter toggle in the Results title (x, y, w, h).

§results_filter_artix_universe_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix universe filter toggle in the Results title (x, y, w, h).

§results_filter_artix_lib32_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix lib32 filter toggle in the Results title (x, y, w, h).

§results_filter_artix_galaxy_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix galaxy filter toggle in the Results title (x, y, w, h).

§results_filter_artix_world_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix world filter toggle in the Results title (x, y, w, h).

§results_filter_artix_system_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Artix system filter toggle in the Results title (x, y, w, h).

§results_filter_manjaro_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the Manjaro filter toggle in the Results title (x, y, w, h).

§fuzzy_indicator_rect: Option<(u16, u16, u16, u16)>

Clickable rectangle for the fuzzy search mode indicator in the Search title (x, y, w, h).

§refresh_installed_until: Option<Instant>

If Some, keep polling pacman/yay to refresh installed/explicit caches until this time.

§next_installed_refresh_at: Option<Instant>

Next scheduled time to poll caches while refresh_installed_until is active.

§pending_install_names: Option<Vec<String>>

Names of packages we just triggered to install; when all appear installed, clear Install list.

§pending_remove_names: Option<Vec<String>>

Names of packages we just triggered to remove; when all disappear, append to removed log.

§install_list_deps: Vec<DependencyInfo>

Cached resolved dependencies for the current install list (updated in background).

§remove_preflight_summary: Vec<ReverseRootSummary>

Reverse dependency summary for the current remove preflight modal (populated on demand).

§remove_cascade_mode: CascadeMode

Selected cascade removal mode for upcoming removals.

§deps_resolving: bool

Whether dependency resolution is currently in progress.

§deps_cache_path: PathBuf

Path where the dependency cache is persisted as JSON.

§deps_cache_dirty: bool

Dirty flag indicating install_list_deps needs to be saved.

§install_list_files: Vec<PackageFileInfo>

Cached resolved file changes for the current install list (updated in background).

§files_resolving: bool

Whether file resolution is currently in progress.

§files_cache_path: PathBuf

Path where the file cache is persisted as JSON.

§files_cache_dirty: bool

Dirty flag indicating install_list_files needs to be saved.

§install_list_services: Vec<ServiceImpact>

Cached resolved service impacts for the current install list (updated in background).

§services_resolving: bool

Whether service impact resolution is currently in progress.

§services_cache_path: PathBuf

Path where the service cache is persisted as JSON.

§services_cache_dirty: bool

Dirty flag indicating install_list_services needs to be saved.

§service_resolve_now: bool

Flag requesting that the runtime schedule service impact resolution for the active Preflight modal.

§active_service_request: Option<u64>

Identifier of the active service impact resolution request, if any.

§next_service_request_id: u64

Monotonic counter used to tag service impact resolution requests.

§services_pending_signature: Option<(PreflightAction, Vec<String>)>

Signature of the package set currently queued for service impact resolution.

§pending_service_plan: Vec<ServiceImpact>

Service restart decisions captured during the Preflight Services tab.

§install_list_sandbox: Vec<SandboxInfo>

Cached resolved sandbox information for the current install list (updated in background).

§sandbox_resolving: bool

Whether sandbox resolution is currently in progress.

§sandbox_cache_path: PathBuf

Path where the sandbox cache is persisted as JSON.

§sandbox_cache_dirty: bool

Dirty flag indicating install_list_sandbox needs to be saved.

§preflight_summary_items: Option<(Vec<PackageItem>, PreflightAction)>

Packages to resolve for preflight summary computation.

§preflight_deps_items: Option<(Vec<PackageItem>, PreflightAction)>

Packages to resolve for preflight dependency analysis (with action for forward/reverse).

§preflight_files_items: Option<Vec<PackageItem>>

Packages to resolve for preflight file analysis.

§preflight_services_items: Option<Vec<PackageItem>>

Packages to resolve for preflight service analysis.

§preflight_sandbox_items: Option<Vec<PackageItem>>

AUR packages to resolve for preflight sandbox analysis (subset only).

§preflight_summary_resolving: bool

Whether preflight summary computation is in progress.

§preflight_deps_resolving: bool

Whether preflight dependency resolution is in progress.

§preflight_files_resolving: bool

Whether preflight file resolution is in progress.

§preflight_services_resolving: bool

Whether preflight service resolution is in progress.

§preflight_sandbox_resolving: bool

Whether preflight sandbox resolution is in progress.

§last_logged_preflight_deps_state: Option<(usize, bool, bool)>

Last preflight dependency log state to suppress duplicate tick logs.

§preflight_cancelled: Arc<AtomicBool>

Cancellation flag for preflight operations (set to true when modal closes).

§pending_executor_request: Option<ExecutorRequest>

Pending executor request to be sent when PreflightExec modal is ready.

§pending_post_summary_items: Option<(Vec<PackageItem>, Option<bool>)>

Pending post-summary computation request (items and success flag to compute summary for).

§pending_exec_header_chips: Option<PreflightHeaderChips>

Header chips to use when transitioning to PreflightExec modal.

§pending_custom_command: Option<String>

Custom command to execute after password prompt (for special packages like paru/yay/semgrep-bin).

§pending_update_commands: Option<Vec<String>>

Update commands to execute after password prompt (for system update).

§pending_aur_update_command: Option<String>

AUR update command to execute conditionally if pacman fails (for system update).

§pending_executor_password: Option<String>

Password obtained from password prompt, stored temporarily for reinstall confirmation flow.

§pending_file_sync_result: Option<FileSyncResult>

File database sync result from background thread (checked in tick handler).

Implementations§

Source§

impl AppState

Source

pub fn recent_values(&self) -> Vec<String>

What: Return recent searches in most-recent-first order.

Inputs:

  • self: Application state containing the recent LRU cache.

Output:

  • Vector of recent search strings ordered from most to least recent.

Details:

  • Clones stored values; limited to RECENT_CAPACITY.
Source

pub fn recent_value_at(&self, index: usize) -> Option<String>

What: Fetch a recent search by positional index.

Inputs:

  • index: Zero-based position in most-recent-first ordering.

Output:

  • Some(String) when the index is valid; None otherwise.

Details:

  • Uses the LRU iterator, so index == 0 is the most recent entry.
Source

pub fn remove_recent_at(&mut self, index: usize) -> Option<String>

What: Remove a recent search at the provided position.

Inputs:

  • index: Zero-based position in most-recent-first ordering.

Output:

  • Some(String) containing the removed value when found; None otherwise.

Details:

  • Resolves the cache key via iteration, then pops it to maintain LRU invariants.
Source

pub fn add_news_bookmark(&mut self, bookmark: NewsBookmark)

What: Add or replace a news bookmark, marking state dirty.

Inputs:

  • bookmark: Bookmark to insert (deduped by item.id).

Output:

  • None (mutates bookmarks and dirty flag).
Source

pub fn remove_news_bookmark_at(&mut self, index: usize) -> Option<NewsBookmark>

What: Remove a news bookmark at a position.

Inputs:

  • index: Zero-based index into bookmarks vector.

Output:

  • Removed bookmark if present.
Source

pub fn news_recent_values(&self) -> Vec<String>

What: Return recent news searches in most-recent-first order.

Inputs:

  • self: Application state containing the news recent LRU cache.

Output:

  • Vector of recent news search strings ordered from most to least recent.

Details:

  • Clones stored values; limited by the configured recent capacity.
Source

pub fn news_recent_value_at(&self, index: usize) -> Option<String>

What: Fetch a recent news search by positional index.

Inputs:

  • index: Zero-based position in most-recent-first ordering.

Output:

  • Some(String) when the index is valid; None otherwise.

Details:

  • Uses the LRU iterator, so index == 0 is the most recent entry.
Source

pub fn load_news_recent_items(&mut self, items: &[String])

What: Replace the news recent cache with the provided most-recent-first entries.

Inputs:

  • items: Slice of recent news search strings ordered from most to least recent.

Output:

  • None (mutates self.news_recent).

Details:

  • Clears existing entries, enforces configured capacity, and preserves ordering by inserting from least-recent to most-recent.
Source

pub fn remove_news_recent_at(&mut self, index: usize) -> Option<String>

What: Remove a recent news search at the provided position.

Inputs:

  • index: Zero-based position in most-recent-first ordering.

Output:

  • Some(String) containing the removed value when found; None otherwise.

Details:

  • Resolves the cache key via iteration, then pops it to maintain LRU invariants.
Source

pub fn load_recent_items(&mut self, items: &[String])

What: Replace the recent cache with the provided most-recent-first entries.

Inputs:

  • items: Slice of recent search strings ordered from most to least recent.

Output:

  • None (mutates self.recent).

Details:

  • Clears existing entries, enforces configured capacity, and preserves ordering by inserting from least-recent to most-recent.
Source

pub fn refresh_news_results(&mut self)

What: Recompute news results applying filters, search, age cutoff, and sorting.

Inputs:

  • self: Mutable application state containing news items and filter fields.

Output:

  • Updates news_results, selection state, and recent news searches.

Trait Implementations§

Source§

impl Debug for AppState

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AppState

Source§

fn default() -> Self

What: Construct a default, empty AppState with initialized paths, selection states, and timers.

Inputs:

  • None.

Output:

  • Returns an AppState instance with sensible defaults for all fields.

Details:

  • Delegates initialization to helper functions that group related fields logically.
  • Initializes paths for persisted data (recent searches, cache, news, install list, etc.) under the configured lists directory.
  • Sets selection indices to zero, result buffers to empty, and UI flags to default visibility states.
  • All repository filters default to showing everything.
  • Initializes timers, scroll positions, and modal states to their default values.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more