Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: cstr!("…")c"…"に置き換える #782

Merged
merged 3 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 26 additions & 37 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ chrono = { version = "0.4.26", default-features = false }
clap = "4.0.10"
color-eyre = "0.6.2"
colorchoice = "1.0.0"
cstr = "0.2.11" # https://github.com/dtolnay/syn/issues/1502
derive-getters = "0.2.0"
derive-new = "0.5.9"
derive_more = "0.99.17"
Expand Down Expand Up @@ -54,7 +53,7 @@ once_cell = "1.18.0"
ouroboros = "0.18.0"
parse-display = "0.8.2"
pretty_assertions = "1.3.0"
proc-macro2 = "1.0.69"
proc-macro2 = "1.0.80"
pyo3 = "0.20.3"
pyo3-asyncio = "0.20.0"
pyo3-log = "0.9.0"
Expand All @@ -70,7 +69,7 @@ serde_with = "3.3.0"
smallvec = "1.13.1"
strum = "0.24.1"
surf = "2.3.2"
syn = "2.0.38"
syn = "2.0.59"
tar = "0.4.38"
tempfile = "3.6.0"
test_util = { path = "crates/test_util" }
Expand All @@ -79,7 +78,7 @@ tokio = "1.25.0"
toml = "0.7.2"
tracing = "0.1.37"
tracing-subscriber = "0.3.16"
typetag = "0.2.5"
typetag = "0.2.7"
qryxip marked this conversation as resolved.
Show resolved Hide resolved
url = "2.3.0"
uuid = "1.4.0"
voicevox_core = { path = "crates/voicevox_core" }
Expand Down
1 change: 0 additions & 1 deletion crates/voicevox_core_c_api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ anstyle-query.workspace = true
camino.workspace = true
chrono = { workspace = true, default-features = false, features = ["clock"] }
colorchoice.workspace = true
cstr.workspace = true
derive-getters.workspace = true
futures.workspace = true
itertools.workspace = true
Expand Down
4 changes: 1 addition & 3 deletions crates/voicevox_core_c_api/src/drop_check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,6 @@ impl CStringDropChecker {
mod tests {
use std::ffi::{c_char, CStr};

use cstr::cstr;

use super::CStringDropChecker;

#[test]
Expand All @@ -118,7 +116,7 @@ mod tests {
)]
fn it_denies_duplicated_char_ptr() {
let checker = CStringDropChecker::new();
let s = cstr!("").to_owned();
let s = c"".to_owned();
checker.whitelist(checker.whitelist(s));
}

Expand Down
68 changes: 29 additions & 39 deletions crates/voicevox_core_c_api/src/result_code.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use std::ffi::CStr;

use cstr::cstr;

/// 処理結果を示す結果コード。
#[repr(i32)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
Expand Down Expand Up @@ -60,52 +58,44 @@ pub enum VoicevoxResultCode {
pub(crate) const fn error_result_to_message(result_code: VoicevoxResultCode) -> &'static CStr {
use VoicevoxResultCode::*;
match result_code {
VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR => {
cstr!("OpenJTalkの辞書が読み込まれていません")
}
VOICEVOX_RESULT_GPU_SUPPORT_ERROR => cstr!("GPU機能をサポートすることができません"),
VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR => c"OpenJTalkの辞書が読み込まれていません",
VOICEVOX_RESULT_GPU_SUPPORT_ERROR => c"GPU機能をサポートすることができません",
VOICEVOX_RESULT_GET_SUPPORTED_DEVICES_ERROR => {
cstr!("サポートされているデバイス情報取得中にエラーが発生しました")
c"サポートされているデバイス情報取得中にエラーが発生しました"
}
VOICEVOX_RESULT_OK => cstr!("エラーが発生しませんでした"),
VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR => cstr!(
"指定されたIDに対するスタイルが見つかりませんでした。音声モデルが読み込まれていないか\
、読み込みが解除されています"
),
VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR => cstr!(
"指定されたIDに対する音声モデルが見つかりませんでした。読み込まれていないか、読み込み\
が既に解除されています"
),
VOICEVOX_RESULT_INFERENCE_ERROR => cstr!("推論に失敗しました"),
VOICEVOX_RESULT_EXTRACT_FULL_CONTEXT_LABEL_ERROR => {
cstr!("入力テキストからのフルコンテキストラベル抽出に失敗しました")
VOICEVOX_RESULT_OK => c"エラーが発生しませんでした",
VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR => {
c"指定されたIDに対するスタイルが見つかりませんでした。音声モデルが読み込まれていないか\
、読み込みが解除されています"
}
VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR => cstr!("入力テキストが無効なUTF-8データでした"),
VOICEVOX_RESULT_PARSE_KANA_ERROR => {
cstr!("入力テキストをAquesTalk風記法としてパースすることに失敗しました")
VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR => {
c"指定されたIDに対する音声モデルが見つかりませんでした。読み込まれていないか、読み込み\
が既に解除されています"
}
VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR => cstr!("無効なaudio_queryです"),
VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR => cstr!("無効なaccent_phraseです"),
VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR => cstr!("ZIPファイルのオープンに失敗しました"),
VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR => {
cstr!("ZIP内のファイルを読むことができませんでした")
}
VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR => cstr!("同じIDのモデルを読むことはできません"),
VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR => {
cstr!("同じIDのスタイルを読むことはできません")
VOICEVOX_RESULT_INFERENCE_ERROR => c"推論に失敗しました",
VOICEVOX_RESULT_EXTRACT_FULL_CONTEXT_LABEL_ERROR => {
c"入力テキストからのフルコンテキストラベル抽出に失敗しました"
}
VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR => {
cstr!("モデルデータを読むことができませんでした")
VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR => c"入力テキストが無効なUTF-8データでした",
VOICEVOX_RESULT_PARSE_KANA_ERROR => {
c"入力テキストをAquesTalk風記法としてパースすることに失敗しました"
}
VOICEVOX_RESULT_LOAD_USER_DICT_ERROR => cstr!("ユーザー辞書を読み込めませんでした"),
VOICEVOX_RESULT_SAVE_USER_DICT_ERROR => cstr!("ユーザー辞書を書き込めませんでした"),
VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR => c"無効なaudio_queryです",
VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR => c"無効なaccent_phraseです",
VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR => c"ZIPファイルのオープンに失敗しました",
VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR => c"ZIP内のファイルを読むことができませんでした",
VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR => c"同じIDのモデルを読むことはできません",
VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR => c"同じIDのスタイルを読むことはできません",
VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR => c"モデルデータを読むことができませんでした",
VOICEVOX_RESULT_LOAD_USER_DICT_ERROR => c"ユーザー辞書を読み込めませんでした",
VOICEVOX_RESULT_SAVE_USER_DICT_ERROR => c"ユーザー辞書を書き込めませんでした",
VOICEVOX_RESULT_USER_DICT_WORD_NOT_FOUND_ERROR => {
cstr!("ユーザー辞書に単語が見つかりませんでした")
c"ユーザー辞書に単語が見つかりませんでした"
}
VOICEVOX_RESULT_USE_USER_DICT_ERROR => cstr!("OpenJTalkのユーザー辞書の設定に失敗しました"),
VOICEVOX_RESULT_USE_USER_DICT_ERROR => c"OpenJTalkのユーザー辞書の設定に失敗しました",
VOICEVOX_RESULT_INVALID_USER_DICT_WORD_ERROR => {
cstr!("ユーザー辞書の単語のバリデーションに失敗しました")
c"ユーザー辞書の単語のバリデーションに失敗しました"
}
VOICEVOX_RESULT_INVALID_UUID_ERROR => cstr!("UUIDの変換に失敗しました"),
VOICEVOX_RESULT_INVALID_UUID_ERROR => c"UUIDの変換に失敗しました",
}
}
3 changes: 1 addition & 2 deletions crates/voicevox_core_c_api/tests/e2e/testcases/simple_tts.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use std::{collections::HashMap, ffi::CString, mem::MaybeUninit};

use assert_cmd::assert::AssertResult;
use cstr::cstr;
use libloading::Library;
use once_cell::sync::Lazy;
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -43,7 +42,7 @@ impl assert_cdylib::TestCase for TestCase {
let model = {
let mut model = MaybeUninit::uninit();
assert_ok(voicevox_voice_model_new_from_path(
cstr!("../../model/sample.vvm").as_ptr(),
c"../../model/sample.vvm".as_ptr(),
model.as_mut_ptr(),
));
model.assume_init()
Expand Down
Loading
Loading