slint/internal/compiler/passes
Milian Wolff 69c68b22b2 Also wrap langtype::Type::Struct in an Rc
This makes copying such types much cheaper and will allow us to
intern common struct types in the future too. This further
drops the sample cost for langtype.rs from ~6.6% down to 4.0%.

We are now also able to share/intern common struct types.

Before:
```
  Time (mean ± σ):      1.073 s ±  0.021 s    [User: 0.759 s, System: 0.215 s]
  Range (min … max):    1.034 s …  1.105 s    10 runs

        allocations:            3074261
```

After:
```
  Time (mean ± σ):      1.034 s ±  0.026 s    [User: 0.733 s, System: 0.201 s]
  Range (min … max):    1.000 s …  1.078 s    10 runs

        allocations:            2917476
```
2024-10-28 09:39:54 +01:00
..
apply_default_properties_from_style.rs TextInput: use selection colors from palette (#6381) 2024-09-30 10:56:22 +00:00
binding_analysis.rs Use to_smolstr in a few more places to reduce allocation pressure 2024-10-17 18:04:58 +02:00
border_radius.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
check_expressions.rs Math postfix member functions on numbers 2024-08-15 14:52:13 +02:00
check_public_api.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
check_rotation.rs Split Text item into SimpleText and ComplexText 2024-07-05 12:51:25 +02:00
clip.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
collect_custom_fonts.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
collect_globals.rs Generate multiple components in Rust and C++ (#5449) 2024-06-24 10:03:19 +02:00
collect_init_code.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
collect_structs_and_enums.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
collect_subcomponents.rs Generate multiple components in Rust and C++ (#5449) 2024-06-24 10:03:19 +02:00
compile_paths.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
const_propagation.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
deduplicate_property_read.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
default_geometry.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
embed_glyphs.rs swrenderer: Small fixup in distance field 2024-10-24 08:12:13 +02:00
embed_images.rs compiler: Do not fail the embed_images pass with URLs 2024-10-21 15:00:55 +02:00
ensure_window.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
flickable.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
focus_handling.rs Wrap langtype::Type::{Callback,Function} data in an Rc 2024-10-28 09:39:54 +01:00
generate_item_indices.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
infer_aliases_types.rs API review of the slint interpreter Compiler api 2024-07-05 17:20:08 +02:00
inlining.rs PopupWindow: added close-policy property (#6614) 2024-10-24 09:27:39 +00:00
lower_absolute_coordinates.rs Wrap langtype::Type::{Callback,Function} data in an Rc 2024-10-28 09:39:54 +01:00
lower_accessibility.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
lower_component_container.rs janitor: Fix clippy "unneeded return" 2024-06-24 14:59:47 +02:00
lower_layout.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lower_popups.rs PopupWindow: added close-policy property (#6614) 2024-10-24 09:27:39 +00:00
lower_property_to_element.rs Use to_smolstr in a few more places to reduce allocation pressure 2024-10-17 18:04:58 +02:00
lower_shadows.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lower_states.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
lower_tabwidget.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
lower_text_input_interface.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00
lower_timers.rs Timer: make the interval property mandatory 2024-09-18 09:24:39 +02:00
materialize_fake_properties.rs Use PopupClosePolicy enum from the type register instead of re-creating it 2024-10-24 13:11:11 +02:00
move_declarations.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
optimize_useless_rectangles.rs Add support for optimized rectangles in ElementHandle 2024-06-05 01:29:58 -07:00
purity_check.rs Fix panic with invalid code 2024-10-15 11:42:28 +02:00
remove_aliases.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
remove_return.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
remove_unused_properties.rs Change events: keep unused property with change event 2024-08-16 16:36:38 +02:00
repeater_component.rs Generate multiple components in Rust and C++ (#5449) 2024-06-24 10:03:19 +02:00
resolve_native_classes.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
resolving.rs Also wrap langtype::Type::Struct in an Rc 2024-10-28 09:39:54 +01:00
unique_id.rs Use to_smolstr in a few more places to reduce allocation pressure 2024-10-17 18:04:58 +02:00
visible.rs Use SmolStr in more places of the compiler infrastructure 2024-10-17 18:04:58 +02:00
z_order.rs Simplify commercial license (#3063) 2024-05-31 14:06:17 +02:00