Fix partial-move in Chat Completions session_cache_key mapping
Copy the cache key before moving ConversationRequest fields so ChatCompletionRequest::from compiles (E0382).
This commit is contained in:
@@ -108,15 +108,24 @@ index 7bd0cd870c5400ef4d3fb2ba6ce50cfc53ffd62c..db582daced370d89cc1158d5cbbf81b7
|
||||
#[test]
|
||||
fn prompt_cache_key_reaches_the_wire_only_where_the_backend_claims() {
|
||||
diff --git a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||
index dac77d82f7f96836f5f4ed26f2e12eb13164e4f5..b80820fbbf3c96e348f44880c432361eb537817a 100644
|
||||
index dac77d82f7f96836f5f4ed26f2e12eb13164e4f5..05a683317ae774f3ba674202ff12ae3ae50f56ec 100644
|
||||
--- a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||
+++ b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||
@@ -295,7 +295,7 @@ impl From<ConversationRequest> for ChatCompletionRequest {
|
||||
@@ -251,6 +251,8 @@ impl From<ChatResponseMessage> for ConversationItem {
|
||||
|
||||
impl From<ConversationRequest> for ChatCompletionRequest {
|
||||
fn from(req: ConversationRequest) -> Self {
|
||||
+ // Copy before any field moves — `session_cache_key` borrows `req`.
|
||||
+ let user = req.session_cache_key().map(str::to_owned);
|
||||
let messages: Vec<ChatRequestMessage> = conversation_to_chat_messages(req.items);
|
||||
|
||||
let tools_is_empty = req.tools.is_empty();
|
||||
@@ -295,7 +297,7 @@ impl From<ConversationRequest> for ChatCompletionRequest {
|
||||
top_p: req.top_p,
|
||||
frequency_penalty: None,
|
||||
presence_penalty: None,
|
||||
- user: None,
|
||||
+ user: req.session_cache_key().map(str::to_owned),
|
||||
+ user,
|
||||
tools,
|
||||
tool_choice,
|
||||
search_parameters: None,
|
||||
|
||||
Reference in New Issue
Block a user