##// END OF EJS Templates
copies: avoid unwanted side effect from one branch to another...
copies: avoid unwanted side effect from one branch to another Without this copy, change in a one descendant branch (With "remove" change only) could affect computation on another descendant branches. This was not caugh by the test because the test graph are "too simple". I started writing more test in that regards, but I a submitting this changes earlier because I want to get more code landed to allow other optimisation work to happens. Differential Revision: https://phab.mercurial-scm.org/D9416

File last commit:

r46195:426294d0 default
r46599:b6b7626d default
Show More
main.rs
39 lines | 1.4 KiB | application/rls-services+xml | RustLexer
Gregory Szorc
hgcli: add stub PyOxidizer project...
r45128 use pyembed::MainPythonInterpreter;
// Include an auto-generated file containing the default
// `pyembed::PythonConfig` derived by the PyOxidizer configuration file.
//
// If you do not want to use PyOxidizer to generate this file, simply
// remove this line and instantiate your own instance of
// `pyembed::PythonConfig`.
include!(env!("PYOXIDIZER_DEFAULT_PYTHON_CONFIG_RS"));
fn main() {
Martin von Zweigbergk
rust: move rustfmt.toml to repo root so it can be used by `hg fix`...
r46195 // The following code is in a block so the MainPythonInterpreter is
// destroyed in an orderly manner, before process exit.
Gregory Szorc
hgcli: add stub PyOxidizer project...
r45128 let code = {
Martin von Zweigbergk
rust: move rustfmt.toml to repo root so it can be used by `hg fix`...
r46195 // Load the default Python configuration as derived by the PyOxidizer
// config file used at build time.
Gregory Szorc
hgcli: add stub PyOxidizer project...
r45128 let config = default_python_config();
Martin von Zweigbergk
rust: move rustfmt.toml to repo root so it can be used by `hg fix`...
r46195 // Construct a new Python interpreter using that config, handling any
// errors from construction.
Gregory Szorc
hgcli: add stub PyOxidizer project...
r45128 match MainPythonInterpreter::new(config) {
Ok(mut interp) => {
Martin von Zweigbergk
rust: move rustfmt.toml to repo root so it can be used by `hg fix`...
r46195 // And run it using the default run configuration as specified
// by the configuration. If an uncaught Python
// exception is raised, handle it.
// This includes the special SystemExit, which is a request to
// terminate the process.
Gregory Szorc
hgcli: add stub PyOxidizer project...
r45128 interp.run_as_main()
}
Err(msg) => {
eprintln!("{}", msg);
1
}
}
};
// And exit the process according to code execution results.
std::process::exit(code);
}