summaryrefslogtreecommitdiffstats
path: root/src/libutil/rust-ffi.cc
blob: 6f36b31922c59ddbdd5f7d6523be6bc149492302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "logging.hh"
#include "rust-ffi.hh"

extern "C" std::exception_ptr * make_error(rust::StringSlice s)
{
    return new std::exception_ptr(std::make_exception_ptr(nix::Error(std::string(s.ptr, s.size))));
}

extern "C" void destroy_error(std::exception_ptr * ex)
{
    free(ex);
}

namespace rust {

std::ostream & operator << (std::ostream & str, const String & s)
{
    str << (std::string_view) s;
    return str;
}

}