2
0
Fork 0
mirror of https://github.com/rust-lang/rust-analyzer synced 2025-02-13 04:33:28 +00:00

Auto merge of - Sarrus1:fix/unsafe-unwrap, r=Veykril

internal: convert unwrap to except and add a debug log

Remove an unsafe unwrap that can cause crashes if the value is a `SendError`.

This is my first PR on this repo, please let me know if there is anything I can improve or details I can provide.
This commit is contained in:
bors 2023-08-08 13:23:21 +00:00
commit ed4e28b2db

View file

@ -3,6 +3,8 @@ use std::{
thread,
};
use log::debug;
use crossbeam_channel::{bounded, Receiver, Sender};
use crate::Message;
@ -23,7 +25,8 @@ pub(crate) fn stdio_transport() -> (Sender<Message>, Receiver<Message>, IoThread
while let Some(msg) = Message::read(&mut stdin)? {
let is_exit = matches!(&msg, Message::Notification(n) if n.is_exit());
reader_sender.send(msg).unwrap();
debug!("sending message {:#?}", msg);
reader_sender.send(msg).expect("receiver was dropped, failed to send a message");
if is_exit {
break;