/srv/irclogs.ubuntu.com/2015/02/24/#ubuntu-mir.txt

winjoah ban sowet courele coumdele coand ah cepe? di. di. sowet blak sho at weiy03:37
=== marcusto_ is now known as marcustomlinson
anpokalan_g: how do you feel about disabling UniqueModulePtrs default constructor?11:06
alan_ganpok: haven't thought about it yet11:07
alan_gDoes it work?11:07
anpokwell, yes.. I had to make change to enable it :)11:07
anpok*changes11:07
anpokBasically because the deleter wants to be initialized11:08
anpokI only saw a use for that in my test case, but I can work around that11:08
anpok(use for the default constructor)11:09
alan_ganpok: give me a few minutes to refresh the MP11:09
alan_ganpok: another option (I've not chosen, just brainstorming) would be to make make_module_ptr a friend of ModuleUniquePtr etc.11:15
anpokhm yes that would yield different error messages, but it requires actually writing a ModuleUniquePtr, and then we can simply omit the default constructor11:17
anpok(sorry for writing a but, while brainstorming is active)11:18
alan_gOops I meant friend of  ModuleDeleter11:18
anpokah11:19
alan_gI can see it /might/ be useful to default construct a ModuleUniquePtr for later assignment11:19
anpokalan_g: thats what I was asking about, and what I also use inside a test case11:20
anpokyou can work around those cases, and RAOF asked whether it would be possible to disallow a ModuleUniquePtr being default constructed11:20
* alan_g imagines workarounds like uniaue_ptr<ModuleUniquePtr> and shudders11:22
anpokor optional_value<ModuleUniquePtr<...>> yes11:23
alan_gThe "problem" use case is the non-default construction of ModuleUniquePtr with an incorrect initialization of ModuleDeleter11:23
anpokah you want to avoid that one!11:24
anpokgood I can do that11:24
alan_gShall I just write that up in the MP then?11:26
anpokyip11:30
anpokalan_g: anonymous friends behave strange in gcc12:17
anpokah it unveils a gcc bug12:17
alan_gReally?12:17
anpokwhen i make make_module_ptr (which in namespace {}) friend of ModuleDeleter12:18
anpokclang complains that namespace { make_module_ptr } cannot access the private constructor12:19
anpokgcc allows it or ignores it12:19
alan_gYou have a declaration of  make_module_ptr before the friend declaration?12:19
anpokand then the linker complains that there is no mir::make_module_ptr symbol (and it does not generate a mir::(anonymous namespace)::make_module_ptr symbol12:20
anpokyes12:20
anpokis there something in the c++ syntax I missed to be become friend of an anonymous entity?12:20
alan_gSo "friend" is injecting into the surrounding namespace and not finding the declaration. :(12:21
anpokremoving the namespace { } works fine for both12:21
anpokhmm i could try turning ModuleDeleter anonymous too12:21
anpokwhich is fine as we it just forwards to the right thing12:21
alan_gActually, that is sort of reasonable - you don't want a friend in every anon namespace12:22
alan_gSorted then?12:23
anpoknearly12:24
anpokoh uncovers a clang bug too .. and yet another workaround ...12:25
anpokthe using UniqueModulePtr<T> = std::unique_ptr<....> gets a strange taint for clang12:26
anpokwhich makes it fail to match a extern "C" mir::UniqueModulePtr<Interface> create_instance() with a matching mir::UniqueModulePtr<Interface> create_instance() in the implementation file12:27
anpokrepeating extern "C" solves it12:27
anpokstange taint because of the now anonymous ModuleDeleter12:28
anpokbut that bug only happens on clang gcc is happy both ways12:28
alan_gWhat a wonderful story to tell. ;)12:29
anpokdone12:31
alan_gWith tests that "bad stuff" doesn't compile? :^|12:32
anpokaeh?12:36
anpokstatic_fail_to_compile<decltype(hmm this would be quite interesinng)>12:37
alan_gYeah. I keep meaning to try - SFINAE ought to provide a way...12:38
anpokchallenge accepted12:39
* alan_g thinks that this might not be the top priority item on the backlog12:45
anpokseems to work12:46
anpoknot12:49
anpoki'll leave that for the weekend12:50
anpokgcc does not care whether decltype(..) is valid, and clang does not accept invalid decltype even to do sfinae12:50
anpokso i need to do sfinae within decltype...12:51
anpok->weekend12:51
davmor2Hey guys I just got this in vivid and wanted to check if it was normal? http://paste.ubuntu.com/10388642/12:56
anpokdavmor2: hm no, there is something wrong13:06
anpoki get the same13:08
alf_davmor2: anpok: https://bugs.launchpad.net/mir/+bug/1423359 ?13:28
ubot5Launchpad bug 1423359 in mir (Ubuntu) "taking screenshots with mirscreencast fails" [Undecided,Triaged]13:28
=== alan_g is now known as alan_g|lunch
davmor2alf_: thanks13:37
=== dandrader_ is now known as dandrader
=== dandrader is now known as dandrader|afk
=== alan_g|lunch is now known as alan_g
=== dandrader|afk is now known as dandrader
=== dandrader is now known as dandrader|lunch
=== dandrader|lunch is now known as dandrader
=== alan_g is now known as alan_g|EOD
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
rsalveti<ERROR> mircommon: Caught exception at Mir/EGL driver boundary (in setSwapInterval): /build/buildd/mir-0.11.0+15.04.20150209.1/src/client/buffer_stream.cpp(283): Throw in function virtual void mir::client::BufferStream::request_and_wait_for_configure(MirSurfaceAttrib, int)22:08
rsalvetiDynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorISt11logic_errorEEEE22:08
rsalvetistd::exception::what: Attempt to set swap interval on screencast is invalid22:08
rsalvetiwhen using phablet-screenshot on mako/latest vivid22:09
rsalvetiis that known?22:09
rsalvetiit worked fine though22:09
tmpRAOFrsalveti: Not known to me :)22:23
rsalvetitmpRAOF: great, let me open a bug for it22:24
rsalvetitmpRAOF: https://bugs.launchpad.net/ubuntu/+source/mir/+bug/142530722:45
ubot5Launchpad bug 1425307 in mir (Ubuntu) "Exception when running phablet-screenshot (mako/vivid 110)" [Undecided,New]22:45
tmpRAOFrsalveti: It'd be convenient if you dump the backtrace of running that in gdb with ‘catch throw’ (I don't *think* we have any other expected-but-caught exceptions) :)22:47
rsalvetisure, need to install dbg symbols and family22:49
rsalvetitmpRAOF: https://bugs.launchpad.net/ubuntu/+source/mir/+bug/1425307/comments/223:09
ubot5Launchpad bug 1425307 in mir (Ubuntu) "Exception when running phablet-screenshot (mako/vivid 110)" [Undecided,New]23:09
tmpRAOFrsalveti: Much ta.23:09
tmpRAOFBah. You know what would be rad? If that backtrace didn't give up just before the frame I wanted to inspect :)23:12

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!