Olivier Goffart
ac24e0274e
Rust: fix compilation if the slint code declares struct named core
2025-06-30 13:36:01 +02:00
Olivier Goffart
af573e6401
vtable: Don't automatically add extern C
CI / node_test (ubuntu-22.04) (push) Blocked by required conditions
CI / build_and_test (ubuntu-22.04, nightly) (push) Blocked by required conditions
CI / node_test (macos-14) (push) Blocked by required conditions
CI / node_test (windows-2022) (push) Blocked by required conditions
CI / python_test (macos-14) (push) Blocked by required conditions
CI / python_test (ubuntu-22.04) (push) Blocked by required conditions
CI / python_test (windows-2022) (push) Blocked by required conditions
CI / cpp_test_driver (macos-13) (push) Blocked by required conditions
CI / cpp_test_driver (ubuntu-22.04) (push) Blocked by required conditions
CI / cpp_test_driver (windows-2022) (push) Blocked by required conditions
CI / cpp_cmake (macos-14, 1.82) (push) Blocked by required conditions
CI / cpp_cmake (ubuntu-22.04, stable) (push) Blocked by required conditions
CI / cpp_cmake (windows-2022, nightly) (push) Blocked by required conditions
CI / cpp_package_test (push) Blocked by required conditions
CI / vsce_build_test (push) Blocked by required conditions
CI / mcu (pico-st7789, thumbv6m-none-eabi) (push) Blocked by required conditions
CI / mcu (pico2-st7789, thumbv8m.main-none-eabihf) (push) Blocked by required conditions
CI / mcu (stm32h735g, thumbv7em-none-eabihf) (push) Blocked by required conditions
CI / mcu-embassy (push) Blocked by required conditions
CI / ffi_32bit_build (push) Blocked by required conditions
CI / docs (push) Blocked by required conditions
CI / wasm (push) Blocked by required conditions
CI / wasm_demo (push) Blocked by required conditions
CI / tree-sitter (push) Blocked by required conditions
CI / updater_test (0.3.0) (push) Blocked by required conditions
CI / fmt_test (push) Blocked by required conditions
CI / esp-idf-quick (push) Blocked by required conditions
CI / android (push) Blocked by required conditions
CI / miri (push) Blocked by required conditions
CI / test-figma-inspector (push) Blocked by required conditions
2025-06-06 14:47:46 +02:00
Olivier Goffart
f91b61c8ee
corelib: Remove the extern
call in the vtable for wasm
...
In fact, remove it for non-C++
Because wasm doesn't support C-unwind. And actually warns about
incompatible ABI for the rest
Fixes #8449
2025-06-06 14:47:46 +02:00
Olivier Goffart
f39b3ab888
Use "C-unwind" API in our vtable
...
When using rust, allow panics to cross the boundaries of our vtable traits.
This avoids panic producing two backtrace with panic=unwind
This patch doesn't touch the ABI of out FFI interface, they stay extern "C", because
if a panic or exception crosses these boundaries, we are in trouble.
(Also, we have a panic=abort in our Cargo.toml anyway)
2025-06-06 14:47:46 +02:00
Yuri Astrakhan
4ae2627ade
A few more format arg inlining
...
Used these commands and some manual searching
```
cargo clippy --fix --all-targets --workspace --exclude gstreamer-player --exclude i-slint-backend-linuxkms --exclude uefi-demo --exclude ffmpeg -- -A clippy::all -W clippy::uninlined_format_args
cargo clippy --all-targets -- -A clippy::all -W clippy::uninlined_format_args
cargo clippy --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2025-02-07 06:43:19 +01:00
Olivier Goffart
63785fd262
vtable: fix for warning with the nightly rust compiler
...
```
warning: non-local `macro_rules!` definition, `#[macro_export]` macro should be written at top level module
--> helper_crates/vtable/tests/test_vtable.rs:159:5
|
159 | #[vtable]
| ^^^^^^^^^ in this procedural macro expansion
|
= help: remove the `#[macro_export]` or move this `macro_rules!` outside the of the current function `test3`
```
Put the macro in the module with everything else, so it is re-exported
with the same visibility
2024-09-26 09:35:12 +02:00
Tobias Hunger
e0ac115edd
janitor: vtable: Fix struct
SelfInfo is never constructed
...
Fix a build time warning.
2024-07-01 12:38:34 +02:00
Tobias Hunger
18e7ed2626
janitor: Fix clippy "doc list item missing indentation"
2024-06-24 14:59:47 +02:00
Tobias Hunger
2e3b00e38e
janitor: Fix some clippy warnings pre-release
...
Nothing that should be controversial, but the
`internal/compiler/builtin_macros.rs` could point to a thinko in the original
commit.
2024-05-06 16:47:14 +02:00
Olivier Goffart
5605c606ca
vtable: fix UB detected as miri errors
...
We can't create references for things that aren't represented by the
reference. Even if we never dereference that reference.
Also add a miri test in the CI that runs the test on crate which are
error free.
2024-02-21 08:12:18 +01:00
Tobias Hunger
0139eea4f9
xtask: Fix up license headers
...
* Keep project related .md files triple licensed as the rest of the
crate
* Make vtable MIT OR Apache 2.0 (as suggested by @ogoffart)
2023-08-17 08:55:28 +02:00
Aurindam Jana
5a4a7fee63
Update royalty free license to 1.1 ( #2994 )
2023-07-10 10:12:11 +02:00
Tobias Hunger
e02c360000
Clippy polish
2023-06-28 14:22:30 +02:00
Olivier Goffart
11dea135f7
Domain: slint-ui.com -> slint.dev
2023-06-16 10:55:08 +02:00
Aurindam Jana
039e54a5de
Add royalty free license to files except examples and docs ( #2888 )
2023-06-15 11:20:50 +02:00
Olivier Goffart
a2a29862a2
vtable: update syn
2023-03-22 09:49:54 +01:00
Olivier Goffart
a1724602e6
Skia: Cache the Skia image in the core image cache
...
Because re-generating the Skia image is slow and there is no point
storing both the image buffer and the SkiaImage in the cache as it
is basically the same information.
2022-08-16 11:22:11 +02:00
Olivier Goffart
65346c699c
Attempt to get the "image-in-corelib" feature compile with C++
2022-07-20 12:57:37 +02:00
Olivier Goffart
ced9504635
Fix warning in nightly rust
...
```
warning: unused return value of `alloc::boxed::Box::<T>::from_raw` that must be used
Warning: --> internal/core/properties.rs:382:9
|
382 | Box::from_raw(_self as *mut BindingHolder<B>);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: call `drop(from_raw(ptr))` if you intend to drop the `Box`
```
Just do what the note says
2022-07-18 16:21:27 +02:00
Tobias Hunger
c825eee228
janitor: Update global cspell
...
Update global cspell words and remove some file-wide words.
Also remove a manual test that is now also run as a proper test case.
2022-04-12 12:03:45 +02:00
Tobias Hunger
626f7c64fc
vtable: Quieten possible warning about unused unsafe
2022-03-22 18:33:15 +01:00
Tobias Hunger
86a6add32c
janitor: Fix typos and make cspell happy
2022-03-18 10:15:44 +01:00
Tobias Hunger
4230ac2572
Update copyright information to reflect name change
...
Also run resue over the codebase and fix complaints from that tool.
2022-02-09 10:27:47 +01:00
Tobias Hunger
bfca0e3573
Mass update copyright messages to be more REUSE compliant
2021-12-22 10:06:12 +01:00
Frederick Vollbrecht
12c0ef38fb
Typos: repeating words in documentation, across the repository ( #753 )
...
* fixed typo in image.rs
* unnecessary repeated words in sixtyfps_runtime
* unnecessary repeated words in sixtyfps_compiler
* unnecessary repeated word in docs
* unnecessary repeated words in helper_crates
2021-12-19 17:40:45 +01:00
Olivier Goffart
41e180f184
Make vtable no_std
2021-11-25 12:02:16 +01:00
Olivier Goffart
390b838c21
Use intra doc links in the documentation of vtable and const-field-offset macro
2021-11-09 17:37:31 +01:00
Olivier Goffart
13bd828b96
Update license date
2021-07-02 15:55:54 +02:00
Tobias Hunger
13d7f5e7bd
Janitor: Fix typos in comments and user-facing strings
...
Also adapt tests for error messages containing the fixed strings.
No behavior change is intended!
2021-06-28 08:32:25 +02:00
Tobias Hunger
c33a897bb3
Janitor: Fix type in struct field name
...
No behavior change is intended here!
2021-06-28 08:32:00 +02:00
Olivier Goffart
d85df00126
Fix cargo clippy warning on the vtable crate
2020-12-04 13:04:14 +01:00
Olivier Goffart
7f66ca9584
Add a function in the ComponentVTable to get an ItemRef from an index
...
Needed to adjust vtable so it can work if the return type has a reference
2020-11-11 14:29:44 +01:00
Olivier Goffart
2c10daa6b2
Update helper_crates/vtable/macro/macro.rs
...
Co-authored-by: Simon Hausmann <simon.hausmann@sixtyfps.io>
2020-11-06 10:11:44 +01:00
Olivier Goffart
f852b0bb6a
vtable: new VRc and VWeak pointer
2020-11-06 10:11:44 +01:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +02:00
Simon Hausmann
46911f60ee
Minor doc fixes to the vtable crate
2020-08-25 16:22:07 +02:00
Simon Hausmann
2823f32692
Apply license headers to all non-binary/non-json sources
2020-08-17 17:55:20 +02:00
Olivier Goffart
86a85cf838
vtable: change #[offset] to #[field_offset]
...
And add a documentation for it
2020-08-03 11:26:48 +02:00
Olivier Goffart
00c32e9c6d
vtable: remove the convinient type alias from the macro
...
If one really need them, they can be implemented by the user
2020-08-03 11:03:24 +02:00
Olivier Goffart
77cf1e1e83
Some documentation change following today review
2020-07-31 16:28:59 +02:00
Simon Hausmann
c18861125d
Small typo fix :-)
2020-06-25 14:22:10 +02:00
Olivier Goffart
caca0d0ba4
Put the component in a Pin<>
...
Removed the drop and create from the ComponentVTable:
since we are not using VBox<ComponentVTable>, this simplifies a bit
the code of the interpreter and everything else.
But there is still a lot of changes everywhere to support that the Component
is pinned.
This is just for the component. Which would be required if later we want
to access the properties as Pin<Property<_>>. But we have not yet ability
to do projections
2020-06-24 14:13:27 +02:00
Olivier Goffart
34931e58c0
Polishing of the documentation
2020-06-08 17:57:18 +02:00
Olivier Goffart
0a48252702
Interpreter: implement the ComponentVTable properly
...
with the drop and construct function
2020-06-03 17:33:26 +02:00
Olivier Goffart
9c3dbe1a81
Small doc fixup to workaround rustdoc bug
...
https://github.com/rust-lang/rust/issues/45939
https://github.com/rust-lang/rust/issues/60543
2020-05-31 16:20:22 +02:00
Olivier Goffart
5f01ec30ee
Fix the viewer using generated rtti from a macro
...
One thing that needed to change is that we needed the vtable to be unique
2020-05-30 15:08:51 +02:00
Olivier Goffart
0f977cbb25
Some documentation fixes for item generated with #[vtable]
2020-05-22 12:38:55 +02:00
Olivier Goffart
bf3a0878b5
Add documentation for the vtable crate
2020-05-22 11:17:45 +02:00
Olivier Goffart
5a9cbaae66
vtable add support for field offset in the vtable
2020-05-18 11:06:44 +02:00
Olivier Goffart
aff3d7e14b
vtable: add safe way to construct references
2020-05-18 11:06:44 +02:00