@@ -20,45 +20,25 @@ error: scheduled table missing required columns; add these to your struct:
202028 | #[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-
4323error[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:
5737note: 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
6343error[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`
8262error[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:
9676note: 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
10484error[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:
11898note: 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
124104error[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
135115error[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
177157error[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
208188error[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:
222202note: 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
228208error[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