puppetlabs/puppet · error · ArgumentError
TypeSet '#{@name}' references TypeSet '#{ref_na}/#{ref_name}
Error message
TypeSet '#{@name}' references TypeSet '#{ref_na}/#{ref_name}' more than once using overlapping version ranges What it means
Error "TypeSet '#{@name}' references TypeSet '#{ref_na}/#{ref_name}' more than once using overlapping version ranges" thrown in puppetlabs/puppet.
Source
Thrown at lib/puppet/pops/types/p_type_set_type.rb:150
if refs.nil?
@references = EMPTY_HASH
else
ref_map = {}
root_map = Hash.new { |h, k| h[k] = {} }
refs.each do |ref_alias, ref|
ref = TypeSetReference.new(self, ref)
# Protect against importing the exact same name_authority/name combination twice if the version ranges intersect
ref_name = ref.name
ref_na = ref.name_authority || @name_authority
na_roots = root_map[ref_na]
ranges = na_roots[ref_name]
if ranges.nil?
na_roots[ref_name] = [ref.version_range]
else
unless ranges.all? { |range| (range & ref.version_range).nil? }
raise ArgumentError, "TypeSet '#{@name}' references TypeSet '#{ref_na}/#{ref_name}' more than once using overlapping version ranges"
end
ranges << ref.version_range
end
if ref_map.has_key?(ref_alias)
raise ArgumentError, "TypeSet '#{@name}' references a TypeSet using alias '#{ref_alias}' more than once"
end
if @types.has_key?(ref_alias)
raise ArgumentError, "TypeSet '#{@name}' references a TypeSet using alias '#{ref_alias}'. The alias collides with the name of a declared type"
end
ref_map[ref_alias] = ref
@dc_to_cc_map[ref_alias.downcase] = ref_alias
ref_map[ref_alias] = ref
end
@references = ref_map.freezeView on GitHub (pinned to e227c27540)
When it happens
Trigger: Thrown at lib/puppet/pops/types/p_type_set_type.rb:150 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21).
Data as JSON: /api/errors/6b121cdce11de266.
Report an issue: GitHub.