Skip to content

Conversation

AlekseyTs
Copy link
Contributor

@AlekseyTs AlekseyTs commented May 23, 2025

Relates to test plan #76130

@AlekseyTs AlekseyTs requested a review from a team as a code owner May 23, 2025 19:21
@AlekseyTs AlekseyTs added the Feature - Extension Everything The extension everything feature label May 23, 2025
@AlekseyTs AlekseyTs requested review from jjonescz and jcouv May 23, 2025 19:21
@jcouv jcouv self-assigned this May 27, 2025
@AlekseyTs
Copy link
Contributor Author

@jcouv, @dotnet/roslyn-compiler Please review


[Theory]
[CombinatorialData]
public void Binary_045_Consumption_Logical_InDifferentBlocks([CombinatorialValues("&&", "||")] string op)
Copy link
Member

@jcouv jcouv May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Consider testing from metadata too #Closed


[Theory]
[CombinatorialData]
public void Binary_053_Consumption_Logical_TrueOrFalseInDifferentClass([CombinatorialValues("&&", "||")] string op)
Copy link
Member

@jcouv jcouv May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a test like this but the true/false operators are together (separate from the logical operator)? #Closed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not find this scenario particularly interesting. Adding Binary_055_Consumption_Logical_TrueOrFalseInDifferentClass for completeness.

static void Main()
{
var s1 = (1, 2);
s1 = s1 {{{op}}} s1;
Copy link
Member

@jcouv jcouv May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider verifying the info from semantic model in scenario with "generic operator" #Closed

Copy link
Member

@jcouv jcouv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM Thanks (commit 1) with some test suggestions

@jcouv
Copy link
Member

jcouv commented May 28, 2025

The title of the PR seems off. The logical operators are &, | and ^ (which were previously implemented). This is about "conditional logical operators" && and || (spec). #Resolved

""";

var comp = CreateCompilation(src1, options: TestOptions.DebugExe);
comp.VerifyDiagnostics(
Copy link
Member

@jcouv jcouv May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VerifyEmitDiagnostics? (here and elsewhere as well) #Closed

@AlekseyTs AlekseyTs changed the title Initial support for logical binary extension operators Initial support for conditional logical binary extension operators May 28, 2025
@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler For the second review.

@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler For another review

Copy link
Member

@jcouv jcouv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM Thanks (commit 2)

@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler For another review

@AlekseyTs AlekseyTs requested a review from a team June 2, 2025 13:15
@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler For another review

@AlekseyTs AlekseyTs merged commit 53049be into dotnet:features/extensions Jun 3, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Feature - Extension Everything The extension everything feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants