floem
floem copied to clipboard
crash app when write app in Arabic
use floem::IntoView;
use floem::views::text;
fn app_view() -> impl IntoView {
text("السلام عليكم")
}
fn main() {
floem::launch(app_view)
}
error:
warning: testapp v0.1.0 (/home/igbaria/dev/MyProjects/RustProjects/testapp) ignoring invalid dependency `lapce` which is missing a lib target
Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.26s
Running `target/debug/testapp`
thread 'main' panicked at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:108:17:
begin <= end (10 <= 8) when slicing `السلام`
stack backtrace:
0: rust_begin_unwind
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:652:5
1: core::panicking::panic_fmt
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panicking.rs:72:14
2: core::str::slice_error_fail_rt
3: core::str::slice_error_fail
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/str/mod.rs:89:5
4: core::str::traits::<impl core::slice::index::SliceIndex<str> for core::ops::range::Range<usize>>::index
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/str/traits.rs:244:21
5: core::str::traits::<impl core::ops::index::Index<I> for str>::index
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/str/traits.rs:62:9
6: floem_cosmic_text::shape::shape_fallback
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:108:17
7: floem_cosmic_text::shape::shape_run
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:220:37
8: floem_cosmic_text::shape::ShapeWord::new
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:429:32
9: floem_cosmic_text::shape::ShapeSpan::new
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:497:28
10: floem_cosmic_text::shape::ShapeLine::new
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/shape.rs:613:24
11: floem_cosmic_text::buffer_line::TextLayoutLine::shape
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/buffer_line.rs:200:35
12: floem_cosmic_text::buffer_line::TextLayoutLine::layout
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/buffer_line.rs:222:25
13: floem_cosmic_text::buffer::TextLayout::shape_until
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/buffer.rs:395:26
14: floem_cosmic_text::buffer::TextLayout::shape_until_scroll
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/buffer.rs:454:28
15: floem_cosmic_text::buffer::TextLayout::set_text
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-cosmic-text-0.7.2/src/buffer.rs:585:9
16: floem::views::label::Label::set_text_layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/views/label.rs:167:9
17: <floem::views::label::Label as floem::view::View>::layout::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/views/label.rs:393:21
18: floem::context::LayoutCx::layout_node
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/context.rs:845:25
19: <floem::views::label::Label as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/views/label.rs:388:9
20: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
21: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
22: floem::view::recursively_layout_view::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:191:24
23: floem::context::LayoutCx::layout_node
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/context.rs:845:25
24: floem::view::recursively_layout_view
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:186:5
25: floem::view::View::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:245:9
26: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
27: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
28: floem::view::recursively_layout_view::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:191:24
29: floem::context::LayoutCx::layout_node
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/context.rs:845:25
30: floem::view::recursively_layout_view
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:186:5
31: floem::view::View::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:245:9
32: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
33: <alloc::boxed::Box<dyn floem::view::View> as floem::view::View>::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:327:9
34: floem::view::recursively_layout_view::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:191:24
35: floem::context::LayoutCx::layout_node
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/context.rs:845:25
36: floem::view::recursively_layout_view
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:186:5
37: floem::view::View::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/view.rs:245:9
38: floem::context::LayoutCx::layout_view
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/context.rs:854:9
39: floem::window_handle::WindowHandle::layout
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/window_handle.rs:517:18
40: floem::window_handle::WindowHandle::process_update_no_paint
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/window_handle.rs:694:17
41: floem::window_handle::WindowHandle::process_update
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/window_handle.rs:667:12
42: floem::app_handle::ApplicationHandle::handle_updates_for_all_windows
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/app_handle.rs:392:13
43: floem::app_handle::ApplicationHandle::idle
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/app_handle.rs:387:9
44: floem::app::Application::run
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/app.rs:143:9
45: floem::app::launch
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/1589f5a/src/app.rs:34:5
46: testapp::main
at ./src/main.rs:259:5
47: core::ops::function::FnOnce::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Process finished with exit code 101
It should be fixed now in latest main.
thank you it's work now, but it needs more work for text_editor The cursor in the text_editor is not behaving as expected when typing or navigating with the keyboard.
I apologize for not being able to assist at this time, as I'm currently new to Rust development.
I encountered an error that I couldn't identify the cause of. I was typing randomly in Arabic between English words.
cargo run --color=always --package untitled4 --bin untitled4
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.23s
Running `target/debug/untitled4`
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
Editor changed
thread 'main' panicked at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/visual_line.rs:1744:9:
line: 0, line_index: 1, line_count: 2, vline: RVLine { line: 0, line_index: 1 }, start: 109, end: 101, backwards: false text_len: 111
stack backtrace:
0: rust_begin_unwind
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/panicking.rs:652:5
1: core::panicking::panic_fmt
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/panicking.rs:72:14
2: <floem::views::editor::visual_line::VisualLinesRelative<T> as core::iter::traits::iterator::Iterator>::next
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/visual_line.rs:1744:9
3: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/iter/adapters/map.rs:108:9
4: <core::iter::adapters::take::Take<I> as core::iter::traits::iterator::Iterator>::next
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/iter/adapters/take.rs:41:13
5: <core::iter::adapters::enumerate::Enumerate<I> as core::iter::traits::iterator::Iterator>::next
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/iter/adapters/enumerate.rs:48:17
6: floem::views::editor::normal_compute_screen_lines
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:1545:28
7: floem::views::editor::text::Document::compute_screen_lines
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/text.rs:157:9
8: floem::views::editor::Editor::compute_screen_lines
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:481:9
9: floem::views::editor::create_view_effects::{{closure}}::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:1419:36
10: core::option::Option<T>::map
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/option.rs:1075:29
11: floem_reactive::signal::signal_update_value
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/signal.rs:407:9
12: floem_reactive::signal::RwSignal<T>::update
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/signal.rs:57:13
13: floem::views::editor::create_view_effects::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:1418:9
14: floem::views::editor::create_view_effects::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:1497:9
15: <floem_reactive::effect::Effect<T,F> as floem_reactive::effect::EffectTrait>::run
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/effect.rs:235:25
16: floem_reactive::effect::run_effect::{{closure}}::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/effect.rs:173:13
17: floem_reactive::scope::with_scope
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/scope.rs:129:18
18: floem_reactive::effect::run_effect::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/effect.rs:171:9
19: std::thread::local::LocalKey<T>::try_with
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/thread/local.rs:283:12
20: std::thread::local::LocalKey<T>::with
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/std/src/thread/local.rs:260:9
21: floem_reactive::effect::run_effect
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/effect.rs:167:5
22: floem_reactive::signal::Signal::run_effects
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/signal.rs:366:13
23: floem_reactive::signal::signal_update_value
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/signal.rs:409:5
24: floem_reactive::signal::RwSignal<T>::try_update
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/reactive/src/signal.rs:68:9
25: floem::views::editor::text_document::TextDocument::update_cache_rev
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/text_document.rs:109:9
26: <floem::views::editor::text_document::TextDocument as floem::views::editor::text::Document>::receive_char
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/text_document.rs:226:17
27: floem::views::editor::Editor::receive_char
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/mod.rs:474:9
28: floem::views::editor::view::editor_content::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/editor/view.rs:1180:25
29: floem::views::decorator::Decorators::on_event_stop::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/views/decorator.rs:172:13
30: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/alloc/src/boxed.rs:2077:9
31: floem::context::EventCx::unconditional_view_event::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/context.rs:439:35
32: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/slice/iter/macros.rs:230:27
33: floem::context::EventCx::unconditional_view_event
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/context.rs:438:24
34: floem::window_handle::WindowHandle::event
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/window_handle.rs:191:34
35: floem::window_handle::WindowHandle::key_event
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/window_handle.rs:385:13
36: floem::app_handle::ApplicationHandle::handle_window_event
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/app_handle.rs:185:21
37: floem::app::Application::run::{{closure}}
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/app.rs:151:21
38: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:294:13
39: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:294:13
40: floem_winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::single_iteration
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/wayland/event_loop/mod.rs:461:13
41: floem_winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::poll_events_with_timeout
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/wayland/event_loop/mod.rs:323:9
42: floem_winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::pump_events
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/wayland/event_loop/mod.rs:237:13
43: floem_winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_on_demand
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/wayland/event_loop/mod.rs:201:19
44: floem_winit::platform_impl::platform::EventLoop<T>::run_on_demand
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/mod.rs:821:56
45: floem_winit::platform_impl::platform::EventLoop<T>::run
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/platform_impl/linux/mod.rs:814:9
46: floem_winit::event_loop::EventLoop<T>::run
at /home/igbaria/.cargo/registry/src/index.crates.io-6f17d22bba15001f/floem-winit-0.29.4/src/event_loop.rs:249:9
47: floem::app::Application::run
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/app.rs:144:17
48: floem::app::launch
at /home/igbaria/.cargo/git/checkouts/floem-69eea0a757d1e3ee/32c41cb/src/app.rs:34:5
49: untitled4::main
at ./src/main.rs:76:5
50: core::ops::function::FnOnce::call_once
at /rustc/051478957371ee0084a7c0913941d2a8c4757bb9/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Process finished with exit code 101