Ana içeriğe geç
Dil v0.2.0 · Ön izleme

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.

NM-RFC-0001deneysel0.2.0-tooling-experimental
3
desteklenen bildirim türü: circuit, observable, const

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

module phase_helpers; private const HALF = PI / 2; private circuit prepare_phase(data: QReg<1>) {  Ry(data[0], HALF);} public circuit prepare_plus(data: QReg<1>) {  H(data[0]);} // consumer.nmuse workspace.phase_helpers;// 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 = true

Sözleşme tanıları

NM-PARSE-051NM-PARSE-052

Gö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.