Basically, I want to have a way to add constructor that can fail and return an error code just like Stack api.
struct LuaTexture {
gpu::TextureID texture_id;
static auto FromPath(const Path& texture_path) -> TypeResult<LuaTexture> {
// check whether path is valid.
}
};