Skip to content
This repository was archived by the owner on Nov 26, 2020. It is now read-only.
This repository was archived by the owner on Nov 26, 2020. It is now read-only.

Some documentation would be helpful (cannot generate EDataServer bindings) #3

@mcepl

Description

@mcepl

I am probably too naive (just learning Rust), but when I try to generate import crate for Evolution Data Server bindings, it doesn't end well (using python 2.7.5 on RHEL-7 and evolution-data-server-devel-3.22.7-6):

matej@mitmanek: edataserver (master #%)$ grust-gen --sys /usr/share/gir-1.0/EDataServer-1.2.gir
Traceback (most recent call last):
  File "/home/matej/.local/bin/grust-gen", line 9, in <module>
    load_entry_point('grust-gen==0.3.0', 'console_scripts', 'grust-gen')()
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/genmain.py", line 97, in generator_main
    gir_filename=opts.girfile)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/generators/sys_crate.py", line 41, in __init__
    lambda node, chain: self._prepare_walk(node, chain))
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/giscanner/ast.py", line 510, in walk
    node.walk(callback, [])
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/giscanner/ast.py", line 641, in walk
    self._walk(callback, chain)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/giscanner/ast.py", line 1190, in _walk
    meth.walk(callback, chain)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/giscanner/ast.py", line 636, in walk
    res = callback(self, chain)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/generators/sys_crate.py", line 41, in <lambda>
    lambda node, chain: self._prepare_walk(node, chain))
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/generators/sys_crate.py", line 51, in _prepare_walk
    self._mapper.resolve_types_for_node(node)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/mapping.py", line 555, in resolve_types_for_node
    return self._resolve_callable(node)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/mapping.py", line 572, in _resolve_callable
    crates |= self.resolve_call_signature_type(param)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/mapping.py", line 631, in resolve_call_signature_type
    return self._resolve_type_internal(type_container.type, actual_ctype)
  File "/home/matej/archiv/knihovna/repos/grust-gen/grust/mapping.py", line 649, in _resolve_type_internal
    raise MappingError("can't represent type {}".format(typedesc))
TypeError: __str__ returned non-string (type NoneType)
matej@mitmanek: edataserver (master #%)$

What do I do wrong?

EDataServer-1.2.gir.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions