Hi Nikos,
If you'd like us to help you, you need to provide the exact code you
actually wrote, and the exact error it produced.
The code you provided in your first e-mail has numerous syntax errors such
that it can't compile as-is. When I fixed those errors, it worked fine.
That is, if I put the following in a file and compile it, I get no errors:
@0xc39ccf0ba082696f;
struct Foo(A) {
field @0 :A;
}
struct B {}
struct C {
field @0 :List(Foo(B));
}
So, I do not know what problem you are actually having.
-Kenton
On Mon, May 4, 2020 at 6:21 PM nikos efthias <[email protected]>
wrote:
>
> I need a List(foo(b)) that is the problem capnp compile command generates
> an error sayingI need to pass pointers rather than b itself
> so I cant compile my schema because it need a pointer type at compile time
> and you are saying there is no such thing in capnproto which makes using
> generics impossible in nested levels as i understand
>
> On Tuesday, May 5, 2020 at 3:12:40 AM UTC+4, Ian Denhardt wrote:
>>
>> "Pointers" aren't an explicit thing in the schema language. Data, Text,
>> structs, lists and interfaces are implicitly pointers, while primitive
>> types like Bool and Float64 are not. Type parameters must always be
>> pointer types. So in this case you can just do:
>>
>> struct Foo(A) {
>> field @0 :A;
>> }
>>
>> struct B{};
>>
>> struct C {
>> field :List(B);
>> }
>>
>> -Ian
>>
>> Quoting nikos efthias (2020-05-04 18:01:44)
>> > I have a Struct containing generics which accepts another struct
>> such
>> > as
>> > ```
>> > struct foo (a){
>> > � � � field @0 :a
>> > }
>> > struct b{}
>> > struct c{
>> > field:List(a(b)
>> > }
>> > ```
>> > the example above wont work because I need to pass a b pointer to a
>> but
>> > There is no documentation for defining pointers
>> > I tried *b and &b which does not work.
>> > How do I define the pointer?
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "Cap'n Proto" group.
>> > To unsubscribe from this group and stop receiving emails from it,
>> send
>> > an email to [1][email protected].
>> > To view this discussion on the web visit
>> > [2]
>> https://groups.google.com/d/msgid/capnproto/bd400995-9d98-4caf-8e10-
>> > 81a3fe1de564%40googlegroups.com.
>> >
>> > Verweise
>> >
>> > 1. mailto:[email protected]
>> > 2.
>> https://groups.google.com/d/msgid/capnproto/bd400995-9d98-4caf-8e10-81a3fe1de564%40googlegroups.com?utm_medium=email&utm_source=footer
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Cap'n Proto" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/capnproto/d4352bf6-762a-4367-b26e-ed0f6be92018%40googlegroups.com
> <https://groups.google.com/d/msgid/capnproto/d4352bf6-762a-4367-b26e-ed0f6be92018%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/capnproto/CAJouXQmp9UiyfuWBkkekdh9r9SKTj3P7WnvZSgapABVv%2BXe7yQ%40mail.gmail.com.