-
Notifications
You must be signed in to change notification settings - Fork 803
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
Optimize attribute checking #16036
Optimize attribute checking #16036
Conversation
I also wonder whether |
@kerams, wondering if we could also optimize which lookup to try first, if the text already ends with Attribute, 99.99% of cases it would be better to try the one without appending it. I can only see weird stuff like |
That would give a different meaning to the program if you have |
@kerams, ok makes sense and it is a bit sad edge case :( I'm wondering if TcTypeMeasureApp is equivalent to your TcTypeApp? does it still type check measures annotated values passed to an attribute? open FSharp.Data.UnitSystems.SI.UnitNames
type AttAttribute(a: int<second>) =
inherit System.Attribute()
[<Att(1)>]
type Foo() =
member x.X = 1 |
This will have to wait unfortunately, net8 is now only open for fixes. |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
TcTypeAndRecover
would redoResolveTypeLongIdent
, so we bypass duplicate work and skip directly toTcTypeApp
. This has the additional benefit that we no longer capture 2Item.Types
name resolutions for each attribute (one withItemOccurence.UseInAttribute
and the otherItemOccurence.UseInType
) but only the first one.