luabind 0.9 compile error with clang 3.2

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

luabind 0.9 compile error with clang 3.2

Tomasz Mikolajczyk
Hi.

The latest clang 3.2 detected an ambiguous forward declarations in
detail/format_signature.hpp file:

{{{
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
In file included from /home/tomaszmi/luabind/make_function.hpp:13:
/home/tomaszmi/luabind/detail/format_signature.hpp:95:33: error:
reference to 'object' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::object)
                                ^
/home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
expanded from macro 'LUABIND_TYPE_TO_STRING'
    struct type_to_string<x> \
                          ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
/home/tomaszmi/luabind/detail/format_signature.hpp:96:33: error:
reference to 'argument' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::argument)
                                ^
/home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
expanded from macro 'LUABIND_TYPE_TO_STRING'
    struct type_to_string<x> \
                          ^
/home/tomaszmi/luabind/object.hpp:827:12: note: candidate found by
name lookup is 'luabind::argument'
using adl::argument;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:19:7: note:
candidate found by name lookup is 'luabind::argument'
class argument;
      ^
/home/tomaszmi/luabind/detail/format_signature.hpp:102:23: error:
reference to 'table' is ambiguous
struct type_to_string<table<Base> >
                      ^
/home/tomaszmi/luabind/object.hpp:1189:12: note: candidate found by
name lookup is 'luabind::table'
using adl::table;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:21:8: note:
candidate found by name lookup is 'luabind::table'
struct table;
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:102:29: error:
'Base' does not refer to a value
struct type_to_string<table<Base> >
                            ^
/home/tomaszmi/luabind/detail/format_signature.hpp:101:17: note: declared here
template <class Base>
                ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:95:15: error: reference to
'object' is ambiguous
  LUABIND_API object make_function_aux(
              ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:61: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                                            ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:104:1: error: reference to
'object' is ambiguous
object make_function(lua_State* L, F f, Signature, Policies)
^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:104:8: error: incomplete
result type 'luabind::object' in function definition
object make_function(lua_State* L, F f, Signature, Policies)
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:115:1: error: reference to
'object' is ambiguous
object make_function(lua_State* L, F f)
^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:115:8: error: incomplete
result type 'luabind::object' in function definition
object make_function(lua_State* L, F f)
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
/home/tomaszmi/luabind/detail/call_function.hpp:224:26: error:
reference to 'object' is ambiguous
                        friend class luabind::object;
                                              ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:361:25: error:
reference to 'object' is ambiguous
        call_function(luabind::object const& obj
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
                               ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:373:6: error: member
access into incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:374:24: error: member
access into incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
                                     ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:404:27: error:
reference to 'object' is ambiguous
        resume_function(luabind::object const& obj
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
                                 ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:416:6: error: member
access into incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:417:24: error: member
access into incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1,
&detail::resume_impl, args);
                                     ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
}}}


The object, argument and table<> classes are declared in the
luabind::adl namespace, so the forward declarations should follow
that:

namespace luabind { namespace adl {

class object;
class argument;
template <class Base>
struct table;

} // namespace adl

using adl::object;
using adl::argument;
using adl::table;

} // namespace luabind

See the attached format_signature.hpp file containing the fix.

Regards,
Tomek

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user

