Skip to content

Commit 619b8ce

Browse files
authored
Bump Rust to 1.90 (#3397)
# Description of Changes Necessary for pulling in rolldown. # API and ABI breaking changes None # Expected complexity level and risk 1, with the caveat that this updates the Rust version and therefore touches all the code. # Testing - [ ] Just the automated testing
1 parent 1d1c271 commit 619b8ce

File tree

27 files changed

+279
-271
lines changed

27 files changed

+279
-271
lines changed

.github/workflows/benchmarks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ jobs:
183183
runs-on: ubuntu-latest
184184
timeout-minutes: 20 # on a successful run, runs in 8 minutes
185185
container:
186-
image: rust:1.88.0
186+
image: rust:1.90.0
187187
options: --privileged
188188
# filter for a comment containing 'benchmarks please'
189189
if: ${{ github.event_name != 'issue_comment' || (github.event.issue.pull_request && contains(github.event.comment.body, 'benchmarks please')) }}

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ debug = true
9595
version = "1.5.0"
9696
edition = "2021"
9797
# update rust-toolchain.toml too!
98-
rust-version = "1.88.0"
98+
rust-version = "1.90.0"
9999

100100
[workspace.dependencies]
101101
spacetimedb = { path = "crates/bindings", version = "=1.5.0" }

crates/bench/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# See the README for commands to run.
44

55
# sync with: ../../rust-toolchain.toml
6-
FROM rust:1.88.0
6+
FROM rust:1.90.0
77

88
RUN apt-get update && \
99
apt-get install -y valgrind bash && \

crates/bench/benches/callgrind.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ mod callgrind_benches {
408408
// ========================= FIND =========================
409409

410410
#[derive(Deserialize)]
411+
#[expect(unused)] // TODO
411412
struct FindBenchmark<DB: BenchDatabase, T: BenchTable + RandomTable> {
412413
bench: String,
413414
db: String,

crates/bindings/tests/ui/reducers.stderr

Lines changed: 113 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -20,45 +20,25 @@ error: scheduled table missing required columns; add these to your struct:
2020
28 | #[spacetimedb::table(name = scheduled_table_missing_rows, scheduled(scheduled_table_missing_rows_reducer))]
2121
| ^^^^^^^^^
2222

23-
error[E0593]: function is expected to take 2 arguments, but it takes 3 arguments
24-
--> tests/ui/reducers.rs:37:56
25-
|
26-
37 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_reducer))]
27-
| -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^---
28-
| | |
29-
| | expected function that takes 2 arguments
30-
| required by a bound introduced by this call
31-
...
32-
48 | fn scheduled_table_reducer(_ctx: &ReducerContext, _x: u8, _y: u8) {}
33-
| ----------------------------------------------------------------- takes 3 arguments
34-
|
35-
= note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `Reducer<'_, (ScheduledTable,)>`
36-
= note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `ReducerForScheduledTable<'_, ScheduledTable>`
37-
note: required by a bound in `scheduled_reducer_typecheck`
38-
--> src/rt.rs
39-
|
40-
| pub const fn scheduled_reducer_typecheck<'de, Row>(_x: impl ReducerForScheduledTable<'de, Row>)
41-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `scheduled_reducer_typecheck`
42-
4323
error[E0277]: invalid reducer signature
4424
--> tests/ui/reducers.rs:6:4
4525
|
46-
5 | #[spacetimedb::reducer]
47-
| ----------------------- required by a bound introduced by this call
48-
6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
49-
| ^^^^^^^^ this reducer signature is not valid
50-
|
51-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
52-
= note:
53-
= note: reducer signatures must match the following pattern:
54-
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
55-
= note: where each `Ti` type implements `SpacetimeType`.
56-
= note:
26+
5 | #[spacetimedb::reducer]
27+
| ----------------------- required by a bound introduced by this call
28+
6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
29+
| ^^^^^^^^ this reducer signature is not valid
30+
|
31+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
32+
= note:
33+
= note: reducer signatures must match the following pattern:
34+
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
35+
= note: where each `Ti` type implements `SpacetimeType`.
36+
= note:
5737
note: required by a bound in `register_reducer`
58-
--> src/rt.rs
59-
|
60-
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
61-
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
38+
--> src/rt.rs
39+
|
40+
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
41+
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
6242

6343
error[E0277]: the reducer argument `Test` does not implement `SpacetimeType`
6444
--> tests/ui/reducers.rs:6:40
@@ -82,44 +62,44 @@ error[E0277]: the reducer argument `Test` does not implement `SpacetimeType`
8262
error[E0277]: invalid reducer signature
8363
--> tests/ui/reducers.rs:6:4
8464
|
85-
5 | #[spacetimedb::reducer]
86-
| ----------------------- required by a bound introduced by this call
87-
6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
88-
| ^^^^^^^^ this reducer signature is not valid
89-
|
90-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
91-
= note:
92-
= note: reducer signatures must match the following pattern:
93-
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
94-
= note: where each `Ti` type implements `SpacetimeType`.
95-
= note:
65+
5 | #[spacetimedb::reducer]
66+
| ----------------------- required by a bound introduced by this call
67+
6 | fn bad_type(_ctx: &ReducerContext, _a: Test) {}
68+
| ^^^^^^^^ this reducer signature is not valid
69+
|
70+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext, Test) {bad_type}`
71+
= note:
72+
= note: reducer signatures must match the following pattern:
73+
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
74+
= note: where each `Ti` type implements `SpacetimeType`.
75+
= note:
9676
note: required by a bound in `invoke_reducer`
97-
--> src/rt.rs
98-
|
99-
| pub fn invoke_reducer<'a, A: Args<'a>>(
100-
| -------------- required by a bound in this function
101-
| reducer: impl Reducer<'a, A>,
102-
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
77+
--> src/rt.rs
78+
|
79+
| pub fn invoke_reducer<'a, A: Args<'a>>(
80+
| -------------- required by a bound in this function
81+
| reducer: impl Reducer<'a, A>,
82+
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
10383

10484
error[E0277]: invalid reducer signature
10585
--> tests/ui/reducers.rs:9:4
10686
|
107-
8 | #[spacetimedb::reducer]
108-
| ----------------------- required by a bound introduced by this call
109-
9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
110-
| ^^^^^^^^^^^^^^^ this reducer signature is not valid
111-
|
112-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
113-
= note:
114-
= note: reducer signatures must match the following pattern:
115-
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
116-
= note: where each `Ti` type implements `SpacetimeType`.
117-
= note:
87+
8 | #[spacetimedb::reducer]
88+
| ----------------------- required by a bound introduced by this call
89+
9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
90+
| ^^^^^^^^^^^^^^^ this reducer signature is not valid
91+
|
92+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
93+
= note:
94+
= note: reducer signatures must match the following pattern:
95+
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
96+
= note: where each `Ti` type implements `SpacetimeType`.
97+
= note:
11898
note: required by a bound in `register_reducer`
119-
--> src/rt.rs
120-
|
121-
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
122-
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
99+
--> src/rt.rs
100+
|
101+
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
102+
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
123103

124104
error[E0277]: `Test` is not a valid reducer return type
125105
--> tests/ui/reducers.rs:9:46
@@ -135,44 +115,44 @@ error[E0277]: `Test` is not a valid reducer return type
135115
error[E0277]: invalid reducer signature
136116
--> tests/ui/reducers.rs:9:4
137117
|
138-
8 | #[spacetimedb::reducer]
139-
| ----------------------- required by a bound introduced by this call
140-
9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
141-
| ^^^^^^^^^^^^^^^ this reducer signature is not valid
142-
|
143-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
144-
= note:
145-
= note: reducer signatures must match the following pattern:
146-
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
147-
= note: where each `Ti` type implements `SpacetimeType`.
148-
= note:
149-
note: required by a bound in `invoke_reducer`
150-
--> src/rt.rs
151-
|
152-
| pub fn invoke_reducer<'a, A: Args<'a>>(
153-
| -------------- required by a bound in this function
154-
| reducer: impl Reducer<'a, A>,
155-
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
156-
157-
error[E0277]: invalid reducer signature
158-
--> tests/ui/reducers.rs:23:4
159-
|
160-
22 | #[spacetimedb::reducer]
118+
8 | #[spacetimedb::reducer]
161119
| ----------------------- required by a bound introduced by this call
162-
23 | fn missing_ctx(_a: u8) {}
163-
| ^^^^^^^^^^^ this reducer signature is not valid
120+
9 | fn bad_return_type(_ctx: &ReducerContext) -> Test {
121+
| ^^^^^^^^^^^^^^^ this reducer signature is not valid
164122
|
165-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
123+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `for<'a> fn(&'a ReducerContext) -> Test {bad_return_type}`
166124
= note:
167125
= note: reducer signatures must match the following pattern:
168126
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
169127
= note: where each `Ti` type implements `SpacetimeType`.
170128
= note:
171-
note: required by a bound in `register_reducer`
129+
note: required by a bound in `invoke_reducer`
172130
--> src/rt.rs
173131
|
174-
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
175-
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
132+
| pub fn invoke_reducer<'a, A: Args<'a>>(
133+
| -------------- required by a bound in this function
134+
| reducer: impl Reducer<'a, A>,
135+
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
136+
137+
error[E0277]: invalid reducer signature
138+
--> tests/ui/reducers.rs:23:4
139+
|
140+
22 | #[spacetimedb::reducer]
141+
| ----------------------- required by a bound introduced by this call
142+
23 | fn missing_ctx(_a: u8) {}
143+
| ^^^^^^^^^^^ this reducer signature is not valid
144+
|
145+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(u8) {missing_ctx}`
146+
= note:
147+
= note: reducer signatures must match the following pattern:
148+
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
149+
= note: where each `Ti` type implements `SpacetimeType`.
150+
= note:
151+
note: required by a bound in `register_reducer`
152+
--> src/rt.rs
153+
|
154+
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
155+
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
176156

177157
error[E0277]: the first argument of a reducer must be `&ReducerContext`
178158
--> tests/ui/reducers.rs:23:20
@@ -206,24 +186,24 @@ note: required by a bound in `invoke_reducer`
206186
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
207187

208188
error[E0277]: invalid reducer signature
209-
--> tests/ui/reducers.rs:26:4
210-
|
211-
25 | #[spacetimedb::reducer]
212-
| ----------------------- required by a bound introduced by this call
213-
26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
214-
| ^^^^^^^^^^ this reducer signature is not valid
215-
|
216-
= help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
217-
= note:
218-
= note: reducer signatures must match the following pattern:
219-
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
220-
= note: where each `Ti` type implements `SpacetimeType`.
221-
= note:
189+
--> tests/ui/reducers.rs:26:4
190+
|
191+
25 | #[spacetimedb::reducer]
192+
| ----------------------- required by a bound introduced by this call
193+
26 | fn ctx_by_val(_ctx: ReducerContext, _a: u8) {}
194+
| ^^^^^^^^^^ this reducer signature is not valid
195+
|
196+
= help: the trait `Reducer<'_, _>` is not implemented for fn item `fn(ReducerContext, u8) {ctx_by_val}`
197+
= note:
198+
= note: reducer signatures must match the following pattern:
199+
= note: `Fn(&ReducerContext, [T1, ...]) [-> Result<(), impl Display>]`
200+
= note: where each `Ti` type implements `SpacetimeType`.
201+
= note:
222202
note: required by a bound in `register_reducer`
223-
--> src/rt.rs
224-
|
225-
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
226-
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
203+
--> src/rt.rs
204+
|
205+
| pub fn register_reducer<'a, A: Args<'a>, I: ReducerInfo>(_: impl Reducer<'a, A>) {
206+
| ^^^^^^^^^^^^^^ required by this bound in `register_reducer`
227207

228208
error[E0277]: the first argument of a reducer must be `&ReducerContext`
229209
--> tests/ui/reducers.rs:26:21
@@ -255,3 +235,23 @@ note: required by a bound in `invoke_reducer`
255235
| -------------- required by a bound in this function
256236
| reducer: impl Reducer<'a, A>,
257237
| ^^^^^^^^^^^^^^ required by this bound in `invoke_reducer`
238+
239+
error[E0593]: function is expected to take 2 arguments, but it takes 3 arguments
240+
--> tests/ui/reducers.rs:37:56
241+
|
242+
37 | #[spacetimedb::table(name = scheduled_table, scheduled(scheduled_table_reducer))]
243+
| -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^---
244+
| | |
245+
| | expected function that takes 2 arguments
246+
| required by a bound introduced by this call
247+
...
248+
48 | fn scheduled_table_reducer(_ctx: &ReducerContext, _x: u8, _y: u8) {}
249+
| ----------------------------------------------------------------- takes 3 arguments
250+
|
251+
= note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `Reducer<'_, (ScheduledTable,)>`
252+
= note: required for `for<'a> fn(&'a ReducerContext, u8, u8) {scheduled_table_reducer}` to implement `ReducerForScheduledTable<'_, ScheduledTable>`
253+
note: required by a bound in `scheduled_reducer_typecheck`
254+
--> src/rt.rs
255+
|
256+
| pub const fn scheduled_reducer_typecheck<'de, Row>(_x: impl ReducerForScheduledTable<'de, Row>)
257+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `scheduled_reducer_typecheck`

0 commit comments

Comments
 (0)