Build Information
Failed to build manifold-swift, reference main (3f92d5), with Swift 6.1 for Android on 13 Oct 2026 08:11:07 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1Build Log
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:396310cef4466ceb116ed5462b0b92d4deb353c0dad749b406b7fd226f6db9af
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/23] Compiling Manifold3D Manifold+Composition.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[3/23] Compiling Manifold3D Manifold+Operations.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[4/23] Compiling Manifold3D Manifold+Properties.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/26] Emitting module Manifold3D
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:618:52: warning: using integer absolute value function 'abs' when argument is of floating point type
284 | template <class F, int M, class A>
285 | struct apply<F, scalars_t<>, vec<A, M>> {
286 | using type = vec<ret_t<F, A>, M>;
| `- note: in instantiation of template type alias 'ret_t' requested here
287 | enum { size = M, mm = 0 };
288 | template <int... I>
:
616 | struct std_abs {
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
619 | return std::abs(a);
620 | }
:
1168 | // be used with return type SFINAE to constrain overload sets
1169 | template <class F, class... A>
1170 | using apply_t = typename detail::apply<F, void, A...>::type;
| `- note: in instantiation of template class 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>' requested here
1171 | template <class F, class... A>
1172 | using mm_apply_t = typename std::enable_if<detail::apply<F, void, A...>::mm,
:
1454 | }
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
| `- note: in instantiation of template type alias 'apply_t' requested here
1457 | return apply(detail::std_abs{}, a);
1458 | }
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:27: note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
:
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:619:12: warning: using integer absolute value function 'abs' when argument is of floating point type
288 | template <int... I>
289 | static constexpr type impl(seq<I...>, F f, const vec<A, M>& a) {
290 | return {f(getter<I>{}(a))...};
| `- note: in instantiation of function template specialization 'linalg::detail::std_abs::operator()<double>' requested here
291 | }
292 | };
:
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
619 | return std::abs(a);
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
620 | }
621 | };
:
1184 | template <class F, class... A>
1185 | constexpr apply_t<F, A...> apply(F func, const A&... args) {
1186 | return detail::apply<F, void, A...>::impl(
| `- note: in instantiation of function template specialization 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>::impl<0, 1, 2>' requested here
1187 | detail::make_seq<0, detail::apply<F, void, A...>::size>{}, func, args...);
1188 | }
:
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
1457 | return apply(detail::std_abs{}, a);
| `- note: in instantiation of function template specialization 'linalg::apply<linalg::detail::std_abs, linalg::vec<double, 3>>' requested here
1458 | }
1459 | template <class A>
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:31: note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[6/26] Compiling Manifold3D CrossSection+Operations.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:618:52: warning: using integer absolute value function 'abs' when argument is of floating point type
284 | template <class F, int M, class A>
285 | struct apply<F, scalars_t<>, vec<A, M>> {
286 | using type = vec<ret_t<F, A>, M>;
| `- note: in instantiation of template type alias 'ret_t' requested here
287 | enum { size = M, mm = 0 };
288 | template <int... I>
:
616 | struct std_abs {
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
619 | return std::abs(a);
620 | }
:
1168 | // be used with return type SFINAE to constrain overload sets
1169 | template <class F, class... A>
1170 | using apply_t = typename detail::apply<F, void, A...>::type;
| `- note: in instantiation of template class 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>' requested here
1171 | template <class F, class... A>
1172 | using mm_apply_t = typename std::enable_if<detail::apply<F, void, A...>::mm,
:
1454 | }
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
| `- note: in instantiation of template type alias 'apply_t' requested here
1457 | return apply(detail::std_abs{}, a);
1458 | }
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:27: note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
:
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:619:12: warning: using integer absolute value function 'abs' when argument is of floating point type
288 | template <int... I>
289 | static constexpr type impl(seq<I...>, F f, const vec<A, M>& a) {
290 | return {f(getter<I>{}(a))...};
| `- note: in instantiation of function template specialization 'linalg::detail::std_abs::operator()<double>' requested here
291 | }
292 | };
:
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
619 | return std::abs(a);
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
620 | }
621 | };
:
1184 | template <class F, class... A>
1185 | constexpr apply_t<F, A...> apply(F func, const A&... args) {
1186 | return detail::apply<F, void, A...>::impl(
| `- note: in instantiation of function template specialization 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>::impl<0, 1, 2>' requested here
1187 | detail::make_seq<0, detail::apply<F, void, A...>::size>{}, func, args...);
1188 | }
:
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
1457 | return apply(detail::std_abs{}, a);
| `- note: in instantiation of function template specialization 'linalg::apply<linalg::detail::std_abs, linalg::vec<double, 3>>' requested here
1458 | }
1459 | template <class A>
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:31: note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[7/26] Compiling Manifold3D CrossSection+Properties.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:618:52: warning: using integer absolute value function 'abs' when argument is of floating point type
284 | template <class F, int M, class A>
285 | struct apply<F, scalars_t<>, vec<A, M>> {
286 | using type = vec<ret_t<F, A>, M>;
| `- note: in instantiation of template type alias 'ret_t' requested here
287 | enum { size = M, mm = 0 };
288 | template <int... I>
:
616 | struct std_abs {
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
619 | return std::abs(a);
620 | }
:
1168 | // be used with return type SFINAE to constrain overload sets
1169 | template <class F, class... A>
1170 | using apply_t = typename detail::apply<F, void, A...>::type;
| `- note: in instantiation of template class 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>' requested here
1171 | template <class F, class... A>
1172 | using mm_apply_t = typename std::enable_if<detail::apply<F, void, A...>::mm,
:
1454 | }
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
| `- note: in instantiation of template type alias 'apply_t' requested here
1457 | return apply(detail::std_abs{}, a);
1458 | }
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:27: note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
:
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:619:12: warning: using integer absolute value function 'abs' when argument is of floating point type
288 | template <int... I>
289 | static constexpr type impl(seq<I...>, F f, const vec<A, M>& a) {
290 | return {f(getter<I>{}(a))...};
| `- note: in instantiation of function template specialization 'linalg::detail::std_abs::operator()<double>' requested here
291 | }
292 | };
:
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
619 | return std::abs(a);
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
620 | }
621 | };
:
1184 | template <class F, class... A>
1185 | constexpr apply_t<F, A...> apply(F func, const A&... args) {
1186 | return detail::apply<F, void, A...>::impl(
| `- note: in instantiation of function template specialization 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>::impl<0, 1, 2>' requested here
1187 | detail::make_seq<0, detail::apply<F, void, A...>::size>{}, func, args...);
1188 | }
:
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
1457 | return apply(detail::std_abs{}, a);
| `- note: in instantiation of function template specialization 'linalg::apply<linalg::detail::std_abs, linalg::vec<double, 3>>' requested here
1458 | }
1459 | template <class A>
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:31: note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[8/26] Compiling Manifold3D CrossSection+Shapes.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:618:52: warning: using integer absolute value function 'abs' when argument is of floating point type
284 | template <class F, int M, class A>
285 | struct apply<F, scalars_t<>, vec<A, M>> {
286 | using type = vec<ret_t<F, A>, M>;
| `- note: in instantiation of template type alias 'ret_t' requested here
287 | enum { size = M, mm = 0 };
288 | template <int... I>
:
616 | struct std_abs {
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
619 | return std::abs(a);
620 | }
:
1168 | // be used with return type SFINAE to constrain overload sets
1169 | template <class F, class... A>
1170 | using apply_t = typename detail::apply<F, void, A...>::type;
| `- note: in instantiation of template class 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>' requested here
1171 | template <class F, class... A>
1172 | using mm_apply_t = typename std::enable_if<detail::apply<F, void, A...>::mm,
:
1454 | }
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
| `- note: in instantiation of template type alias 'apply_t' requested here
1457 | return apply(detail::std_abs{}, a);
1458 | }
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:27: note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
:
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: while substituting deduced template arguments into function template 'abs' [with A = vec3]
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:619:12: warning: using integer absolute value function 'abs' when argument is of floating point type
288 | template <int... I>
289 | static constexpr type impl(seq<I...>, F f, const vec<A, M>& a) {
290 | return {f(getter<I>{}(a))...};
| `- note: in instantiation of function template specialization 'linalg::detail::std_abs::operator()<double>' requested here
291 | }
292 | };
:
617 | template <class A>
618 | constexpr auto operator()(A a) const -> decltype(std::abs(a)) {
619 | return std::abs(a);
| |- warning: using integer absolute value function 'abs' when argument is of floating point type
| |- note: use function 'std::abs' instead
| `- note: include the header <cmath> or explicitly provide a declaration for 'std::abs'
620 | }
621 | };
:
1184 | template <class F, class... A>
1185 | constexpr apply_t<F, A...> apply(F func, const A&... args) {
1186 | return detail::apply<F, void, A...>::impl(
| `- note: in instantiation of function template specialization 'linalg::detail::apply<linalg::detail::std_abs, void, linalg::vec<double, 3>>::impl<0, 1, 2>' requested here
1187 | detail::make_seq<0, detail::apply<F, void, A...>::size>{}, func, args...);
1188 | }
:
1455 | template <class A>
1456 | constexpr apply_t<detail::std_abs, A> abs(const A& a) {
1457 | return apply(detail::std_abs{}, a);
| `- note: in instantiation of function template specialization 'linalg::apply<linalg::detail::std_abs, linalg::vec<double, 3>>' requested here
1458 | }
1459 | template <class A>
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:31: note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- note: in instantiation of function template specialization 'linalg::abs<linalg::vec<double, 3>>' requested here
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[9/26] Compiling Manifold3D Manifold+Transforms.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[10/26] Compiling Manifold3D Manifold+VertexProperties.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[11/26] Compiling Manifold3D Manifold.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[12/26] Compiling Manifold3D CrossSectionTypes.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[13/26] Compiling Manifold3D Matrices.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[14/26] Compiling Manifold3D Polygon.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[15/26] Compiling Manifold3D RayHit.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[16/26] Compiling Manifold3D Triangle.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[17/26] Compiling Manifold3D Vectors.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[18/26] Compiling Manifold3D Manifold+Resolve.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[19/26] Compiling Manifold3D Manifold+Shapes.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[20/26] Compiling Manifold3D Manifold+Smoothing.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[21/26] Compiling Manifold3D CrossSection+Transforms.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[22/26] Compiling Manifold3D CrossSection.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[23/26] Compiling Manifold3D Geometry.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[24/26] Compiling Manifold3D MeshGL.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[25/26] Compiling Manifold3D Quality.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
[26/26] Compiling Manifold3D BooleanOperation.swift
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:10: note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
25 |
26 | #include "./math.h"
27 | #include "linalg.h"
| `- note: in file included from /host/spi-builder-workspace/External/manifold/include/manifold/common.h:27:
28 |
29 | namespace manifold {
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:294:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
292 | */
293 | constexpr double Scale() const {
294 | vec3 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
295 | return la::max(absMax.x, la::max(absMax.y, absMax.z));
296 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:802:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
800 | };
801 | template <class T>
802 | struct vec<T, 3> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'const vec<double, 3> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 3>, vec<int, 3>>' (aka 'vec<int, 3>') to 'vec<double, 3> &&' for 1st argument
803 | T x, y, z;
804 | constexpr vec() : x(), y(), z() {}
805 | constexpr vec(const T& x_, const T& y_, const T& z_) : x(x_), y(y_), z(z_) {}
806 | constexpr vec(const vec<T, 2>& xy, const T& z_) : vec(xy.x, xy.y, z_) {}
807 | constexpr explicit vec(const T& s) : vec(s, s, s) {}
| `- note: explicit constructor is not a candidate
808 | constexpr explicit vec(const T* p) : vec(p[0], p[1], p[2]) {}
| `- note: explicit constructor is not a candidate
809 | template <class U, int N>
810 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
811 | : vec(static_cast<T>(v.x), static_cast<T>(v.y), static_cast<T>(v.z)) {
812 | static_assert(
:
824 |
825 | template <class U, class = detail::conv_t<vec, U>>
826 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 3>, vec<int, 3>>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
827 | template <class U, class = detail::conv_t<U, vec>>
828 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 3>]: type 'converter<vec<double, 3>, vec<int, 3>>' does not provide a call operator
829 | return converter<U, vec>{}(*this);
830 | }
<module-includes>:1:10: note: in file included from <module-includes>:1:
1 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/common.h"
| `- note: in file included from <module-includes>:1:
2 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/cross_section.h"
3 | #include "/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h"
/host/spi-builder-workspace/External/manifold/include/manifold/common.h:464:10: error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
462 | */
463 | constexpr double Scale() const {
464 | vec2 absMax = la::max(la::abs(min), la::abs(max));
| `- error: no viable conversion from 'vec<ret_t<max, int, int>, [...]>' to 'vec<double, [...]>'
465 | return la::max(absMax.x, absMax.y);
466 | }
/host/spi-builder-workspace/External/manifold/include/manifold/linalg.h:778:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
776 | };
777 | template <class T>
778 | struct vec<T, 2> {
| |- note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'const vec<double, 2> &' for 1st argument
| `- note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'apply_t<detail::max, vec<int, 2>, vec<int, 2>>' (aka 'vec<int, 2>') to 'vec<double, 2> &&' for 1st argument
779 | T x, y;
780 | constexpr vec() : x(), y() {}
781 | constexpr vec(const T& x_, const T& y_) : x(x_), y(y_) {}
782 | constexpr explicit vec(const T& s) : vec(s, s) {}
| `- note: explicit constructor is not a candidate
783 | constexpr explicit vec(const T* p) : vec(p[0], p[1]) {}
| `- note: explicit constructor is not a candidate
784 | template <class U, int N>
785 | constexpr explicit vec(const vec<U, N>& v)
| `- note: explicit constructor is not a candidate
786 | : vec(static_cast<T>(v.x), static_cast<T>(v.y)) {
787 | static_assert(
:
793 |
794 | template <class U, class = detail::conv_t<vec, U>>
795 | constexpr vec(const U& u) : vec(converter<vec, U>{}(u)) {}
| `- note: candidate template ignored: substitution failure [with U = apply_t<detail::max, vec<int, 2>, vec<int, 2>>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
796 | template <class U, class = detail::conv_t<U, vec>>
797 | constexpr operator U() const {
| `- note: candidate template ignored: substitution failure [with U = linalg::vec<double, 2>]: type 'converter<vec<double, 2>, vec<int, 2>>' does not provide a call operator
798 | return converter<U, vec>{}(*this);
799 | }
/host/spi-builder-workspace/Sources/Manifold3D/CrossSection/CrossSection+Operations.swift:2:17: error: could not build C module 'ManifoldCPP'
1 | import Foundation
2 | internal import ManifoldCPP
| `- error: could not build C module 'ManifoldCPP'
3 | internal import ManifoldBridge
4 |
BUILD FAILURE 6.1 android