format_signature.hpp (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: luabind 0.9 compile error with clang 3.2

Ryan Pavlik-4
Which repository/commit are you using? I've been compiling using clang trunk without issue, on my github branch: http://github.com/rpavlik/luabind

Ryan


On Mon, Dec 31, 2012 at 11:21 AM, Tomasz Mikolajczyk <[hidden email]> wrote:
Hi.

The latest clang 3.2 detected an ambiguous forward declarations in
detail/format_signature.hpp file:

{{{
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
In file included from /home/tomaszmi/luabind/make_function.hpp:13:
/home/tomaszmi/luabind/detail/format_signature.hpp:95:33: error:
reference to 'object' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::object)
                                ^
/home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
expanded from macro 'LUABIND_TYPE_TO_STRING'
    struct type_to_string<x> \
                          ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
/home/tomaszmi/luabind/detail/format_signature.hpp:96:33: error:
reference to 'argument' is ambiguous
LUABIND_TYPE_TO_STRING(luabind::argument)
                                ^
/home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
expanded from macro 'LUABIND_TYPE_TO_STRING'
    struct type_to_string<x> \
                          ^
/home/tomaszmi/luabind/object.hpp:827:12: note: candidate found by
name lookup is 'luabind::argument'
using adl::argument;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:19:7: note:
candidate found by name lookup is 'luabind::argument'
class argument;
      ^
/home/tomaszmi/luabind/detail/format_signature.hpp:102:23: error:
reference to 'table' is ambiguous
struct type_to_string<table<Base> >
                      ^
/home/tomaszmi/luabind/object.hpp:1189:12: note: candidate found by
name lookup is 'luabind::table'
using adl::table;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:21:8: note:
candidate found by name lookup is 'luabind::table'
struct table;
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:102:29: error:
'Base' does not refer to a value
struct type_to_string<table<Base> >
                            ^
/home/tomaszmi/luabind/detail/format_signature.hpp:101:17: note: declared here
template <class Base>
                ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:95:15: error: reference to
'object' is ambiguous
  LUABIND_API object make_function_aux(
              ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:99:61: error: reference to
'object' is ambiguous
  LUABIND_API void add_overload(object const&, char const*, object const&);
                                                            ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:104:1: error: reference to
'object' is ambiguous
object make_function(lua_State* L, F f, Signature, Policies)
^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:104:8: error: incomplete
result type 'luabind::object' in function definition
object make_function(lua_State* L, F f, Signature, Policies)
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:115:1: error: reference to
'object' is ambiguous
object make_function(lua_State* L, F f)
^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:8:
/home/tomaszmi/luabind/make_function.hpp:115:8: error: incomplete
result type 'luabind::object' in function definition
object make_function(lua_State* L, F f)
       ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
/home/tomaszmi/luabind/detail/call_function.hpp:224:26: error:
reference to 'object' is ambiguous
                        friend class luabind::object;
                                              ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:361:25: error:
reference to 'object' is ambiguous
        call_function(luabind::object const& obj
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
                               ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:373:6: error: member
access into incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:374:24: error: member
access into incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1, &detail::pcall, args);
                                     ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:404:27: error:
reference to 'object' is ambiguous
        resume_function(luabind::object const& obj
BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
                                 ^
/home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
name lookup is 'luabind::object'
using adl::object;
           ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
candidate found by name lookup is 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:416:6: error: member
access into incomplete type 'const luabind::object'
                obj.push(obj.interpreter());
                   ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
In file included from /home/tomaszmi/luabind/luabind.hpp:28:
In file included from /home/tomaszmi/luabind/class.hpp:94:
In file included from /home/tomaszmi/luabind/function.hpp:10:
In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
In file included from
/home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
/home/tomaszmi/luabind/detail/call_function.hpp:417:24: error: member
access into incomplete type 'const luabind::object'
                return proxy_type(obj.interpreter(), 1,
&detail::resume_impl, args);
                                     ^
/home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
declaration of 'luabind::object'
class object;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
}}}


The object, argument and table<> classes are declared in the
luabind::adl namespace, so the forward declarations should follow
that:

namespace luabind { namespace adl {

class object;
class argument;
template <class Base>
struct table;

} // namespace adl

using adl::object;
using adl::argument;
using adl::table;

} // namespace luabind

See the attached format_signature.hpp file containing the fix.

Regards,
Tomek

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user




--
Ryan Pavlik
HCI Graduate Student
Virtual Reality Applications Center
Iowa State University

[hidden email]
http://academic.cleardefinition.com

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user
Reply | Threaded
Open this post in threaded view
|

Re: luabind 0.9 compile error with clang 3.2

Tomasz Mikolajczyk
I was using 0.9.1 version instead of the repository. I forgot to mention that.

http://sourceforge.net/projects/luabind/files/luabind/0.9.1/luabind-0.9.1.tar.gz/download

/Tomek

On Thu, Jan 3, 2013 at 10:19 PM, Ryan Pavlik <[hidden email]> wrote:

> Which repository/commit are you using? I've been compiling using clang trunk
> without issue, on my github branch: http://github.com/rpavlik/luabind
>
> Ryan
>
>
> On Mon, Dec 31, 2012 at 11:21 AM, Tomasz Mikolajczyk
> <[hidden email]> wrote:
>>
>> Hi.
>>
>> The latest clang 3.2 detected an ambiguous forward declarations in
>> detail/format_signature.hpp file:
>>
>> {{{
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> In file included from /home/tomaszmi/luabind/make_function.hpp:13:
>> /home/tomaszmi/luabind/detail/format_signature.hpp:95:33: error:
>> reference to 'object' is ambiguous
>> LUABIND_TYPE_TO_STRING(luabind::object)
>>                                 ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
>> expanded from macro 'LUABIND_TYPE_TO_STRING'
>>     struct type_to_string<x> \
>>                           ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:96:33: error:
>> reference to 'argument' is ambiguous
>> LUABIND_TYPE_TO_STRING(luabind::argument)
>>                                 ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:73:27: note:
>> expanded from macro 'LUABIND_TYPE_TO_STRING'
>>     struct type_to_string<x> \
>>                           ^
>> /home/tomaszmi/luabind/object.hpp:827:12: note: candidate found by
>> name lookup is 'luabind::argument'
>> using adl::argument;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:19:7: note:
>> candidate found by name lookup is 'luabind::argument'
>> class argument;
>>       ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:102:23: error:
>> reference to 'table' is ambiguous
>> struct type_to_string<table<Base> >
>>                       ^
>> /home/tomaszmi/luabind/object.hpp:1189:12: note: candidate found by
>> name lookup is 'luabind::table'
>> using adl::table;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:21:8: note:
>> candidate found by name lookup is 'luabind::table'
>> struct table;
>>        ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:102:29: error:
>> 'Base' does not refer to a value
>> struct type_to_string<table<Base> >
>>                             ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:101:17: note: declared
>> here
>> template <class Base>
>>                 ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:95:15: error: reference to
>> 'object' is ambiguous
>>   LUABIND_API object make_function_aux(
>>               ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
>> 'object' is ambiguous
>>   LUABIND_API void add_overload(object const&, char const*, object
>> const&);
>>                                 ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:99:33: error: reference to
>> 'object' is ambiguous
>>   LUABIND_API void add_overload(object const&, char const*, object
>> const&);
>>                                 ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:99:61: error: reference to
>> 'object' is ambiguous
>>   LUABIND_API void add_overload(object const&, char const*, object
>> const&);
>>                                                             ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:104:1: error: reference to
>> 'object' is ambiguous
>> object make_function(lua_State* L, F f, Signature, Policies)
>> ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:104:8: error: incomplete
>> result type 'luabind::object' in function definition
>> object make_function(lua_State* L, F f, Signature, Policies)
>>        ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:115:1: error: reference to
>> 'object' is ambiguous
>> object make_function(lua_State* L, F f)
>> ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:8:
>> /home/tomaszmi/luabind/make_function.hpp:115:8: error: incomplete
>> result type 'luabind::object' in function definition
>> object make_function(lua_State* L, F f)
>>        ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> /home/tomaszmi/luabind/detail/call_function.hpp:224:26: error:
>> reference to 'object' is ambiguous
>>                         friend class luabind::object;
>>                                               ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:361:25: error:
>> reference to 'object' is ambiguous
>>         call_function(luabind::object const& obj
>> BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
>> BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
>>                                ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:373:6: error: member
>> access into incomplete type 'const luabind::object'
>>                 obj.push(obj.interpreter());
>>                    ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:374:24: error: member
>> access into incomplete type 'const luabind::object'
>>                 return proxy_type(obj.interpreter(), 1, &detail::pcall,
>> args);
>>                                      ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:404:27: error:
>> reference to 'object' is ambiguous
>>         resume_function(luabind::object const& obj
>> BOOST_PP_COMMA_IF(BOOST_PP_ITERATION())
>> BOOST_PP_ENUM(BOOST_PP_ITERATION(), LUABIND_OPERATOR_PARAMS, _) )
>>                                  ^
>> /home/tomaszmi/luabind/object.hpp:826:12: note: candidate found by
>> name lookup is 'luabind::object'
>> using adl::object;
>>            ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note:
>> candidate found by name lookup is 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:416:6: error: member
>> access into incomplete type 'const luabind::object'
>>                 obj.push(obj.interpreter());
>>                    ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> In file included from /home/tomaszmi/src/stack_content_by_name.cpp:27:
>> In file included from /home/tomaszmi/luabind/luabind.hpp:28:
>> In file included from /home/tomaszmi/luabind/class.hpp:94:
>> In file included from /home/tomaszmi/luabind/function.hpp:10:
>> In file included from /home/tomaszmi/luabind/detail/call_function.hpp:320:
>> In file included from
>> /home/tomaszmi/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:
>> /home/tomaszmi/luabind/detail/call_function.hpp:417:24: error: member
>> access into incomplete type 'const luabind::object'
>>                 return proxy_type(obj.interpreter(), 1,
>> &detail::resume_impl, args);
>>                                      ^
>> /home/tomaszmi/luabind/detail/format_signature.hpp:18:7: note: forward
>> declaration of 'luabind::object'
>> class object;
>>       ^
>> fatal error: too many errors emitted, stopping now [-ferror-limit=]
>> 20 errors generated.
>> }}}
>>
>>
>> The object, argument and table<> classes are declared in the
>> luabind::adl namespace, so the forward declarations should follow
>> that:
>>
>> namespace luabind { namespace adl {
>>
>> class object;
>> class argument;
>> template <class Base>
>> struct table;
>>
>> } // namespace adl
>>
>> using adl::object;
>> using adl::argument;
>> using adl::table;
>>
>> } // namespace luabind
>>
>> See the attached format_signature.hpp file containing the fix.
>>
>> Regards,
>> Tomek
>>
>>
>> ------------------------------------------------------------------------------
>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
>> MVPs and experts. SALE $99.99 this month only -- learn more at:
>> http://p.sf.net/sfu/learnmore_122412
>> _______________________________________________
>> luabind-user mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/luabind-user
>>
>
>
>
> --
> Ryan Pavlik
> HCI Graduate Student
> Virtual Reality Applications Center
> Iowa State University
>
> [hidden email]
> http://academic.cleardefinition.com
>
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. ON SALE this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122712
> _______________________________________________
> luabind-user mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/luabind-user
>

------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
luabind-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/luabind-user