Implement the metadata-only target-reference and F# signature importer
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- fsharp
- Ambito
- compilers
Direzione di ricerca
Inizia leggendo l’issue principale #8, i blocker #25 e #26, gli input decisionali #4, #5 e #17 e gli ADR 0002, 0009, 0010 e 0023. Il lavoro è completato quando un importer sicuro per NativeAOT e basato esclusivamente sui metadati soddisfa tutti i criteri di accettazione elencati, inclusi il decoding delle firme F#, diagnostica sicura, invalidazione basata sul contenuto, separazione da #17 e trimming e pubblicazione senza avvisi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: #8
Blocked by: #25 and #26
Outcome
Build the NativeAOT-safe target-reference universe used by name resolution and typing.
Acceptance criteria
- Public metadata APIs import assembly and module identity, nesting, type forwarders, types, members, accessibility, attributes, generics, constraints, and signatures.
- Independently authored decoding imports the F# semantic signature data required for cross-assembly F# consumption.
- The importer never loads or executes target assemblies and does not depend on runtime reflection types, the official compiler, or FSharp.Compiler.Service.
- Results depend on supplied reference content and options rather than the compiler host target framework; same-path content changes invalidate correctly.
- Malformed, missing, duplicate, or incompatible metadata fails safely with structured diagnostics.
- The production importer remains separate from #17's test-only metadata envelope inspector.
- Strict trimming and NativeAOT publication remain warning-free.
Decision inputs
Issues #4, #5, and #17; ADRs 0002, 0009, 0010, and 0023.
This issue inherits the corpus-neutral acceptance policy in #8.
- Lingua principale
- F#
- Stelle
- 0
- Fork
- 0
- Merge medio
- 3h 15m
- PR unite (30g)
- 1
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TheAngryByrd/fsharp2
-
wayfinder:task
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
TheAngryByrd/fsharp2#46 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
TheAngryByrd/fsharp2#44 · 1 commento ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
TheAngryByrd/fsharp2#42 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
TheAngryByrd/fsharp2#41 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
TheAngryByrd/fsharp2#40 ·
Tutte le issue di TheAngryByrd/fsharp2
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JakeChampion/lang#14091 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mattwparas/steel#727 ·
I maintainer di solito rispondono entro 1 giorno