1"use strict";(globalThis.webpackChunkdocs=globalThis.webpackChunkdocs||[]).push([[981],{44040(i,e,t){t.r(e),t.d(e,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>a});const s=JSON.parse('{"id":"libraries/standard_library/meta/item_visibility","title":"ItemVisibility","description":"Inspect item visibility at compile time and emit it as quoted syntax.","source":"@site/versioned_docs/version-v1.0.0-rc.1/libraries/standard_library/meta/item_visibility.md","sourceDirName":"libraries/standard_library/meta","slug":"/libraries/standard_library/meta/item_visibility","permalink":"/docs/v1.0.0-rc.1/libraries/standard_library/meta/item_visibility","draft":false,"unlisted":false,"editUrl":"https://github.com/noir-lang/noir/edit/master/docs/versioned_docs/version-v1.0.0-rc.1/libraries/standard_library/meta/item_visibility.md","tags":[],"version":"v1.0.0-rc.1","frontMatter":{"title":"ItemVisibility","description":"Inspect item visibility at compile time and emit it as quoted syntax."},"sidebar":"sidebar","previous":{"title":"FunctionDefinition","permalink":"/docs/v1.0.0-rc.1/libraries/standard_library/meta/function_def"},"next":{"title":"Location","permalink":"/docs/v1.0.0-rc.1/libraries/standard_library/meta/location"}}');var r=t(74848),n=t(28453);const l={title:"ItemVisibility",description:"Inspect item visibility at compile time and emit it as quoted syntax."},c=void 0,o={},a=[{value:"Methods",id:"methods",level:2},{value:"is_private",id:"is_private",level:3},{value:"is_public",id:"is_public",level:3},{value:"is_public_crate",id:"is_public_crate",level:3},{value:"as_quoted",id:"as_quoted",level:3}];function d(i){const e={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",sub:"sub",sup:"sup",...(0,n.R)(),...i.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(e.p,{children:[(0,r.jsx)(e.code,{children:"std::meta::item_visibility"})," contains the ",(0,r.jsx)(e.code,{children:"ItemVisibility"})," type, which represents whether an\nitem is private, public within its crate, or public outside its crate."]}),"\n",(0,r.jsx)(e.h2,{id:"methods",children:"Methods"}),"\n",(0,r.jsx)(e.h3,{id:"is_private",children:"is_private"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-rust",metastring:'title="is_private" showLineNumbers ',children:"pub comptime fn is_private(self) -> bool {\n"})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.sup,{children:(0,r.jsx)(e.sub,{children:(0,r.jsx)(e.a,{href:"https://github.com/noir-lang/noir/blob/master/noir_stdlib/src/meta/item_visibility.nr#L12-L14",target:"_blank",rel:"noopener noreferrer",children:"Source code: noir_stdlib/src/meta/item_visibility.nr#L12-L14"})})})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Returns ",(0,r.jsx)(e.code,{children:"true"})," if the item is private."]}),"\n",(0,r.jsx)(e.h3,{id:"is_public",children:"is_public"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-rust",metastring:'title="is_public" showLineNumbers ',children:"pub comptime fn is_public(self) -> bool {\n"})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.sup,{children:(0,r.jsx)(e.sub,{children:(0,r.jsx)(e.a,{href:"https://github.com/noir-lang/noir/blob/master/noir_stdlib/src/meta/item_visibility.nr#L19-L21",target:"_blank",rel:"noopener noreferrer",children:"Source code: noir_stdlib/src/meta/item_visibility.nr#L19-L21"})})})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Returns ",(0,r.jsx)(e.code,{children:"true"})," if the item is public outside its crate."]}),"\n",(0,r.jsx)(e.h3,{id:"is_public_crate",children:"is_public_crate"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-rust",metastring:'title="is_public_crate" showLineNumbers ',children:"pub comptime fn is_public_crate(self) -> bool {\n"})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.sup,{children:(0,r.jsx)(e.sub,{children:(0,r.jsx)(e.a,{href:"https://github.com/noir-lang/noir/blob/master/noir_stdlib/src/meta/item_visibility.nr#L26-L28",target:"_blank",rel:"noopener noreferrer",children:"Source code: noir_stdlib/src/meta/item_visibility.nr#L26-L28"})})})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Returns ",(0,r.jsx)(e.code,{children:"true"})," if the item is public only within its crate (",(0,r.jsx)(e.code,{children:"pub(crate)"}),")."]}),"\n",(0,r.jsx)(e.h3,{id:"as_quoted",children:"as_quoted"}),"\n",(0,r.jsx)(e.pre,{children:(0,r.jsx)(e.code,{className:"language-rust",metastring:'title="as_quoted" showLineNumbers ',children:"pub comptime fn as_quoted(self) -> Quoted {\n"})}),"\n",(0,r.jsxs)(e.blockquote,{children:["\n",(0,r.jsx)(e.p,{children:(0,r.jsx)(e.sup,{children:(0,r.jsx)(e.sub,{children:(0,r.jsx)(e.a,{href:"https://github.com/noir-lang/noir/blob/master/noir_stdlib/src/meta/item_visibility.nr#L33-L35",target:"_blank",rel:"noopener noreferrer",children:"Source code: noir_stdlib/src/meta/item_visibility.nr#L33-L35"})})})}),"\n"]}),"\n",(0,r.jsxs)(e.p,{children:["Returns the visibility as a ",(0,r.jsx)(e.code,{children:"Quoted"})," value for use in generated code. The result is ",(0,r.jsx)(e.code,{children:"quote {}"}),"\nfor private visibility, ",(0,r.jsx)(e.code,{children:"quote { pub(crate) }"})," for crate visibility, or ",(0,r.jsx)(e.code,{children:"quote { pub }"})," for\npublic visibility."]})]})}function u(i={}){const{wrapper:e}={...(0,n.R)(),...i.components};return e?(0,r.jsx)(e,{...i,children:(0,r.jsx)(d,{...i})}):d(i)}},28453(i,e,t){t.d(e,{R:()=>l,x:()=>c});var s=t(96540);const r={},n=s.createContext(r);function l(i){const e=s.useContext(n);return s.useMemo(function(){return"function"==typeof i?i(e):{...e,...i}},[e,i])}function c(i){let e;return e=i.disableParentContext?"function"==typeof i.components?i.components(r):i.components||r:l(i.components),s.createElement(n.Provider,{value:e},i.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.