Documentation
¶
Overview ¶
Package subsume defines various subsumption relations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var API = Profile{
IgnoreClosedness: true,
}
API is subsumption used for APIs.
View Source
var CUE = Profile{}
View Source
var Final = Profile{
Final: true,
Defaults: true,
}
Final checks subsumption interpreting the subsumed value as data.
View Source
var FinalOpen = Profile{
Final: true,
Defaults: true,
IgnoreClosedness: true,
}
FinalOpen exists as an artifact of the old API. One should probably not use this.
View Source
var Simplify = Profile{
LeftDefault: true,
}
Functions ¶
Types ¶
type Profile ¶
type Profile struct {
// Final indicates subsumption should only consider fields that are relevant
// to data mode, and ignore definitions, hidden fields, pattern constraints
// and additional constraints.
Final bool
// Defaults indicate that default values should be used for the subsumed
// value.
Defaults bool
// LeftDefaults indicates that the default value of the subsuming value
// needs to be taken. This is necessary for simplifications like trim
// and simplifying disjunctions.
LeftDefault bool
// Ignore optional fields.
IgnoreOptional bool
// IgnoreClosedness ignores closedness of structs and is used for comparing
// APIs.
IgnoreClosedness bool
}
Profile configures the type of subsumption. One should typically use one of the preconfigured profiles.
Click to show internal directories.
Click to hide internal directories.