fn undefined_functions(&self, file: &Path) -> Result<()> {
        let args: Vec<OsString> = vec![
            "--generate-function-body-options".into(),
            "assert-false".into(),
            "--generate-function-body".into(),
            ".*".into(),
            "--drop-unused-functions".into(),
            file.to_owned().into_os_string(), // input
            file.to_owned().into_os_string(), // output
        ];

        self.call_goto_instrument(args)
    }
/// Instruct CBMC to "assert false" when invoking an undefined function.
/// (This contrasts with its default behavior of returning `nondet`, which is
/// unsound in the face of side-effects.)
/// Then remove unused functions. (Oddly, it seems CBMC will both see some
/// functions as unused and remove them, and also as used and so would
/// generate "assert false". So it's essential to do this afterwards.)
Instruct CBMC to "assert false" when invoking an undefined function.
(This contrasts with its default behavior of returning `nondet`, which is
unsound in the face of side-effects.)
Then remove unused functions. (Oddly, it seems CBMC will both see some
functions as unused and remove them, and also as used and so would
generate "assert false". So it's essential to do this afterwards.)
Instruct CBMC to " assert false " when invoking an undefined function . ( This contrasts with its default behavior of returning ` nondet ` which is unsound in the face of side - effects . ) Then remove unused functions . ( Oddly it seems CBMC will both see some functions as unused and remove them and also as used and so would generate " assert false " . So it ' s essential to do this afterwards . )
fn undefined_functions(&self, file: &Path) -> Result<()> {
        let args: Vec<OsString> = vec![
            "--generate-function-body-options".into(),
            "assert-false".into(),
            "--generate-function-body".into(),
            ".*".into(),
            "--drop-unused-functions".into(),
            file.to_owned().into_os_string(), // input
            file.to_owned().into_os_string(), // output
        ];
        self.call_goto_instrument(args)
    }
fn undefined_functions ( & self , file : & Path ) -> Result < ( ) > { let args : Vec < OsString > = vec ! [ " " into ( ) " " into ( ) " " into ( ) " " into ( ) " " into ( ) file to_owned ( ) into_os_string ( ) // input file to_owned ( ) into_os_string ( ) // output ] ; self . call_goto_instrument ( args ) }
Instruct CBMC to "assert false" when invoking an undefined function.
Instruct CBMC to " assert false " when invoking an undefined function .
&self
file
&Path