Ich arbeite an einem grundlegenden Shell-Interpreter, um mich mit Rust vertraut zu machen. Bei der Arbeit an der Tabelle zum Speichern suspendierter Jobs in der Shell bin ich bei der folgenden Compiler-Fehlermeldung hängen geblieben:
%Vor%Es ist mir unklar, was hier als privat angesehen wird. Wie Sie unten sehen können, sind beide Strukturen mit %code% in meiner Moduldatei markiert. Also, was ist die geheime Soße?
%Vor%Wie die Fehlermeldung andeutet, ist das Problem %code% hat ein privates Feld, das heißt, auf den Wert %code% kann nicht außerhalb des Moduls zugegriffen werden, das %code% definiert. Dies bedeutet, dass Sie keine Mustererkennung für einen %code% -Wert erstellen können, um ihn zu extrahieren, und dass Sie ihn nicht direkt erstellen können.
Es gibt zwei Fixes:
stellt einen öffentlichen Konstruktor bereit
%Vor%wird wie %code% aufgerufen.