Всякий раз, когда я запускаю следующую программу, я получаю пустой экран, а не строку «привет»:
use ncurses as n;
fn main() {
render::setup_ncurses();
let win = n::newwin(30, 30, 0, 0);
n::waddstr(win, "hello");
n::wrefresh(win);
// n::refresh(); <-- this doesn't work either
n::getch();
// n::wgetch(win); <-- doesn't work either
n::endwin();
}
С функцией настройки:
pub fn setup_ncurses() {
// Allows for wide characters
n::setlocale(n::LcCategory::all, "");
n::initscr();
// Captures signal sequences and no buffer
n::raw();
// F keys and arrows
n::keypad(n::stdscr(), true);
// Doesn't echo typed keys
n::noecho();
}
Есть ли какое-то странное поведение с окнами, которые мне не хватает? Этого не происходит при использовании stdscr.

Изменять:
let win = n::newwin(30, 30, 0, 0);
для:
let win = n::subwin(n::stdscr(), 30, 30, 0, 0);
Спасибо, это работает, но я попытался просмотреть документацию для sub win и не совсем понимаю, почему это имеет значение. Вы не против объяснить?