intrinsics/gen/ignore/f414a6.wgsl:28:3 warning: use of deprecated intrinsic
  ignore(bool());
  ^^^^^^

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 30
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
               OpEntryPoint Fragment %fragment_main "fragment_main"
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %fragment_main OriginUpperLeft
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpName %value "value"
               OpName %vertex_point_size "vertex_point_size"
               OpName %ignore_f414a6 "ignore_f414a6"
               OpName %vertex_main_inner "vertex_main_inner"
               OpName %vertex_main "vertex_main"
               OpName %fragment_main "fragment_main"
               OpName %compute_main "compute_main"
               OpDecorate %value BuiltIn Position
               OpDecorate %vertex_point_size BuiltIn PointSize
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
          %5 = OpConstantNull %v4float
      %value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
          %8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
       %void = OpTypeVoid
          %9 = OpTypeFunction %void
       %bool = OpTypeBool
         %15 = OpConstantNull %bool
         %16 = OpTypeFunction %v4float
    %float_1 = OpConstant %float 1
%ignore_f414a6 = OpFunction %void None %9
         %12 = OpLabel
               OpReturn
               OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %16
         %18 = OpLabel
         %19 = OpFunctionCall %void %ignore_f414a6
               OpReturnValue %5
               OpFunctionEnd
%vertex_main = OpFunction %void None %9
         %21 = OpLabel
         %22 = OpFunctionCall %v4float %vertex_main_inner
               OpStore %value %22
               OpStore %vertex_point_size %float_1
               OpReturn
               OpFunctionEnd
%fragment_main = OpFunction %void None %9
         %25 = OpLabel
         %26 = OpFunctionCall %void %ignore_f414a6
               OpReturn
               OpFunctionEnd
%compute_main = OpFunction %void None %9
         %28 = OpLabel
         %29 = OpFunctionCall %void %ignore_f414a6
               OpReturn
               OpFunctionEnd
