@@ -112,7 +112,8 @@ fn set_message(message: &str) {
112
112
. replace_range ( .., & format ! ( "{message}\0 " ) ) ;
113
113
}
114
114
115
- #[ no_mangle]
115
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
116
+ #[ unsafe( no_mangle) ]
116
117
pub extern "C" fn initialize ( use_gpu : bool , cpu_num_threads : c_int , load_all_models : bool ) -> bool {
117
118
init_logger_once ( ) ;
118
119
let result = ( || {
@@ -150,7 +151,8 @@ pub extern "C" fn initialize(use_gpu: bool, cpu_num_threads: c_int, load_all_mod
150
151
}
151
152
}
152
153
153
- #[ no_mangle]
154
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
155
+ #[ unsafe( no_mangle) ]
154
156
pub extern "C" fn load_model ( style_id : i64 ) -> bool {
155
157
init_logger_once ( ) ;
156
158
let style_id = StyleId :: new ( style_id as u32 ) ;
@@ -171,33 +173,38 @@ pub extern "C" fn load_model(style_id: i64) -> bool {
171
173
}
172
174
}
173
175
174
- #[ no_mangle]
176
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
177
+ #[ unsafe( no_mangle) ]
175
178
pub extern "C" fn is_model_loaded ( speaker_id : i64 ) -> bool {
176
179
init_logger_once ( ) ;
177
180
ensure_initialized ! ( & * lock_synthesizer( ) )
178
181
. is_loaded_model_by_style_id ( StyleId :: new ( speaker_id as u32 ) )
179
182
}
180
183
181
- #[ no_mangle]
184
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
185
+ #[ unsafe( no_mangle) ]
182
186
pub extern "C" fn finalize ( ) {
183
187
init_logger_once ( ) ;
184
188
* lock_synthesizer ( ) = None ;
185
189
}
186
190
187
- #[ no_mangle]
191
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
192
+ #[ unsafe( no_mangle) ]
188
193
pub extern "C" fn metas ( ) -> * const c_char {
189
194
init_logger_once ( ) ;
190
195
let model_set = voice_model_set ( ) ;
191
196
model_set. all_metas_json . as_ptr ( )
192
197
}
193
198
194
- #[ no_mangle]
199
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
200
+ #[ unsafe( no_mangle) ]
195
201
pub extern "C" fn last_error_message ( ) -> * const c_char {
196
202
init_logger_once ( ) ;
197
203
ERROR_MESSAGE . lock ( ) . unwrap ( ) . as_ptr ( ) as * const c_char
198
204
}
199
205
200
- #[ no_mangle]
206
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
207
+ #[ unsafe( no_mangle) ]
201
208
pub extern "C" fn supported_devices ( ) -> * const c_char {
202
209
init_logger_once ( ) ;
203
210
return SUPPORTED_DEVICES . as_ptr ( ) ;
@@ -214,7 +221,8 @@ pub extern "C" fn supported_devices() -> *const c_char {
214
221
} ) ;
215
222
}
216
223
217
- #[ no_mangle]
224
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
225
+ #[ unsafe( no_mangle) ]
218
226
pub extern "C" fn yukarin_s_forward (
219
227
length : i64 ,
220
228
phoneme_list : * mut i64 ,
@@ -240,7 +248,8 @@ pub extern "C" fn yukarin_s_forward(
240
248
}
241
249
}
242
250
243
- #[ no_mangle]
251
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
252
+ #[ unsafe( no_mangle) ]
244
253
pub extern "C" fn yukarin_sa_forward (
245
254
length : i64 ,
246
255
vowel_phoneme_list : * mut i64 ,
@@ -277,7 +286,8 @@ pub extern "C" fn yukarin_sa_forward(
277
286
}
278
287
}
279
288
280
- #[ no_mangle]
289
+ // SAFETY: voicevox_core_c_apiを構成するライブラリの中に、これと同名のシンボルは存在しない
290
+ #[ unsafe( no_mangle) ]
281
291
pub extern "C" fn decode_forward (
282
292
length : i64 ,
283
293
phoneme_size : i64 ,
0 commit comments