llm
Download
17 lines 643 BCModified 2026-08-31 raw
1234567891011121314151617
#pragma once

// Result type for Success/Failure

#include "datatypes/result.h" // IWYU pragma: export
// FailureResult expands to Texts() at the caller's site:
#include "datatypes/typeinfo.h"
#include "text.h" // IWYU pragma: export

#define Result$Success ((Result$$type){.$tag = Result$tag$Success})
#define SuccessResult Result$Success
#define Result$tagged$Failure(msg) ((Result$$type){.$tag = Result$tag$Failure, .Failure.reason = msg})
#define FailureResult(...) Result$tagged$Failure(Texts(__VA_ARGS__))

extern const TypeInfo_t Result$Success$$info;
extern const TypeInfo_t Result$Failure$$info;
extern const TypeInfo_t Result$$info;