Remove some final testing

Given Visual C++ does not work with these tests (tested with VS2022 17.3 and earlier)
This commit is contained in:
William S Fulton 2022-10-06 20:36:49 +01:00
commit 19a5f3f4a5
2 changed files with 24 additions and 9 deletions

View file

@ -8,7 +8,7 @@
%rename(Space1_final) Space1::final::final; %rename(Space1_final) Space1::final::final;
#endif #endif
#if defined(SWIGOCAML) #if defined(SWIGOCAML)
%rename(finale) Space2::FinalEnum1::final; %rename(finale) BrokenSpace::FinalEnum1::final;
#endif #endif
%inline %{ %inline %{
@ -105,9 +105,22 @@ struct FinalVar9 {
Y final{9}; Y final{9};
}; };
struct FinalVar10 { struct FinalVar10 {
void a10(class Y final) {}
void b10(Y final) {} void b10(Y final) {}
}; };
}
%}
// Unfortunately the use of final in BrokenSpace does not work with Visual C++
// so we limit testing to parsing these by SWIG and then ignoring it all.
%ignore BrokenSpace::FinalVar11;
%ignore BrokenSpace::FinalEnum1;
%ignore BrokenSpace::FinalEnum2;
namespace BrokenSpace {
using Space2::Y;
struct FinalVar11 {
void a11(class Y final) {}
};
struct FinalEnum1 { struct FinalEnum1 {
enum Enum1 { one, two, final }; enum Enum1 { one, two, final };
void enum_in(Enum1 e) {} void enum_in(Enum1 e) {}
@ -117,7 +130,6 @@ struct FinalEnum2 {
enum Enum2 final; enum Enum2 final;
}; };
} }
%}
%rename(Space3_final) Space3::final; %rename(Space3_final) Space3::final;
%inline %{ %inline %{

View file

@ -49,14 +49,17 @@ fv9 = FinalVar9()
yy = fv9.final yy = fv9.final
fv10 = FinalVar10() fv10 = FinalVar10()
fv10.a10(y)
fv10.b10(y) fv10.b10(y)
fe1 = FinalEnum1() # Removed due to Visual C++ compiler limitations
fe1.enum_in(FinalEnum1.final) # fv11 = FinalVar11()
# fv11.a11(y)
fe2 = FinalEnum2() #
fe2f = fe2.final # fe1 = FinalEnum1()
# fe1.enum_in(FinalEnum1.final)
#
# fe2 = FinalEnum2()
# fe2f = fe2.final
s3f = Space3_final() s3f = Space3_final()
s3f.fmethod(); s3f.fmethod();