clippy: type_complexity

This commit is contained in:
Alan Du 2018-10-16 14:08:52 -04:00
parent bc774fe6cf
commit fc8024de51
2 changed files with 11 additions and 8 deletions

View file

@ -16,8 +16,7 @@ impl<I, O> Worker<I, O> {
I: Send + 'static,
O: Send + 'static,
{
let ((inp, out), inp_r, out_s) = worker_chan(buf);
let worker = Worker { inp, out };
let (worker, inp_r, out_s) = worker_chan(buf);
let watcher = ThreadWatcher::spawn(name, move || f(inp_r, out_s));
(worker, watcher)
}
@ -66,11 +65,14 @@ impl ThreadWatcher {
/// Sets up worker channels in a deadlock-avoind way.
/// If one sets both input and output buffers to a fixed size,
/// a worker might get stuck.
fn worker_chan<I, O>(buf: usize) -> ((Sender<I>, Receiver<O>), Receiver<I>, Sender<O>) {
fn worker_chan<I, O>(buf: usize) -> (Worker<I, O>, Receiver<I>, Sender<O>) {
let (input_sender, input_receiver) = bounded::<I>(buf);
let (output_sender, output_receiver) = unbounded::<O>();
(
(input_sender, output_receiver),
Worker {
inp: input_sender,
out: output_receiver,
},
input_receiver,
output_sender,
)

View file

@ -98,17 +98,18 @@ fn is_contextual_kw(text: &str) -> bool {
}
}
fn find_reparsable_node<'node>(
node: SyntaxNodeRef<'node>,
type ParseFn = fn(&mut Parser);
fn find_reparsable_node(
node: SyntaxNodeRef<'_>,
range: TextRange,
) -> Option<(SyntaxNodeRef<'node>, fn(&mut Parser))> {
) -> Option<(SyntaxNodeRef<'_>, ParseFn)> {
let node = algo::find_covering_node(node, range);
return node
.ancestors()
.filter_map(|node| reparser(node).map(|r| (node, r)))
.next();
fn reparser(node: SyntaxNodeRef) -> Option<fn(&mut Parser)> {
fn reparser(node: SyntaxNodeRef) -> Option<ParseFn> {
let res = match node.kind() {
BLOCK => grammar::block,
NAMED_FIELD_DEF_LIST => grammar::named_field_def_list,