Commit graph

624 commits

Author SHA1 Message Date
github-actions[bot]
9ebc8a3913
chore: release v0.19.0 (#698)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-10 15:09:26 +01:00
Lukas Wirth
9d2a9786c4
perf: Store view downcaster in function ingredients directly (#720)
* Store view downcaster in function ingredients directly

* Embed typecheck into the downcaster

* Force inline `db` proc-macro generated functions

* Skip unnecessary type-id check
2025-03-06 10:39:52 +00:00
Carl Meyer
3ffc9a2efe
Option::replace instead of std::mem::replace (#746) 2025-03-05 15:58:56 +00:00
Lukas Wirth
7a45da93c2
Cleanup Cargo.tomls (#745) 2025-03-05 15:45:16 +00:00
Lukas Wirth
a57df6c72d Drop clone requirement for accumulated values 2025-02-28 08:41:14 +01:00
Lukas Wirth
870dbfecef Remove unnecessary current_revision call from setup_interned_struct 2025-02-26 13:08:14 +01:00
David Barsky
a1fb5c34de internal: address review comments 2025-02-25 11:19:01 +01:00
Lukas Wirth
009b7dcae5 Skip memo ingredient index mapping for non enum tracked functions 2025-02-25 09:39:11 +01:00
Lukas Wirth
e47c4fe8e9 Trade off a bit of memory for more speed in MemoIngredientIndices 2025-02-25 09:37:28 +01:00
Chayim Refael Friedman
9c12fce24b fix enums bug 2025-02-25 09:36:36 +01:00
Chayim Refael Friedman
6134aaf2b5 Introduce Salsa enums
They are of the form:
```
enum Enum {
    Input(Input),
    Interned(Interned),
    ...
}
```
2025-02-25 09:36:36 +01:00
Micha Reiser
e1884ba2f1
Track revisions for tracked fields only 2025-02-23 18:21:34 +01:00
Micha Reiser
986fd2ee9c
Fix bad-hash with in-place update 2025-02-23 17:10:36 +01:00
Lukas Wirth
a866be95b0 Automatically clear the cancellation flag when cancellation completes 2025-02-20 14:36:28 +01:00
Lukas Wirth
575a2a2dd3 Require mut Zalsa access for setting the lru limit 2025-02-20 14:36:28 +01:00
Lukas Wirth
3573ce8608 Split off revision bumping from zalsa_mut access 2025-02-20 14:36:28 +01:00
Lukas Wirth
d9afdc9182 Emit better diagnostic for invalid tracked function return types 2025-02-15 19:09:06 +01:00
Micha Reiser
c48a9df2ec
Improve span of maybe_update dummy implementation for better diagnostics 2025-02-09 16:07:51 +01:00
Micha Reiser
acbee94fbe
Use Fallback trick for tracked function Update constraint, implement Update for smallvec and compact_str 2025-02-09 15:48:52 +01:00
Micha Reiser
9cfa5a8d6d
Merge pull request #674 from MichaReiser/tracked-fn-require-update
Require `Update` trait for tracked function return values
2025-02-06 13:33:14 +00:00
Micha Reiser
dd069ccf65
Require Update trait for tracked function return values 2025-02-06 14:22:57 +01:00
Ibraheem Ahmed
c710526c3c only create ingredients for tracked fields 2025-02-03 20:40:12 -05:00
Ibraheem Ahmed
ecd4bd8b78 avoid creating ingredients for pure coarse-grained tracked structs 2025-02-03 20:29:49 -05:00
Ibraheem Ahmed
9436f8ff6b ensure tracked struct ingredients are mapped correctly to tracked fields 2025-02-03 20:29:49 -05:00
Ibraheem Ahmed
c90c2f2e8a make tracked structs coarse-grained by default 2025-02-03 20:29:48 -05:00
David Barsky
b2bb2f5983 feature: add support for dumping database contents 2025-01-31 13:58:29 -05:00
Niko Matsakis
a1f61d0c76
Update components/salsa-macro-rules/src/setup_interned_struct.rs 2025-01-27 15:53:20 -05:00
David Barsky
bd81aa4766 feature: add id paramater to interned structs 2025-01-27 13:26:07 -05:00
David Barsky
fbc78e531b feature: add optional lifetimes to interned structs 2025-01-27 13:23:18 -05:00
David Barsky
21a7a0c9e7 feature: allow calling the ingredient method on interned structs 2025-01-27 12:42:06 -05:00
Lukas Wirth
fd808c43e7 Do not allocate input singleton data for non-singleton inputs 2025-01-22 08:28:11 +01:00
David Barsky
5f14bbd60e fix completions in #[salsa::tracked] functions 2025-01-07 12:18:13 -05:00
Lukas Wirth
f428a94a9f Split Lookup into two traits 2025-01-04 11:03:11 +01:00
Lukas Wirth
0a5993fe34 Implement self-referential interning 2025-01-04 11:03:11 +01:00
Shoyu Vanilla
2cae1ef5bb Modify struct ingredient lookups 2024-11-15 01:40:45 +09:00
Shoyu Vanilla
fac6053761 Assign memo ingredients per salsa-struct-ingredient 2024-11-14 00:01:05 +09:00
David Barsky
b0fafce5a5
Update components/salsa-macro-rules/src/setup_tracked_fn.rs 2024-11-07 10:36:02 -05:00
Lukas Wirth
842abe5c27 Emit struct in #[tracked] fn last for better IDE support 2024-11-02 18:01:59 +01:00
Niko Matsakis
5eed7e9078
Merge pull request #604 from jhgg/proc-macro-friendliness-for-ra
salsa-macros: handle invalid inputs in a way friendlier to rust-analyzer
2024-10-25 11:59:24 +00:00
Lukas Wirth
56b7a23f18 Improve the span used for salsa struct constructors 2024-10-25 12:59:55 +02:00
Jake
10d14f0131
fix cargo fmt 2024-10-24 16:47:44 -07:00
Jake
e0febd904a
salsa-macros: handle invalid inputs in a way friendlier to rust-analyzer 2024-10-24 16:37:28 -07:00
David Barsky
c3de24ce12 chore: ensure salsa-macros have a licence 2024-10-17 17:37:56 -04:00
Shoyu Vanilla
57f38aa84b fix: Inconsistent behaviour with lifetime elision on tracked fn 2024-10-17 01:02:32 +09:00
David Barsky
c6c51a0ea0
Merge pull request #593 from ShoyuVanilla/issue-577
fix: Replace `SelfTy` with actual type in tracked methods
2024-10-15 14:33:54 +00:00
gvozdvmozgu
b074f882d9 fix new nightly lint: clippy::unit_arg 2024-10-14 18:22:52 -07:00
Shoyu Vanilla
7e3426e7df Satisfy nightly clippy 2024-10-15 00:49:12 +09:00
Shoyu Vanilla
ad1f84d80f fix: Replace SelfTy with actual type in tracked methods 2024-10-14 02:00:28 +09:00
puuuuh
de95f497ce
fix fmt
Fix clippy warnings
2024-10-10 18:33:50 +03:00
puuuuh
dcdf4d774d
Update components/salsa-macro-rules/src/setup_interned_struct.rs
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2024-10-10 03:43:46 +03:00