-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Support extension operators in Linq Expression Trees #78942
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
Conversation
There was a problem hiding this 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)
{ | ||
// PROTOTYPE: Communicate to LDM | ||
// An expression tree factory isn't happy in this case. It throws | ||
// System.ArgumentException : The user-defined operator method 'op_BitwiseOr' for operator 'OrElse' must have associated boolean True and False operators. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it work if there were corresponding op_True
and op_False
operators also defined in the extension class? #Resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it work if there were corresponding
op_True
andop_False
operators also defined in the extension class?
We wouldn't get here if there were not.
} | ||
} | ||
|
||
// PROTOTYPE: Test unsafe and partial, IOperation/CFG , Linq expression tree, Nullable analysis | ||
// Assert result of operator for basic consumption scenarios | ||
// Cover ErrorCode.ERR_ExtensionDisallowsMember for conversion operators | ||
// Ref safety analysis? | ||
// "An extension operator may not have the same signature as a predefined operator." not yet implemented |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this prototype comment removed? #Resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this prototype comment removed?
LDM decided on Monday to drop this rule.
Relates to test plan #76130