Skip to content

Commit b66b237

Browse files
authored
Load Diplomat and twiggy from cache; update diplomat (#974)
* Update diplomat * Add make tasks for updating diplomat * Load Diplomat from cache * Load twiggy from cache * No need to sync anymore * indent * Include tool name in cache key name
1 parent 9b41685 commit b66b237

12 files changed

+151
-46
lines changed

.github/workflows/build-test.yml

Lines changed: 82 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
path: |
4242
~/.cargo/bin/cargo-make
4343
~/.cargo/bin/cargo-make.exe
44-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
44+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
4545
- name: Install cargo-make
4646
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
4747
uses: actions-rs/[email protected]
@@ -80,7 +80,7 @@ jobs:
8080
path: |
8181
~/.cargo/bin/cargo-make
8282
~/.cargo/bin/cargo-make.exe
83-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
83+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
8484
- name: Install cargo-make
8585
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
8686
uses: actions-rs/[email protected]
@@ -129,7 +129,7 @@ jobs:
129129
path: |
130130
~/.cargo/bin/cargo-make
131131
~/.cargo/bin/cargo-make.exe
132-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
132+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
133133
- name: Install cargo-make
134134
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
135135
uses: actions-rs/[email protected]
@@ -145,13 +145,27 @@ jobs:
145145
packages: |
146146
sphinx
147147
sphinx-rtd-theme
148+
- name: Get Diplomat version
149+
id: diplomat-version
150+
run: |
151+
echo "::set-output name=rev::$(cargo make diplomat-get-rev --loglevel error | tr -d '[:space:]')"
152+
shell: bash
153+
- name: Attempt to load cached Diplomat
154+
uses: actions/cache@v2
155+
id: diplomat-cache
156+
with:
157+
path: |
158+
~/.cargo/bin/diplomat-tool
159+
~/.cargo/bin/diplomat-tool.exe
160+
key: ${{ runner.os }}-diplomat-${{ steps.diplomat-version.outputs.rev }}
148161

149162
- name: Install Diplomat
163+
if: steps.diplomat-cache.outputs.cache-hit != 'true'
150164
uses: actions-rs/[email protected]
151165
with:
152166
command: install
153167
# Keep this in sync with ffi/capi/Cargo.toml
154-
args: --git https://github.com/rust-diplomat/diplomat.git --rev 3ac8c3e8e31353a2f3eb02d015eb23a1feb84b4d diplomat-tool
168+
args: --git https://github.com/rust-diplomat/diplomat.git --rev ${{ steps.diplomat-version.outputs.rev }} diplomat-tool
155169

156170
- name: Build
157171
uses: actions-rs/[email protected]
@@ -191,7 +205,7 @@ jobs:
191205
path: |
192206
~/.cargo/bin/cargo-make
193207
~/.cargo/bin/cargo-make.exe
194-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
208+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
195209
- name: Install cargo-make
196210
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
197211
uses: actions-rs/[email protected]
@@ -219,7 +233,26 @@ jobs:
219233
- name: Install WASM tools
220234
run: |
221235
sudo apt-get install wabt binaryen
222-
cargo install twiggy
236+
237+
- name: Get twiggy version
238+
id: twiggy-version
239+
run: |
240+
echo "::set-output name=hash::$(cargo search twiggy | grep '^twiggy =' | md5sum)"
241+
shell: bash
242+
- name: Attempt to load cached twiggy
243+
uses: actions/cache@v2
244+
id: twiggy-cache
245+
with:
246+
path: |
247+
~/.cargo/bin/twiggy
248+
~/.cargo/bin/twiggy.exe
249+
key: ${{ runner.os }}-twiggy-${{ steps.twiggy-version.outputs.hash }}
250+
- name: Install twiggy
251+
if: steps.twiggy-cache.outputs.cache-hit != 'true'
252+
uses: actions-rs/[email protected]
253+
with:
254+
crate: twiggy
255+
version: latest
223256

224257
- name: Get cargo-make version
225258
id: cargo-make-version
@@ -233,19 +266,35 @@ jobs:
233266
path: |
234267
~/.cargo/bin/cargo-make
235268
~/.cargo/bin/cargo-make.exe
236-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
269+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
237270
- name: Install cargo-make
238271
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
239272
uses: actions-rs/[email protected]
240273
with:
241274
crate: cargo-make
242275
version: latest
243276

277+
- name: Get Diplomat version
278+
id: diplomat-version
279+
run: |
280+
echo "::set-output name=rev::$(cargo make diplomat-get-rev --loglevel error | tr -d '[:space:]')"
281+
shell: bash
282+
- name: Attempt to load cached Diplomat
283+
uses: actions/cache@v2
284+
id: diplomat-cache
285+
with:
286+
path: |
287+
~/.cargo/bin/diplomat-tool
288+
~/.cargo/bin/diplomat-tool.exe
289+
key: ${{ runner.os }}-diplomat-${{ steps.diplomat-version.outputs.rev }}
290+
244291
- name: Install Diplomat
292+
if: steps.diplomat-cache.outputs.cache-hit != 'true'
245293
uses: actions-rs/[email protected]
246294
with:
247295
command: install
248-
args: --git https://github.com/rust-diplomat/diplomat.git --rev 3ac8c3e8e31353a2f3eb02d015eb23a1feb84b4d diplomat-tool
296+
# Keep this in sync with ffi/capi/Cargo.toml
297+
args: --git https://github.com/rust-diplomat/diplomat.git --rev ${{ steps.diplomat-version.outputs.rev }} diplomat-tool
249298

250299
- name: Build
251300
uses: actions-rs/[email protected]
@@ -287,7 +336,7 @@ jobs:
287336
path: |
288337
~/.cargo/bin/cargo-make
289338
~/.cargo/bin/cargo-make.exe
290-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
339+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
291340
- name: Install cargo-make
292341
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
293342
uses: actions-rs/[email protected]
@@ -324,7 +373,7 @@ jobs:
324373
path: |
325374
~/.cargo/bin/cargo-make
326375
~/.cargo/bin/cargo-make.exe
327-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
376+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
328377
- name: Install cargo-make
329378
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
330379
uses: actions-rs/[email protected]
@@ -344,7 +393,7 @@ jobs:
344393
path: |
345394
~/.cargo/bin/cargo-readme
346395
~/.cargo/bin/cargo-readme.exe
347-
key: ${{ runner.os }}-${{ steps.cargo-readme-version.outputs.hash }}
396+
key: ${{ runner.os }}-readme-${{ steps.cargo-readme-version.outputs.hash }}
348397
- name: Install cargo-readme
349398
if: steps.cargo-readme-cache.outputs.cache-hit != 'true'
350399
uses: actions-rs/[email protected]
@@ -645,7 +694,7 @@ jobs:
645694
path: |
646695
~/.cargo/bin/cargo-make
647696
~/.cargo/bin/cargo-make.exe
648-
key: ${{ runner.os }}-${{ steps.cargo-make-version.outputs.hash }}
697+
key: ${{ runner.os }}-make-${{ steps.cargo-make-version.outputs.hash }}
649698

650699
- name: Install cargo-make
651700
if: steps.cargo-make-cache.outputs.cache-hit != 'true'
@@ -654,14 +703,34 @@ jobs:
654703
crate: cargo-make
655704
version: latest
656705

706+
- name: Get twiggy version
707+
id: twiggy-version
708+
run: |
709+
echo "::set-output name=hash::$(cargo search twiggy | grep '^twiggy =' | md5sum)"
710+
shell: bash
711+
- name: Attempt to load cached twiggy
712+
uses: actions/cache@v2
713+
id: twiggy-cache
714+
with:
715+
path: |
716+
~/.cargo/bin/twiggy
717+
~/.cargo/bin/twiggy.exe
718+
key: ${{ runner.os }}-twiggy-${{ steps.twiggy-version.outputs.hash }}
719+
- name: Install twiggy
720+
if: steps.twiggy-cache.outputs.cache-hit != 'true'
721+
uses: actions-rs/[email protected]
722+
with:
723+
crate: twiggy
724+
version: latest
725+
657726
- name: Install prerequisites for wasm build
658727
run: |
659728
rustup component add rust-src
660729
rustup toolchain list
661730
rustup toolchain install nightly-2021-02-28
662731
sudo npm install -g wasm-opt --unsafe-perm
663732
sudo npm install -g wabt
664-
cargo install twiggy
733+
665734
666735
- name: Setup output data directory
667736
run: mkdir -p benchmarks/binsize

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ffi/capi/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ icu_provider_blob = { path = "../../provider/blob" }
6868
tinystr = { version = "0.4.10", features = ["alloc"], default-features = false }
6969
writeable = { path = "../../utils/writeable/" }
7070

71-
# make sure to update GitHub actions to use the appropriate revision
72-
diplomat = { git = "https://github.com/rust-diplomat/diplomat", rev = "3ac8c3e8e31353a2f3eb02d015eb23a1feb84b4d" }
73-
diplomat-runtime = { git = "https://github.com/rust-diplomat/diplomat", rev = "3ac8c3e8e31353a2f3eb02d015eb23a1feb84b4d" }
71+
# Run `cargo make diplomat-install` to get the right diplomat binary installed
72+
diplomat = { git = "https://github.com/rust-diplomat/diplomat", rev = "38cffa9bc2ef21d0aba89ed7d76236de4153248a" }
73+
diplomat-runtime = { git = "https://github.com/rust-diplomat/diplomat", rev = "38cffa9bc2ef21d0aba89ed7d76236de4153248a" }
7474
icu_testdata = { version = "0.3", path = "../../provider/testdata", default-features = false, features = ["static"], optional = true }
7575

7676
# This cfg originates in dlmalloc/lib.rs

ffi/capi/include/result_void_ICU4XLocaleError.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ extern "C" {
1212
#include "ICU4XLocaleError.h"
1313
typedef struct locale_ffi_result_void_ICU4XLocaleError {
1414
union {
15-
uint8_t ok[0];
1615
ICU4XLocaleError err;
1716
};
1817
bool is_ok;

ffi/capi/include/result_void_void.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,6 @@
1010
extern "C" {
1111
#endif
1212
typedef struct decimal_ffi_result_void_void {
13-
union {
14-
uint8_t ok[0];
15-
uint8_t err[0];
16-
};
1713
bool is_ok;
1814
} decimal_ffi_result_void_void;
1915
#ifdef __cplusplus

ffi/cpp/include/ICU4XFixedDecimalFormatOptions.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ struct ICU4XFixedDecimalFormatOptions {
3232

3333
inline ICU4XFixedDecimalFormatOptions ICU4XFixedDecimalFormatOptions::default_() {
3434
capi::ICU4XFixedDecimalFormatOptions diplomat_raw_struct_out_value = capi::ICU4XFixedDecimalFormatOptions_default();
35-
return ICU4XFixedDecimalFormatOptions{ .grouping_strategy = std::move(ICU4XFixedDecimalGroupingStrategy{ diplomat_raw_struct_out_value.grouping_strategy }), .sign_display = std::move(ICU4XFixedDecimalSignDisplay{ diplomat_raw_struct_out_value.sign_display }) };
35+
return ICU4XFixedDecimalFormatOptions{ .grouping_strategy = std::move(static_cast<ICU4XFixedDecimalGroupingStrategy>(diplomat_raw_struct_out_value.grouping_strategy)), .sign_display = std::move(static_cast<ICU4XFixedDecimalSignDisplay>(diplomat_raw_struct_out_value.sign_display)) };
3636
}
3737
#endif

ffi/cpp/include/ICU4XLocale.hpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
7272
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
7373
if (diplomat_result_raw_out_value.is_ok) {
7474
} else {
75-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
75+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
7676
}
7777
return diplomat_result_out_value;
7878
}
@@ -83,7 +83,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::basename() {
8383
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
8484
if (diplomat_result_raw_out_value.is_ok) {
8585
} else {
86-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
86+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
8787
}
8888
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
8989
}
@@ -93,7 +93,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
9393
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
9494
if (diplomat_result_raw_out_value.is_ok) {
9595
} else {
96-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
96+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
9797
}
9898
return diplomat_result_out_value;
9999
}
@@ -104,7 +104,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::get_unicode_
104104
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
105105
if (diplomat_result_raw_out_value.is_ok) {
106106
} else {
107-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
107+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
108108
}
109109
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
110110
}
@@ -114,7 +114,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
114114
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
115115
if (diplomat_result_raw_out_value.is_ok) {
116116
} else {
117-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
117+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
118118
}
119119
return diplomat_result_out_value;
120120
}
@@ -125,7 +125,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::language() {
125125
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
126126
if (diplomat_result_raw_out_value.is_ok) {
127127
} else {
128-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
128+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
129129
}
130130
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
131131
}
@@ -135,7 +135,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
135135
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
136136
if (diplomat_result_raw_out_value.is_ok) {
137137
} else {
138-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
138+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
139139
}
140140
return diplomat_result_out_value;
141141
}
@@ -146,7 +146,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::region() {
146146
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
147147
if (diplomat_result_raw_out_value.is_ok) {
148148
} else {
149-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
149+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
150150
}
151151
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
152152
}
@@ -156,7 +156,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
156156
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
157157
if (diplomat_result_raw_out_value.is_ok) {
158158
} else {
159-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
159+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
160160
}
161161
return diplomat_result_out_value;
162162
}
@@ -167,7 +167,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::script() {
167167
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
168168
if (diplomat_result_raw_out_value.is_ok) {
169169
} else {
170-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
170+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
171171
}
172172
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
173173
}
@@ -177,7 +177,7 @@ template<typename W> inline diplomat::result<std::monostate, ICU4XLocaleError> I
177177
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
178178
if (diplomat_result_raw_out_value.is_ok) {
179179
} else {
180-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
180+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
181181
}
182182
return diplomat_result_out_value;
183183
}
@@ -188,7 +188,7 @@ inline diplomat::result<std::string, ICU4XLocaleError> ICU4XLocale::tostring() {
188188
diplomat::result<std::monostate, ICU4XLocaleError> diplomat_result_out_value(diplomat_result_raw_out_value.is_ok);
189189
if (diplomat_result_raw_out_value.is_ok) {
190190
} else {
191-
diplomat_result_out_value.set_err((std::move(ICU4XLocaleError{ diplomat_result_raw_out_value.err })));
191+
diplomat_result_out_value.set_err((std::move(static_cast<ICU4XLocaleError>(diplomat_result_raw_out_value.err))));
192192
}
193193
return diplomat_result_out_value.replace_ok(std::move(diplomat_writeable_string));
194194
}

ffi/cpp/include/ICU4XLocaleCanonicalizer.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ inline std::optional<ICU4XLocaleCanonicalizer> ICU4XLocaleCanonicalizer::create(
5050
return diplomat_optional_out_value;
5151
}
5252
inline ICU4XCanonicalizationResult ICU4XLocaleCanonicalizer::canonicalize(ICU4XLocale& locale) {
53-
return ICU4XCanonicalizationResult{ capi::ICU4XLocaleCanonicalizer_canonicalize(this->inner.get(), locale.AsFFIMut()) };
53+
return static_cast<ICU4XCanonicalizationResult>(capi::ICU4XLocaleCanonicalizer_canonicalize(this->inner.get(), locale.AsFFIMut()));
5454
}
5555
inline ICU4XCanonicalizationResult ICU4XLocaleCanonicalizer::maximize(ICU4XLocale& locale) {
56-
return ICU4XCanonicalizationResult{ capi::ICU4XLocaleCanonicalizer_maximize(this->inner.get(), locale.AsFFIMut()) };
56+
return static_cast<ICU4XCanonicalizationResult>(capi::ICU4XLocaleCanonicalizer_maximize(this->inner.get(), locale.AsFFIMut()));
5757
}
5858
inline ICU4XCanonicalizationResult ICU4XLocaleCanonicalizer::minimize(ICU4XLocale& locale) {
59-
return ICU4XCanonicalizationResult{ capi::ICU4XLocaleCanonicalizer_minimize(this->inner.get(), locale.AsFFIMut()) };
59+
return static_cast<ICU4XCanonicalizationResult>(capi::ICU4XLocaleCanonicalizer_minimize(this->inner.get(), locale.AsFFIMut()));
6060
}
6161
#endif

ffi/cpp/include/ICU4XPluralRules.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ inline ICU4XCreatePluralRulesResult ICU4XPluralRules::create(const ICU4XLocale&
5656
return ICU4XCreatePluralRulesResult{ .rules = std::move(diplomat_optional_out_value_rules), .success = std::move(diplomat_raw_struct_out_value.success) };
5757
}
5858
inline ICU4XPluralCategory ICU4XPluralRules::select(const ICU4XPluralOperands& op) {
59-
return ICU4XPluralCategory{ capi::ICU4XPluralRules_select(this->inner.get(), (capi::ICU4XPluralOperands*) &op) };
59+
return static_cast<ICU4XPluralCategory>(capi::ICU4XPluralRules_select(this->inner.get(), (capi::ICU4XPluralOperands*) &op));
6060
}
6161
inline ICU4XPluralCategories ICU4XPluralRules::categories() {
6262
capi::ICU4XPluralCategories diplomat_raw_struct_out_value = capi::ICU4XPluralRules_categories(this->inner.get());

0 commit comments

Comments
 (0)