Master uncompilable on cygwin
Thibaut Cuvelier
tcuvelier at lyx.org
Sat Mar 5 02:00:08 UTC 2022
On Sat, 5 Mar 2022 at 02:54, Enrico Forestieri <forenr at lyx.org> wrote:
> On Sat, Mar 05, 2022 at 02:47:16AM +0100, Thibaut Cuvelier wrote:
> >
> > On Sat, 5 Mar 2022 at 02:24, Enrico Forestieri <forenr at lyx.org> wrote:
> >
> > > This is the error:
> > >
> > > In file included from ../../../../src/frontends/qt/GuiBibtex.cpp:21:
> > > ../../../../src/Encoding.h: In member function
> > > ‘std::vector<std::basic_string<unsigned int, std::char_traits<unsigned
> > > int>, std::allocator<unsigned int> > > lyx::CharInfo::textCommands()
> const’:
> > > ../../../../src/Encoding.h:82:62: error: could not convert ‘((const
> > > lyx::CharInfo*)this)->lyx::CharInfo::text_commands_’ from
> > > ‘vector<lyx::trivial_string<unsigned int>>’ to
> > > ‘vector<std::basic_string<unsigned int, std::char_traits<unsigned int>,
> > > std::allocator<unsigned int> >>’
> > > 82 | std::vector<docstring> textCommands() const { return
> > > text_commands_; }
> > > |
> > > ^~~~~~~~~~~~~~
> > > | |
> > > |
> > > vector<lyx::trivial_string<unsigned int>>
> > > ../../../../src/Encoding.h: In member function
> > > ‘std::vector<std::basic_string<unsigned int, std::char_traits<unsigned
> > > int>, std::allocator<unsigned int> > > lyx::CharInfo::mathCommands()
> const’:
> > > ../../../../src/Encoding.h:86:62: error: could not convert ‘((const
> > > lyx::CharInfo*)this)->lyx::CharInfo::math_commands_’ from
> > > ‘vector<lyx::trivial_string<unsigned int>>’ to
> > > ‘vector<std::basic_string<unsigned int, std::char_traits<unsigned int>,
> > > std::allocator<unsigned int> >>’
> > > 86 | std::vector<docstring> mathCommands() const { return
> > > math_commands_; }
> > > |
> > > ^~~~~~~~~~~~~~
> > > | |
> > > |
> > > vector<lyx::trivial_string<unsigned int>>
> > >
> >
> > I wrote that change, but I had no problems compiling it with more or less
> > recent compilers (including Visual C++, which tends to have
> idiosyncrasies
> > compared to GCC and LLVM). What version of GCC do you use?
>
> Yes, biset points at 3f9e21b8. The GCC version is 11.2.0.
>
> > What's strange is that strfwd.h typeders trivdocstring as docstring
> (unless
> > STD_STRING_USES_COW is defined). I have no idea what this macro exactly
> > does and when it is set, though :/.
>
> I think it refers to copy-on-write. I think mingw uses COW but not cygwin.
>
What I don't get is why casting one value is easy, but a vector is not...
What about adding a manual cast around this line?
std::vector<docstring> mathCommands() const { return math_commands_; }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20220305/4a0d375b/attachment.html>
More information about the lyx-devel
mailing list