You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seems aliasing is broken, unsure when it broke, but it should be reproducible with the container spec.
$ crystal spec spec/integration/containers_spec.cr
+ rm -f '*.o' containers.cpp containers_test.cr
Invalid alias name "std::vector<int>" at Test::Binding::std::vector<int>
Invalid alias name "std::vector<std::vector<int>>" at Test::Binding::std::vector<std::vector<int>>
Invalid alias name "std::vector<std::string>" at Test::Binding::std::vector<std::string>
Invalid alias name "std::vector<rgb>" at Test::Binding::std::vector<rgb>
Invalid alias name "std::vector<double>" at Test::Binding::std::vector<double>
Result type std::vector<int> is unreachable at Test::Binding#integers()
Result type std::vector<std::vector<int>> is unreachable at Test::Binding#grid()
Result type std::vector<std::string> is unreachable at Test::Binding#strings()
Result type std::vector<rgb> is unreachable at Test::Binding#palette()
Argument 2 has unreachable type std::vector<double> at Test::Binding#sum(list)
Result type Binding::std::vector<int> is unreachable at Test::Containers#integers()
Result type Binding::std::vector<std::vector<int>> is unreachable at Test::Containers#grid()
Result type Binding::std::vector<std::string> is unreachable at Test::Containers#strings()
Result type Binding::std::vector<rgb> is unreachable at Test::Containers#palette()
Argument 1 has unreachable type Binding::std::vector<double> at Test::Containers#sum(list)
Found 15 errors. Aborting.
F
Failures:
1) container instantiation feature works
Failure/Error: tool.run!.should eq(0)
Expected: 0
got: 1
# spec/integration/spec_helper.cr:80
Finished in 611.09 milliseconds
1 examples, 1 failures, 0 errors, 0 pending
Failed examples:
crystal spec spec/integration/containers_spec.cr:4 # container instantiation feature works
The text was updated successfully, but these errors were encountered:
Still get these errors on other llvm versions, so i believe it may have something to do with the changes @HertzDevil may have introduced. @HertzDevil any ideas? Looks like types like std::vector<int> are making through as crystal code. Disabling sanity checks gets output like:
@[Link(ldflags: "#{__DIR__}/../tmp/containers.o -lstdc++ -lgccpp")]
lib Binding
alias Containers = Void
alias std::vector<int> = Void
alias std::vector<std::vector<int> > = Void
alias std::vector<std::string> = Void
alias ContainerStdVectorUnsignedChar = Void
alias std::vector<rgb> = Void
alias std::vector<double> = Void
Seems aliasing is broken, unsure when it broke, but it should be reproducible with the container spec.
The text was updated successfully, but these errors were encountered: