-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test plan for "using aliases for any types" #56323
Comments
Note this will need a design and updated spec of custom debug information for PDBs - at least for Portable PDBs. We can decide to not make this available in EEs when Windows PDBs are used. If we support Windows PDBs the CDIs need to be designed for Windows PDBs as well. The format for Windows PDBs is different than Portable. |
Checked the test plan and it can be marked as completed now. Any further issues should be tracked by individual issues. Thanks |
Thanks julien :) |
Championed proposal: dotnet/csharplang#4284
Speclet: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-12.0/using-alias-types.md
Note this doesn't include support for generic aliases (draft spec dotnet/csharplang#4452)
Compiler
RegularNext
orCSharpNext
)using unsafe
orunsafe using
? LDM decision 2/1/2023.using unsafe
. This keeps all theusing
forms consistent that they start withusing
(orglobal using
).int
,nint
, ...StaticUsingDirectiveRefType
)using X = object?;
,using X = Y?;
whereY
is another alias) (AliasUsingNullableReferenceType
)unsafe
in a non-alias using (seeUsingUnsafeNonAlias
)unsafe
) (seeGlobalAliasToType...
)GetTypeInfo
on the RHS,IAliasSymbol.Target
,GetAliasInfo
using unsafe x = ...
,using x = (one, two);
, ...)using X = (ObsoleteType, ObsoleteType);
,using X = ObsoleteType[];
using T = dynamic;
where adynamic
type already exists. AliasUsingDirectiveDynamic4 and AliasUsingDirectiveDynamic4.using unsafe X = int;
then useX
in safe context (no diagnostic). TestUnsafeAlias14_A, TestUnsafeAlias14_Busing X = scoped R;
. TestScopedType1-4using X = ref readonly R;
AliasUsingDirectiveRefReadonlyTypeusing X = __makeref(...);
. TestMakeRefusing X = __arglist();
. TestArgListusing X = dynamic;
inspect a value of typeX
). Added in Update PDB behavior for 'using alias to type', and add EE and PDB tests. #67105unsafe
onusing static
? (using static C<int*[]>;
is already legal, warning wave?)Productivity
dynamic
The text was updated successfully, but these errors were encountered: