Я передаю много & mut ctx, есть ли лучший способ сделать это?

(Полный код на https://github.com/dahosek/gftopdf2).

Я написал первый проход небольшой библиотеки для чтения файлов GF, выводимых Metafont. Я не слишком сумасшедший, так это то, что для 11 различных типов кодов операций, которые я интерпретирую, каждый из них передается &mut ctx для структуры контекста, которая отслеживает, что было прочитано на данный момент, а также Read источник данных, плюс, я должен передать &mut ctx.input специализированным читателям для чтения аргументов кодов операций. Я думаю, должен быть способ уменьшить общую многословность того, что я пишу. Я тоже не без ума от кода вроде

let d = read2(&mut ctx.input)?;
paint(d, &mut ctx)?;

и мне интересно, есть ли лучший способ справиться с этим.

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *