Açık N/M modül görünürlüğü
Private bildirimleri yerel ve kararlı 0.1 bildirimlerini legacy-public tutarken public/private workspace export'larını uzlaştırın.
Açık N/M 0.2 modül görünürlüğü
NM-RFC-0001, kararlı 0.1 kaynağını değiştirmeden workspace modüllerine açık export sınırı kazandırır. Public/private bildirimleri yalnız bilinçli feature uzlaşmasından sonra kabul edilir.
Yerel erişilebilirlik
Private circuit, observable veya constant kendi modülü içinde kullanılabilir kalır. Yerel document symbol yüzeyi de yazara bu bildirimi göstermeyi sürdürür.
Workspace export filtreleme
Import edilen completion, workspace symbol, definition, signature help, reference, prepare-rename ve rename yalnız public ve legacy-unqualified bildirimleri sunar; private bildirimleri dışlar.
Kararlı-varsayılan uyumluluk
Niteliksiz 0.1 bildirimleri legacy-public kalır. Experimental flag yokken public/private syntax proje anlamını sessizce değiştirmek yerine kararlı bir tanıyla reddedilir.
Modül ve tüketici
1module phase_helpers;2 3private const HALF = PI / 2;4 5private circuit prepare_phase(data: QReg<1>) {6 Ry(data[0], HALF);7}8 9public circuit prepare_plus(data: QReg<1>) {10 H(data[0]);11}12 13// consumer.nm14use workspace.phase_helpers;15// prepare_plus(q) is exported; prepare_phase(q) is not.Açık uzlaşma
parseNMCode(source, { experimental: { moduleVisibility: true } })nm check main.nm --experimental-module-visibilityinitializationOptions.nm.experimental.moduleVisibility = truenm.experimental.moduleVisibility = trueSözleşme tanıları
NM-PARSE-051NM-PARSE-052Görünürlük bir dil namespace sınırıdır; erişim kontrolü değildir. Kaynağı okuyuculardan korumaz ve package publication, re-export, friend module veya source-version negotiation tanımlamaz.