app
Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.
master
Drew Owens
Share frozen native Rust mechanical development checkpoint and qualification scope
b2d7cdb
27d ago
// Pure guard execution on Linux or Windows, no SDK/app objects or effects.
#include "../relation_identity.h"
#include <cassert>
#include <iostream>
struct Line {};
struct Horizontal {Line* same_line;int calls=0;Line* line(){++calls;return same_line;}};
struct Vertical {Line* same_line;int calls=0;Line* line(){++calls;return same_line;}};
template<class T>void verify(){
Line line;T retained{&line}, substitute{&line};Line*out=nullptr;
assert(af_exact_relation_line(&retained,&retained,out)==0&&out==&line);
assert(retained.calls==1);out=nullptr;
// Same constrained line cannot substitute another typed returned holder.
assert(af_exact_relation_line(&substitute,&retained,out)==6&&out==nullptr);
assert(substitute.calls==0&&retained.calls==1);
T* absent=nullptr;
assert(af_exact_relation_line(absent,&retained,out)==6&&out==nullptr);
assert(af_exact_relation_line(&retained,absent,out)==6&&out==nullptr);
}
int main(){verify<Horizontal>();verify<Vertical>();std::cout<<"horizontal+vertical exact typed holder guard: PASS\n";}