boostorg / boostorg/scope_exit
id2type_impl specialization before declaration fails to compile in MSVC with /permissive- flag
- Dominant language
- C++
- Stars
- 17
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
See the compilation failure [on godbolt](https://godbolt.org/z/lT4Kf_)
The full specialization of id2type_impl in the full template definition of msvc_extract_type is the problem, and can easily be solved by swapping the order (full declaration before specialization definition).
If that link is stale, go to godbolt + msvc + add flag "/permissive-" (without quotes), and paste the code below (wish we could use boost + MSVC on godbolt):
```
template
struct msvc_extract_type {
template<>
struct id2type_impl { // VC8.0 specific bug-feature.
typedef T type;
};
template
struct id2type_impl;
typedef id2type_impl id2type;
};
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.