Skip to content

Explicitly define conditional LOB constructors for const (w)string &#4726

Merged
matejk merged 1 commit intopocoproject:mainfrom
dblsaiko:variant1
Oct 7, 2024
Merged

Explicitly define conditional LOB constructors for const (w)string &#4726
matejk merged 1 commit intopocoproject:mainfrom
dblsaiko:variant1

Conversation

@dblsaiko
Copy link
Copy Markdown
Contributor

@dblsaiko dblsaiko commented Oct 4, 2024

This fixes compilation against libcxx 19, which removed the
non-standard specializations for std::char_traits including the one
for unsigned char, which would get instantiated for BLOB.
See https://reviews.llvm.org/D138307 and
https://reviews.llvm.org/D157058.

Closes #4722.

This fixes compilation against libcxx 19, which removed the
non-standard specializations for std::char_traits including the one
for unsigned char, which would get instantiated for BLOB.
See https://reviews.llvm.org/D138307 and
https://reviews.llvm.org/D157058.

Closes pocoproject#4722.
@dblsaiko dblsaiko changed the title Disable LOB(const basic_string<T> &) constructor for invalid T Explicitly define conditional LOB constructors for const (w)string & Oct 4, 2024
@dblsaiko
Copy link
Copy Markdown
Contributor Author

dblsaiko commented Oct 4, 2024

Looks like the initial approach disabled implicit conversions of the parameter when calling the constructor (i.e. CLOB("foo")). So here's the approach you probably had in mind in #4722 (comment).

@matejk matejk added this to the Release 1.14.0 milestone Oct 7, 2024
@matejk matejk merged commit 3b79a51 into pocoproject:main Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

libcxx: error: implicit instantiation of undefined template 'std::char_traits<unsigned char>'

2 participants