diff --git a/src/NonCopyable.sln b/src/NonCopyable.sln
index e7ececc..4785ba0 100644
--- a/src/NonCopyable.sln
+++ b/src/NonCopyable.sln
@@ -1,13 +1,15 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2003
+# Visual Studio Version 17
+VisualStudioVersion = 17.6.33829.357
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable", "NonCopyable\NonCopyable\NonCopyable.csproj", "{CC552C73-1EA3-457B-8E98-2D5D3213C5C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NonCopyable", "NonCopyable\NonCopyable\NonCopyable.csproj", "{CC552C73-1EA3-457B-8E98-2D5D3213C5C5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Test", "NonCopyable\NonCopyable.Test\NonCopyable.Test.csproj", "{88F29EA0-BB85-4E16-AF40-E48B69085017}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NonCopyable.Test", "NonCopyable\NonCopyable.Test\NonCopyable.Test.csproj", "{88F29EA0-BB85-4E16-AF40-E48B69085017}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Vsix", "NonCopyable\NonCopyable.Vsix\NonCopyable.Vsix.csproj", "{6830D342-6930-43F8-AA43-2E222DE700E2}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.Vsix", "NonCopyable\NonCopyable.Vsix\NonCopyable.Vsix.csproj", "{82193301-CA7B-41C0-BCEF-01503E0A15EB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonCopyable.TestTypes", "NonCopyable\NonCopyable.TestTypes\NonCopyable.TestTypes.csproj", "{D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -23,10 +25,14 @@ Global
{88F29EA0-BB85-4E16-AF40-E48B69085017}.Debug|Any CPU.Build.0 = Debug|Any CPU
{88F29EA0-BB85-4E16-AF40-E48B69085017}.Release|Any CPU.ActiveCfg = Release|Any CPU
{88F29EA0-BB85-4E16-AF40-E48B69085017}.Release|Any CPU.Build.0 = Release|Any CPU
- {6830D342-6930-43F8-AA43-2E222DE700E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6830D342-6930-43F8-AA43-2E222DE700E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6830D342-6930-43F8-AA43-2E222DE700E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6830D342-6930-43F8-AA43-2E222DE700E2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {82193301-CA7B-41C0-BCEF-01503E0A15EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D3F9BFB6-63A3-4E36-A2DC-86D5AC16DBE2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json
index 3002488..31dadc5 100644
--- a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json
+++ b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Diagnostic/Results.json
@@ -7,14 +7,6 @@
"path": "Class1.csx",
"message-args": [ "T" ]
},
- {
- "id": "NoCopy05",
- "sevirity": "Error",
- "line": 33,
- "column": 16,
- "path": "Class1.csx",
- "message-args": [ "T" ]
- },
{
"id": "NoCopy04",
"sevirity": "Error",
diff --git a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx
index fc1f43a..7e811f2 100644
--- a/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx
+++ b/src/NonCopyable/NonCopyable.Test/DataSource/NonCopyable/Generics/Source/Class1.csx
@@ -30,7 +30,7 @@ static class Ex1
public static T Constraint<[NonCopyable] T>(ref this T x) where T : struct
{
var t = x; // ❌
- return t; // ❌
+ return t;
}
}
diff --git a/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj b/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj
index 91cf7c7..2f4c136 100644
--- a/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj
+++ b/src/NonCopyable/NonCopyable.Test/NonCopyable.Test.csproj
@@ -15,7 +15,10 @@
-
+
+
+ Analyzer
+
diff --git a/src/NonCopyable/NonCopyable.Test/NonCopyable.cs b/src/NonCopyable/NonCopyable.Test/NonCopyable.cs
index 667b6c2..5bed6f9 100644
--- a/src/NonCopyable/NonCopyable.Test/NonCopyable.cs
+++ b/src/NonCopyable/NonCopyable.Test/NonCopyable.cs
@@ -1,6 +1,8 @@
using System.Collections.Generic;
+using System.Reflection;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
+using NonCopyable.Test.TestTypes;
using TestHelper;
using Xunit;
@@ -36,7 +38,11 @@ protected override IEnumerable References
get
{
foreach (var r in base.References) yield return r;
- yield return MetadataReference.CreateFromFile(GetType().Assembly.Location);
+ yield return MetadataReference.CreateFromFile(typeof(MyNonCopyable).Assembly.Location);
+ foreach(var name in typeof(MyNonCopyable).Assembly.GetReferencedAssemblies())
+ {
+ yield return MetadataReference.CreateFromFile(Assembly.Load(name).Location);
+ }
}
}
}
diff --git a/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj b/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj
new file mode 100644
index 0000000..dbc1517
--- /dev/null
+++ b/src/NonCopyable/NonCopyable.TestTypes/NonCopyable.TestTypes.csproj
@@ -0,0 +1,7 @@
+
+
+
+ net6.0
+
+
+
diff --git a/src/NonCopyable/NonCopyable.Test/TestTypes/MyNonCopyable.cs b/src/NonCopyable/NonCopyable.TestTypes/TestTypes/MyNonCopyable.cs
similarity index 100%
rename from src/NonCopyable/NonCopyable.Test/TestTypes/MyNonCopyable.cs
rename to src/NonCopyable/NonCopyable.TestTypes/TestTypes/MyNonCopyable.cs
diff --git a/src/NonCopyable/NonCopyable.Test/TestTypes/NonCopyableAttribute.cs b/src/NonCopyable/NonCopyable.TestTypes/TestTypes/NonCopyableAttribute.cs
similarity index 100%
rename from src/NonCopyable/NonCopyable.Test/TestTypes/NonCopyableAttribute.cs
rename to src/NonCopyable/NonCopyable.TestTypes/TestTypes/NonCopyableAttribute.cs
diff --git a/src/NonCopyable/NonCopyable/NonCopyable.csproj b/src/NonCopyable/NonCopyable/NonCopyable.csproj
index 7b9743b..6c4ac46 100644
--- a/src/NonCopyable/NonCopyable/NonCopyable.csproj
+++ b/src/NonCopyable/NonCopyable/NonCopyable.csproj
@@ -20,6 +20,7 @@ Allow usage of non-copyable in conditional expressions (? :).
Treat return statement as having move semantics for locals and parameters.
NonCopyable, analyzers
true
+ true